You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If the user wants to do a shallow-clone, it's likely they also want to apply a --filter to it. Git allows clones to be shallow and partial at the same time. I have some experience with such repos, everything is fine so far!
Before computing the blame of a file in a blobless-clone, use backfill to fetch faster (typically, this is not necessary for shallow+partial). I guess Git doesn't do this by default because backfill is experimental (according to the manpage)
If the user wants a --sparse checkout at clone-time, it's 99% likely they also want to apply a filter and run git config set merge.stat false. This ensures that git pull (which has --stat by default) doesn't fetch extra blobs to compute the summarized diff. Disabled stat is useless for non-sparse, because git will compute the diff anyways.
Note
disclaimer: I've only searched the codebase, I haven't actually used this software (yet)
I assume there's no feature for doing a partial or shallow
clone, but if such feature were to be added, I have tips to share:--filterto it. Git allows clones to be shallow and partial at the same time. I have some experience with such repos, everything is fine so far!blameof a file in a blobless-clone, usebackfillto fetch faster (typically, this is not necessary for shallow+partial). I guess Git doesn't do this by default becausebackfillis experimental (according to the manpage)--reapply-cherry-picksto avoid potential "infinite" loops when the branches differ too much--sparsecheckout atclone-time, it's 99% likely they also want to apply a filter and rungit config set merge.stat false. This ensures thatgit pull(which has--statby default) doesn'tfetchextra blobs to compute the summarizeddiff. Disabledstatis useless for non-sparse, because git will compute the diff anyways.More info here