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

Re: What's cooking in git.git (May 2025, #07; Fri, 23)

From
Justin Tobler <jltobler@gmail.com>
Date
May 27, 2025, 19:45 UTC
Message-ID
<shpx4piigp5sqgpbzx4vdgu4zdn7z3ykxhu2cdyjh5vpr6zbqb@rf2sxg6hukpd>
In-Reply-To
<xmqqtt56ov4k.fsf@gitster.g>
On 25/05/27 09:50AM, Junio C Hamano wrote:
Show 17 quoted lines
> Patrick Steinhardt <ps@pks.im> writes:
> > I think the only outstanding discussion is whether to name things
> > `odb_alternate` or `odb_source` [1]. In case others agree that
> > `odb_source` is a better name I'm happy to revise, but if not I'd rather
> > keep it as-is.
> 
> The model in which the term "alternates" was born is "A repository
> has its own object directory, the primary one, and in addition it
> can borrow from zero or more alternate object directories that are
> used by other repositories".  The presence of the primary makes the
> word "alternate" meaningful.
> 
> Is the model now "A repository has one object store, which consists
> of one or more X, all of which are equals"?  If there is no primary
> that is more special than others, then calling X an "alternate" may
> indeed sound funny, although (1) I do not find it terribly confusing
> and (2) I do not find "source" much better, either.

My understanding is that the object store still has a primary X and zero or more alternative X. The idea is that eventually, with pluggable ODBs, X can be a different backend/provider instead of just being "files". If this is the case, calling X an "alternate" would mean we have a primary "alternate" and potentially a set of "alternate" alternates.

This sounds a bit odd and doesn't quite match what I would intuitively expect. But, I also don't find it super confusing either.

Show 5 quoted lines
> The names we use to call the collection and the underlying
> implementations of the collection in the reference world
> unfortunately does not quite help to guide us, as we do not take two
> implementations and compose into one unified view, which is what we
> are doing in the object store.  Hmmm...

Similar to references, I still think of a pluggable ODB as a "backend". The main difference being that with references there is only a single backend active ("file" or "reftables") at a time, while for the object store there could be multiple.

-Justin
> We call pathspec elements given on the command line collectively a
> pathspec.  "Object store elements like loose object directories and
> packfiles form the object store"?  That may be a mouthful.  I dunno.
Previous: Junio C HamanoNext: Patrick Steinhardt
Message 4 of 7 in “What's cooking in git.git (May 2025, #07; Fri, 23)”
  1. Junio C HamanoMay 24, 2025
  2. Patrick SteinhardtMay 27, 2025
  3. Junio C HamanoMay 27, 2025
  4. Justin ToblerMay 27, 2025
  5. Patrick SteinhardtMay 30, 2025
  6. Junio C HamanoMay 30, 2025
  7. Patrick SteinhardtJun 2, 2025

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.