On Fri, Dec 7, 2018 at 6:14 PM Josh Wolfe <josh@xxxxxxxxxxx> wrote: > > git version 2.19.1 > steps to reproduce: > > # start in a brand new repo > git init > > # create lots of unreachable loose objects > for i in {1..10000}; do git commit-tree -m "$(head -c 12 /dev/urandom > | base64)" "$(git mktree <&-)" <&-; done > # this prints a lot of output and takes a minute or so to run > > # trigger git gc to run in the background > git fetch > # Auto packing the repository in background for optimum performance. > # See "git help gc" for manual housekeeping. > > # trigger it again > git fetch > # Auto packing the repository in background for optimum performance. > # See "git help gc" for manual housekeeping. > # error: The last gc run reported the following. Please correct the root cause > # and remove .git/gc.log. > # Automatic cleanup will not be performed until the file is removed. > # > # warning: There are too many unreachable loose objects; run 'git > prune' to remove them. > > # to manually fix this, run git prune: > git prune > > # note that `git gc` does not fix the problem, and appears to do > nothing in this situation: > git gc > > > According to the `git fetch` output, the `git help gc` docs, and the > `git help prune` docs, I don't think I shouldn't ever have to run `git > prune` manually, so this behavior seems like a bug to me. Please > correct me if this is expected behavior. Known bug, there are a variety of other ways to trigger it too. See the threads here for more info: https://public-inbox.org/git/87inc89j38.fsf@xxxxxxxxxxxxxxxxxxx/ https://public-inbox.org/git/20180716172717.237373-1-jonathantanmy@xxxxxxxxxx/ There are probably other threads as well.