On Mon, Nov 13, 2017 at 2:03 PM, Luke Diamand <luke@xxxxxxxxxxx> wrote: > On 13 November 2017 at 19:51, Luke Diamand <luke@xxxxxxxxxxx> wrote: >> Hi! >> >> I think there may be a regression caused by this change which means >> that "git fetch origin" doesn't work: >> >> commit d0c39a49ccb5dfe7feba4325c3374d99ab123c59 (refs/bisect/bad) >> Author: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> >> Date: Wed Aug 23 19:36:59 2017 +0700 >> >> revision.c: --all adds HEAD from all worktrees >> >> $ git fetch origin >> fatal: bad object HEAD >> error: ssh://my_remote_host/reponame did not send all necessary objects >> >> I used git bisect to find the problem, and it seems pretty consistent. >> "git fetch" with the previous revision works fine. >> >> FWIW, I've got a lot of git worktrees associated with this repo, so >> that may be why it's failing. The remote repo is actually a git-p4 >> clone, so HEAD there actually ends up pointing at >> refs/remote/p4/master. >> >> Thanks, >> Luke > > Quite a few of the worktrees have expired - their head revision has > been GC'd and no longer points to anything sensible > (gc.worktreePruneExpire). The function other_head_refs() in worktree.c > bails out if there's an error, which I think is the problem. I wonder > if it should instead just report something and then keep going. Also see https://public-inbox.org/git/CAGZ79kYP0z1G_H3nwfmSHraWHMBOcik5LepUXKj0nveeBrihiw@xxxxxxxxxxxxxx/