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

Re: gc and repack ignore .git/*HEAD when checking reachability

From
Jeff King <peff@peff.net>
Date
Jul 12, 2016, 15:51 UTC
Message-ID
<20160712155141.GA5967@sigill.intra.peff.net>
In-Reply-To
<CACsJy8C+NEP1HJq8w1frOy=UOv5-SA+b7MkbX8DE_vU-zjX0XQ@mail.gmail.com>
On Tue, Jul 12, 2016 at 05:46:12PM +0200, Duy Nguyen wrote:
Show 7 quoted lines
> I'm not opposed to letting one worktree see everything, but this move
> makes it harder to write new scripts (or new builtin commands, even)
> that works with both single and multiple worktrees because you refer
> to one ref (in current worktree perspective) differently. If we kill
> of the main worktree (i.e. git init always creates a linked worktree)
> then it's less of a problem, but still a nuisance to write
> refs/worktree/$CURRENT/<something> everywhere.

True. I gave a suggestion for the reading side, but the writing side would still remain tedious.

I wonder if, in a worktree, we could simply convert requests to read or write names that do not begin with "refs/" as "refs/worktree/$CURRENT/"? That makes it a read/write-time alias conversion, but the actual storage is just vanilla (so the ref storage doesn't need to care, and reachability just works).

The trickiest thing, I think, is FETCH_HEAD, which is not really a ref (because it may have a bunch of values, and contain extra information).

-Peff
Previous: Duy NguyenNext: Duy Nguyen
Message 22 of 27 in “gc and repack ignore .git/*HEAD when checking reachability”
  1. Josh TriplettJul 8, 2016
  2. Junio C HamanoJul 8, 2016
  3. Josh TriplettJul 8, 2016
  4. Junio C HamanoJul 8, 2016
  5. Theodore Ts'oJul 8, 2016
  6. Junio C HamanoJul 8, 2016
  7. Theodore Ts'oJul 8, 2016
  8. Josh TriplettJul 9, 2016
  9. Josh TriplettJul 8, 2016
  10. Johannes SchindelinJul 9, 2016
  11. Josh TriplettJul 9, 2016
  12. Duy NguyenJul 9, 2016
  13. Johannes SchindelinJul 10, 2016
  14. Duy NguyenJul 10, 2016
  15. Johannes SchindelinJul 10, 2016
  16. Duy NguyenJul 10, 2016
  17. Johannes SchindelinJul 11, 2016
  18. Junio C HamanoJul 11, 2016
  19. Johannes SchindelinJul 12, 2016
  20. Jeff KingJul 12, 2016
  21. Duy NguyenJul 12, 2016
  22. Jeff KingJul 12, 2016
  23. Duy NguyenJul 12, 2016
  24. Johannes SchindelinJul 13, 2016
  25. Duy NguyenJul 13, 2016
  26. Johannes SchindelinJul 13, 2016
  27. Duy NguyenJul 15, 2016

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.