{"thread":{"id":"48034","subject":"Re: Bug in \"revision.c: --all adds HEAD from all worktrees\" ?","startedAt":"2018-03-13T18:23:18Z","lastAt":"2018-03-13T20:29:21Z","messageCount":2,"participants":["Stan Hu","Ævar Arnfjörð Bjarmason"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"341562","messageId":"C62FA8BB-FDCA-4BD0-A029-74C7AB89441F@gmail.com","threadId":"48034","inReplyTo":null,"subject":"Re: Bug in \"revision.c: --all adds HEAD from all worktrees\" ?","fromName":"Stan Hu","fromEmail":"stanhu@gmail.com","sentAt":"2018-03-13T18:23:08Z","receivedAt":"2018-03-13T18:23:18Z","isPatch":false,"sender":{"key":"stanhu@gmail.com","avatar":"https://avatars.githubusercontent.com/u/963826?v=4"},"body":"To be clear, this is how I think we got into this state:\n\nWe have worktrees that are created to squash and rebase a branch. They were left around inadvertently for one reason or another.\n\nSince we were using git v2.14.3, a git gc would prune dangling objects because it never saw that a worktree still had a reference to it. Now, in git v2.15+, worktrees are examined, and a git gc won't garbage collect any objects referenced by a worktree.\n\nAnother words, the failure of git v2.14 to preserve these objects caused problems with these stale worktrees with the upgrade to v2.15+.\n\n"},{"id":"341581","messageId":"874lljg1ns.fsf@evledraar.gmail.com","threadId":"48034","inReplyTo":"C62FA8BB-FDCA-4BD0-A029-74C7AB89441F@gmail.com","subject":"Re: Bug in \"revision.c: --all adds HEAD from all worktrees\" ?","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2018-03-13T20:29:11Z","receivedAt":"2018-03-13T20:29:21Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Tue, Mar 13 2018, Stan Hu jotted:\n\n> To be clear, this is how I think we got into this state:\n>\n> We have worktrees that are created to squash and rebase a branch. They were left around inadvertently for one reason or another.\n>\n> Since we were using git v2.14.3, a git gc would prune dangling objects because it never saw that a worktree still had a reference to it. Now, in git v2.15+, worktrees are examined, and a git gc won't garbage collect any objects referenced by a worktree.\n>\n> Another words, the failure of git v2.14 to preserve these objects caused problems with these stale worktrees with the upgrade to v2.15+.\n\nThanks, I hadn't dug into the root cause. Good to know it's not some\nfailure mode we're still producing, just the result of past bugs.\n"}]}