fix: Refactor cloning and caching workflow #71
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
--bare
to keep just the repo objects in cache, rather than an unused copy of the working tree. This can yield a significant space savings in repositories with large numbers of files--filter=blob:none
. This will skip downloading any objects from the repository in the initial copy of the clone, and only populate the repository metadata; subsequent operations will automatically download the required objects (and ONLY the required objects) from origin as needed. This yields a massive space/performance boost.git worktree
subcommand to populatedstDir
targets rather thangit checkout-index
. This subcommand is designed for using a single repository as a source for multiple copies of the working tree, so it is a much better fit for what Gilt is trying to do.CloneByTag
,Reset
, andCheckoutIndex
workflows.With this change, the
tag:
andsha:
directives inGiltfile.yaml
become 100% equivalent, with no difference in handling required.Fixes: Issue #70