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

Re: [PATCH v4 02/17] object-store: rename `object_directory` to `odb_source`

From
Patrick Steinhardt <ps@pks.im>
Date
Jun 4, 2025, 13:55 UTC
Message-ID
<aEBQbWre85PSrWqt@pks.im>
In-Reply-To
<875xhb3ahw.fsf@iotcl.com>
On Wed, Jun 04, 2025 at 03:24:43PM +0200, Toon Claes wrote:
Show 44 quoted lines
> Patrick Steinhardt <ps@pks.im> writes:
> 
> > The `object_directory` structure is used as an access point for a single
> > object directory like ".git/objects". While the structure isn't yet
> > fully self-contained, the intent is for it to eventually contain all
> > information required to access objects in one specific location.
> >
> > While the name "object directory" is a good fit for now, this will
> > change over time as we continue with the agenda to make pluggable object
> > databases a thing. Eventually, objects may not be accessed via any kind
> > of directory at all anymore, but they could instead be backed by any
> > kind of durable storage mechanism. While it seems quite far-fetched for
> > now, it is thinkable that eventually this might even be some form of a
> > database, for example.
> >
> > As such, the current name of this structure will become worse over time
> > as we evolve into the direction of pluggable ODBs. Immediate next steps
> > will start to carve out proper self-contained object directories, which
> > requires us to pass in these object directories as parameters. Based on
> > our modern naming schema this means that those functions should then be
> > named after their subsystem, which means that we would start to bake the
> > current name into the codebase more and more.
> >
> > Let's preempt this by renaming the structure. There have been a couple
> > alternatives that were discussed:
> >
> >   - `odb_backend` was discarded because it led to the association that
> >     one object database has a single backend, but the model is that one
> >     alternate has one backend. Furthermore, "backend" is more about the
> >     actual backing implementation and less about the high-level concept.
> >
> >   - `odb_alternate` was discarded because it is a bit of a stretch to
> >     also call the main object directory an "alternate".
> >
> > Instead, pick `odb_source` as the new name. It makes it sufficiently
> > clear that there can be multiple sources and does not cause confusion
> > when mixed with the already-existing "alternate" terminology.
> >
> > In the future, this change allows us to easily introduce for example a
> > `odb_files_source` and other format-specific implementations.
> 
> Sorry for being pedantic (but I guess this series is all about naming
> anyway, so better get it right), but wouldn't this be
> `odb_files_backend`?

Maybe, maybe not. In any case, we can still decide that at a later point in time -- it's only part of the commit message, so this part is not set in stone and can be discussed once we introduce such backends.

Patrick
Previous: Toon ClaesNext: Patrick Steinhardt
Message 8 of 23 in “object-store: carve out the object database subsystem”
  1. 00/17 object-store: carve out the object database subsystemPatrick Steinhardt, Jun 2, 2025
  2. 01/17 object-store: rename `raw_object_store` to `object_database`Patrick Steinhardt, Jun 2, 2025
  3. Toon ClaesJun 4, 2025
  4. Patrick SteinhardtJun 4, 2025
  5. 03/17 object-store: rename files to "odb.{c,h}"Patrick Steinhardt, Jun 2, 2025
  6. 02/17 object-store: rename `object_directory` to `odb_source`Patrick Steinhardt, Jun 2, 2025
  7. Toon ClaesJun 4, 2025
  8. Patrick SteinhardtJun 4, 2025
  9. 04/17 odb: introduce parent pointersPatrick Steinhardt, Jun 2, 2025
  10. 05/17 odb: get rid of `the_repository` in `find_odb()`Patrick Steinhardt, Jun 2, 2025
  11. 07/17 odb: get rid of `the_repository` in `odb_mkstemp()`Patrick Steinhardt, Jun 2, 2025
  12. 06/17 odb: get rid of `the_repository` in `assert_oid_type()`Patrick Steinhardt, Jun 2, 2025
  13. 09/17 odb: get rid of `the_repository` in `for_each()` functionsPatrick Steinhardt, Jun 2, 2025
  14. 08/17 odb: get rid of `the_repository` when handling alternatesPatrick Steinhardt, Jun 2, 2025
  15. 11/17 odb: get rid of `the_repository` when handling submodule sourcesPatrick Steinhardt, Jun 2, 2025
  16. 10/17 odb: get rid of `the_repository` when handling the primary sourcePatrick Steinhardt, Jun 2, 2025
  17. 12/17 odb: trivial refactorings to get rid of `the_repository`Patrick Steinhardt, Jun 2, 2025
  18. 13/17 odb: rename `oid_object_info()`Patrick Steinhardt, Jun 2, 2025
  19. 15/17 odb: rename `has_object()`Patrick Steinhardt, Jun 2, 2025
  20. 14/17 odb: rename `repo_read_object_file()`Patrick Steinhardt, Jun 2, 2025
  21. 17/17 odb: rename `read_object_with_reference()`Patrick Steinhardt, Jun 2, 2025
  22. 16/17 odb: rename `pretend_object_file()`Patrick Steinhardt, Jun 2, 2025
  23. Junio C HamanoJun 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.