Re: [PATCH v3 02/17] object-store: rename `object_directory` to `odb_alternate`
- From
Justin Tobler <jltobler@gmail.com>
- Date
- May 22, 2025, 22:13 UTC
- Message-ID
- <tjsbotrnrffykmi3letktpb3bly4nqw4wxzyrszgbln7pznem4@3kwiq4zvaebw>
- In-Reply-To
- <20250514-pks-object-store-wo-the-repository-v3-2-47df1d4ead22@pks.im>
On 25/05/14 07:12AM, Patrick Steinhardt wrote:
Show 27 quoted lines
> 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 to `odb_alternate` now > already. This name is agnostic of how exactly objects are stored while > still specifically pinpointing that this is about an alternate object > database. Furthermore, it is already used in Git to represent this > context -- the only stretch is that the primary object directory is now > the primary alternate.
I know the naming here has been discussed in other threads, but `odb_alternate` doesn't feel quite right to me. When I think of an object database alternate, I think of the additional object sources that may be configured for a repository.
From my understanding, the `odb_alternate` here applies to any object source, even the main one. Using "alternate" makes me think there is another object database somewhere which may be confusing in scenarios where there would only be one.
Ultimately I don't want to bikeshed too much on names, but wanted to voice my thoughts. As an alternative to "alternate", maybe we could do `object_source`? :)
> In the future, this change allows us to easily introduce for example a > `odb_files_alternate` and other format-specific implementations.
I look forward to seeing this. The patch itself looks good.
-Justin