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

Re: Storing refs in the odb

From
Junio C Hamano <gitster@pobox.com>
Date
May 20, 2013, 17:21 UTC
Message-ID
<7vbo85wos9.fsf@alter.siamese.dyndns.org>
In-Reply-To
<CALKQrgcBkdoJdJGam=VkE=nXHQ8WB5judY3C3nNQBJCns-_f+A@mail.gmail.com>
Johan Herland <johan@herland.net> writes:
Show 10 quoted lines
>> Of course in either case we couldn't use a tree object directly, because
>> these new "reference tree" objects would refer not only to blobs and
>> other trees but also to commits and tags.
>
> Indeed. I don't know if the best solution would be to actually _allow_
> that (which would complicate the object parsing code somewhat; a tree
> entry pointing to a commit is usually interpreted as a submodule, but
> that is not what we'd want for the ref tree, and a tree entry pointing
> at a tag has AFAIK not yet been done), or whether it means we need to
> come up with a different kind of structure.

You can disallow that only by giving up on being able to express Linus's kernel repository, which has an oddball v2.6.11-tree tag.

I do not think that that particular tag in the particular repository is too big a show-stopper; if it is only Linus, we can ask him to drop that tag (he has v2.6.11 tag object that points at the tree, so the users do not lose anything) and be done with it.

But if there are other repositories that tag trees in a similar way, that would be a real regression. We cannot just go ask people to change their workflow that depended on using refs that directly point at trees overnight.

Previous: Johan HerlandNext: Johan Herland
Message 2 of 5 in “Storing refs in the odb (was: Re: [PATCH 00/17] Remove assumptions about refname lifetimes)”
  1. Johan HerlandMay 20, 2013
  2. Junio C HamanoMay 20, 2013
  3. Johan HerlandMay 20, 2013
  4. Junio C HamanoMay 20, 2013
  5. Johan HerlandMay 20, 2013

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.