git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 0/3] fsck index files from all worktrees

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 24, 2023, 17:30 UTC
Message-ID
<xmqqr0uf0y4b.fsf@gitster.g>
In-Reply-To
<Y/hv0MXAyBY3HEo9@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 9 quoted lines
> We do fsck the resolve-undo extension, but I think fsck just doesn't
> know anything about worktrees. That should be easy enough to fix.
> Patches below.
> ...
> Thanks, it was nice to have a test case. I ended up writing a separate
> test with a missing blob, just because that's simpler to do. It looks
> like we don't test fsck_resolve_undo() or fsck_cache_tree() at all. That
> might be a nice addition, but I punted for now to stay focused on the
> worktree aspects.

So we had a separate worktree with its index pointing at an object by its resolve-undo (or cache-tree) extension, but somehow lost that object to gc (I agree with your assessment that it should no longer happen since 2017). gc these days knows about looking at the index of all worktrees, finds the issue, and stops for safety. fsck that is run in the primary worktree may not have noticed but fsck run from that worktree would notice the issue.

Sounds like a frustrating one.  
Thanks, both, for finding and fixing.
Previous: Jeff KingNext: Jeff King
Message 15 of 19 in “Bug: fsck and repack don't agree when a worktree index extension is "broken"”
  1. Johannes SixtFeb 18, 2023
  2. 0/3 fsck index files from all worktreesJeff King, Feb 24, 2023
  3. 1/3 fsck: factor out index fsckJeff King, Feb 24, 2023
  4. 2/3 fsck: check index files in all worktreesJeff King, Feb 24, 2023
  5. Jeff KingFeb 24, 2023
  6. 3/3 fsck: mention file path for index errorsJeff King, Feb 24, 2023
  7. Eric SunshineMay 11, 2023
  8. Jeff KingMay 11, 2023
  9. Eric SunshineMay 11, 2023
  10. Jeff KingMay 11, 2023
  11. Eric SunshineJun 29, 2023
  12. Junio C HamanoJun 29, 2023
  13. Andreas SchwabJun 1, 2023
  14. Jeff KingJun 1, 2023
  15. Junio C HamanoFeb 24, 2023
  16. 4/3 fsck: check even zero-entry index filesJeff King, Feb 26, 2023
  17. Derrick StoleeFeb 27, 2023
  18. Junio C HamanoFeb 27, 2023
  19. Johannes SixtFeb 26, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.