Git rev-list cannot find commit -
when run:
git verify-pack -v .git\objects\pack\pack-*.idx
one of lines in output contains:
651302358b781ab60f364416272e1c35107c974f blob 23980089 23987383 699599322
but if try lookup blob with:
git rev-list --all --objects | grep 651302358b781ab60f364416272e1c35107c974f
or:
git rev-list --all --reflog --objects | grep 651302358b781ab60f364416272e1c35107c974f
i empty result. should not able blobs returned verify-pack
?
based on below have tried to: create fresh clone, run git repack
run git gc
same result.
the object may abandoned, i.e., last reference(s), whatever were, gone. because object in pack file, however, cannot removed. git must build entirely new pack.
if use git repack
build new pack files, unreferenced objects omitted new packs. (note git gc
automatically. however, .keep
files may keep old packs around, if have created .keep
files.)
edit: jthill points out in comment, must repack -a
or -a
consolidate older packs. while automatic git gc
supply -a
in cases, it's only when number of pack files exceeds gc.autopacklimit
, defaults 50.
Comments
Post a Comment