Subject: Re: `git gc` says "unable to read" but `git fsck` happy

From: Andreas Schwab <[email-masked]>
Date: Thu, 01 Jun 2023 14:04:45 +0200

On Mär 30 2023, Jeff King wrote:

> On Thu, Mar 30, 2023 at 09:01:39AM -0400, Stefan Monnier wrote:
>
>> > If it is the same problem (which would be a blob or maybe cached tree
>> > missing in one of the worktree's index files), then probably you'd
>> > either:
>> >
>> >   1. Accept the loss and blow away that worktree's index file (or
>> >      perhaps even the whole worktree, and just recreate it).
>> 
>> Hmm... the problem is "that": I have about a hundred worktrees for
>> this repository.
>> But yes, I can just throw away all those `index` files, I guess.
>
> If you try "git fsck" from the tip of master, it should identify the
> worktree index that is the source of the problem, I think. You might
> need to pass "--name-objects".

I had the same problem, and after Junio refreshed my memory by pointing
me to this thread, I updated to the brand new git 2.41 and re-ran git
fsck.  That duely identified problems in two of the worktree indexes
(invalid sha1 pointer in resolve-undo).  After recreating those indexes
there were no more complaints from git gc.

-- 
Andreas Schwab, SUSE Labs, [email-masked]
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."