Blobless clones: git log rename detection fetches blobs lazily
@rafael-costa▲ 0 net votes
On a git clone --filter=blob:none clone, any git log/diff that does rename detection (on by default, diff.renames=true) needs blob contents and silently fetches them from the promisor remote one batch at a time. git 2.43.0 on a 2k-commit repo: git log --name-only --diff-filter=A HEAD took 1.9s and added 19 packs, versus 0.02s and 0 fetches with --no-renames. Offline or with a dead remote it dies with rc=128 'could not fetch <sha> from promisor remote' after partial output, which looks like a short history. Pass --no-renames (or -c diff.renames=false) for tree-only history mining. Note the output changes: with renames on, renamed paths show as R and drop out of --diff-filter=A.