From: Patrick Steinhardt <ps@pks.im>
To: Toon Claes <toon@iotcl.com>
Cc: git@vger.kernel.org, Derrick Stolee <stolee@gmail.com>,
Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH v2 02/17] object-store: rename `object_directory` to `odb_alternate`
Date: Wed, 14 May 2025 06:31:48 +0200 [thread overview]
Message-ID: <aCQctNv5IkVJAfQL@pks.im> (raw)
In-Reply-To: <87bjrwjoov.fsf@iotcl.com>
On Tue, May 13, 2025 at 09:28:00PM +0200, Toon Claes wrote:
> Patrick Steinhardt <ps@pks.im> writes:
> > diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
> > index 53da2116ddf..cd7db11d825 100644
> > --- a/builtin/submodule--helper.c
> > +++ b/builtin/submodule--helper.c
> > @@ -1591,12 +1591,12 @@ static int add_possible_reference_from_superproject(
> > * If the alternate object store is another repository, try the
>
> This comment reads weirdly if an "alternate" is a location where objects
> are stored. Maybe say something like:
>
> * It the alternate resides in another repository, try the
Fair, but I'd prefer to not adapt too many of the surroundings yet.
Otherwise I fear that it'll open a can of worms that we can otherwise
address over time.
> > diff --git a/object-file.h b/object-file.h
> > index a85b2e5b494..f1601200938 100644
> > --- a/object-file.h
> > +++ b/object-file.h
> > @@ -24,23 +24,23 @@ enum {
> > int index_fd(struct index_state *istate, struct object_id *oid, int fd, struct stat *st, enum object_type type, const char *path, unsigned flags);
> > int index_path(struct index_state *istate, struct object_id *oid, const char *path, struct stat *st, unsigned flags);
> >
> > -struct object_directory;
> > +struct odb_alternate;
> >
> > /*
> > * Populate and return the loose object cache array corresponding to the
> > * given object ID.
> > */
> > -struct oidtree *odb_loose_cache(struct object_directory *odb,
> > +struct oidtree *odb_loose_cache(struct odb_alternate *alternate,
> > const struct object_id *oid);
> >
> > /* Empty the loose object cache for the specified object directory. */
>
> Also here s/directory/alternate/ ? Or database?
This one remains valid even with the new terminology. The loose cache is
specific to loose object files, which does have an associated object
directory. Refactoring loose objects to become a bit more self-contained
will be one of the next steps after these refactoring land.
> > -void odb_clear_loose_cache(struct object_directory *odb);
> > +void odb_clear_loose_cache(struct odb_alternate *alternate);
> >
> > /*
> > * Put in `buf` the name of the file in the local object database that
> > * would be used to store a loose object with the specified oid.
> > */
>
> Not sure if we should use "alternate" here?
Probably rather "loose object directory", as it is again specific to
loose objects.
> > diff --git a/object-store.h b/object-store.h
> > index 34b8efbbb83..2dda6e85388 100644
> > --- a/object-store.h
> > +++ b/object-store.h
> > @@ -12,8 +12,11 @@ struct oidtree;
> > struct strbuf;
> > struct repository;
> >
> > -struct object_directory {
> > - struct object_directory *next;
> > +/*
> > + * An alternate part of an object database that stores the actual objects.
>
> I'm having a hard time trying to understand what you're saying here.
> What do you think about:
>
> * The alternate is the part of the object database that stores the actual objects.
That reads better. I'll extend this even further to give a bit more
context around primary alternates.
> > @@ -97,16 +100,16 @@ struct object_database {
> > * cannot be NULL after initialization). Subsequent directories are
> > * alternates.
> > */
>
> The full original comment can use some love too:
>
> *
> * Set of all object directories; the main directory is first (and
> * cannot be NULL after initialization). Subsequent directories are
> * alternates.
> */
>
> How about:
>
> *
> * Set of all alternates, storing the actual objects.
> * The primary alternate is first (and cannot be NULL after
> * & initialization). More alternates are optional.
> */
Same here, I'd rather not touch this comment for now. We'd only catch a
small subset of outdated comments anyway, so I'd rather focus on the
required changes given that this patch is already quite large.
Patrick
next prev parent reply other threads:[~2025-05-14 4:31 UTC|newest]
Thread overview: 166+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-06 11:09 [PATCH 00/17] object-store: carve out the object database subsystem Patrick Steinhardt
2025-05-06 11:09 ` [PATCH 01/17] object-store: rename `raw_object_store` to `object_database` Patrick Steinhardt
2025-05-07 0:47 ` Derrick Stolee
2025-05-07 15:27 ` Junio C Hamano
2025-05-06 11:09 ` [PATCH 02/17] object-store: rename `object_directory` to `odb_backend` Patrick Steinhardt
2025-05-07 0:51 ` Derrick Stolee
2025-05-07 1:00 ` Derrick Stolee
2025-05-09 11:25 ` Patrick Steinhardt
2025-05-06 11:09 ` [PATCH 03/17] object-store: rename files to "odb.{c,h}" Patrick Steinhardt
2025-05-06 18:06 ` Derrick Stolee
2025-05-06 11:09 ` [PATCH 04/17] odb: introduce parent pointers Patrick Steinhardt
2025-05-06 11:09 ` [PATCH 05/17] odb: get rid of `the_repository` in `find_odb()` Patrick Steinhardt
2025-05-07 1:10 ` Derrick Stolee
2025-05-09 11:25 ` Patrick Steinhardt
2025-05-06 11:09 ` [PATCH 06/17] odb: get rid of `the_repository` in `assert_oid_type()` Patrick Steinhardt
2025-05-06 11:09 ` [PATCH 07/17] " Patrick Steinhardt
2025-05-07 1:12 ` Derrick Stolee
2025-05-09 11:25 ` Patrick Steinhardt
2025-05-06 11:09 ` [PATCH 08/17] odb: get rid of `the_repository` when handling alternates Patrick Steinhardt
2025-05-07 1:14 ` Derrick Stolee
2025-05-06 11:09 ` [PATCH 09/17] odb: get rid of `the_repository` in `for_each()` functions Patrick Steinhardt
2025-05-07 1:21 ` Derrick Stolee
2025-05-09 11:25 ` Patrick Steinhardt
2025-05-12 18:28 ` Derrick Stolee
2025-05-06 11:09 ` [PATCH 10/17] odb: get rid of `the_repository` when handling the primary backend Patrick Steinhardt
2025-05-06 11:09 ` [PATCH 11/17] odb: get rid of `the_repository` when handling submodule backends Patrick Steinhardt
2025-05-07 1:25 ` Derrick Stolee
2025-05-07 1:29 ` Derrick Stolee
2025-05-06 11:09 ` [PATCH 12/17] odb: trivial refactorings to get rid of `the_repository` Patrick Steinhardt
2025-05-07 1:25 ` Derrick Stolee
2025-05-07 16:38 ` Junio C Hamano
2025-05-09 11:25 ` Patrick Steinhardt
2025-05-06 11:09 ` [PATCH 13/17] odb: rename `oid_object_info()` Patrick Steinhardt
2025-05-06 11:09 ` [PATCH 14/17] odb: rename `repo_read_object_file()` Patrick Steinhardt
2025-05-06 11:09 ` [PATCH 15/17] odb: rename `has_object()` Patrick Steinhardt
2025-05-06 11:09 ` [PATCH 16/17] odb: rename `pretend_object_file()` Patrick Steinhardt
2025-05-06 11:09 ` [PATCH 17/17] odb: rename `read_object_with_reference()` Patrick Steinhardt
2025-05-07 1:40 ` [PATCH 00/17] object-store: carve out the object database subsystem Derrick Stolee
2025-05-07 17:02 ` Junio C Hamano
2025-05-09 11:25 ` Patrick Steinhardt
2025-05-09 11:25 ` Patrick Steinhardt
2025-05-13 19:28 ` Toon Claes
2025-05-14 4:31 ` Patrick Steinhardt
2025-05-07 23:22 ` Junio C Hamano
2025-05-09 14:12 ` [PATCH v2 " Patrick Steinhardt
2025-05-09 14:12 ` [PATCH v2 01/17] object-store: rename `raw_object_store` to `object_database` Patrick Steinhardt
2025-05-13 19:27 ` Toon Claes
2025-05-09 14:12 ` [PATCH v2 02/17] object-store: rename `object_directory` to `odb_alternate` Patrick Steinhardt
2025-05-13 19:28 ` Toon Claes
2025-05-14 4:31 ` Patrick Steinhardt [this message]
2025-05-09 14:12 ` [PATCH v2 03/17] object-store: rename files to "odb.{c,h}" Patrick Steinhardt
2025-05-13 19:28 ` Toon Claes
2025-05-14 4:31 ` Patrick Steinhardt
2025-05-14 12:58 ` Junio C Hamano
2025-05-09 14:12 ` [PATCH v2 04/17] odb: introduce parent pointers Patrick Steinhardt
2025-05-09 14:12 ` [PATCH v2 05/17] odb: get rid of `the_repository` in `find_odb()` Patrick Steinhardt
2025-05-09 14:12 ` [PATCH v2 06/17] odb: get rid of `the_repository` in `assert_oid_type()` Patrick Steinhardt
2025-05-09 14:12 ` [PATCH v2 07/17] odb: get rid of `the_repository` in `odb_mkstemp()` Patrick Steinhardt
2025-05-09 14:12 ` [PATCH v2 08/17] odb: get rid of `the_repository` when handling alternates Patrick Steinhardt
2025-05-09 14:12 ` [PATCH v2 09/17] odb: get rid of `the_repository` in `for_each()` functions Patrick Steinhardt
2025-05-09 14:12 ` [PATCH v2 10/17] odb: get rid of `the_repository` when handling the primary alternate Patrick Steinhardt
2025-05-09 14:12 ` [PATCH v2 11/17] odb: get rid of `the_repository` when handling submodule alternates Patrick Steinhardt
2025-05-09 14:12 ` [PATCH v2 12/17] odb: trivial refactorings to get rid of `the_repository` Patrick Steinhardt
2025-05-09 14:12 ` [PATCH v2 13/17] odb: rename `oid_object_info()` Patrick Steinhardt
2025-05-09 14:12 ` [PATCH v2 14/17] odb: rename `repo_read_object_file()` Patrick Steinhardt
2025-05-09 14:12 ` [PATCH v2 15/17] odb: rename `has_object()` Patrick Steinhardt
2025-05-09 14:12 ` [PATCH v2 16/17] odb: rename `pretend_object_file()` Patrick Steinhardt
2025-05-09 14:12 ` [PATCH v2 17/17] odb: rename `read_object_with_reference()` Patrick Steinhardt
2025-05-09 21:43 ` [PATCH v2 00/17] object-store: carve out the object database subsystem Junio C Hamano
2025-05-12 18:33 ` Derrick Stolee
2025-05-14 5:12 ` [PATCH v3 " Patrick Steinhardt
2025-05-14 5:12 ` [PATCH v3 01/17] object-store: rename `raw_object_store` to `object_database` Patrick Steinhardt
2025-05-22 21:59 ` Justin Tobler
2025-05-14 5:12 ` [PATCH v3 02/17] object-store: rename `object_directory` to `odb_alternate` Patrick Steinhardt
2025-05-22 22:13 ` Justin Tobler
2025-05-26 5:45 ` Patrick Steinhardt
2025-05-27 16:45 ` Justin Tobler
2025-05-28 13:18 ` Toon Claes
2025-05-30 9:39 ` Patrick Steinhardt
2025-05-30 9:39 ` Patrick Steinhardt
2025-05-14 5:12 ` [PATCH v3 03/17] object-store: rename files to "odb.{c,h}" Patrick Steinhardt
2025-05-14 5:12 ` [PATCH v3 04/17] odb: introduce parent pointers Patrick Steinhardt
2025-05-14 5:12 ` [PATCH v3 05/17] odb: get rid of `the_repository` in `find_odb()` Patrick Steinhardt
2025-05-14 5:12 ` [PATCH v3 06/17] odb: get rid of `the_repository` in `assert_oid_type()` Patrick Steinhardt
2025-05-14 5:12 ` [PATCH v3 07/17] odb: get rid of `the_repository` in `odb_mkstemp()` Patrick Steinhardt
2025-05-14 5:12 ` [PATCH v3 08/17] odb: get rid of `the_repository` when handling alternates Patrick Steinhardt
2025-05-14 5:12 ` [PATCH v3 09/17] odb: get rid of `the_repository` in `for_each()` functions Patrick Steinhardt
2025-05-14 5:12 ` [PATCH v3 10/17] odb: get rid of `the_repository` when handling the primary alternate Patrick Steinhardt
2025-05-14 5:12 ` [PATCH v3 11/17] odb: get rid of `the_repository` when handling submodule alternates Patrick Steinhardt
2025-05-14 5:12 ` [PATCH v3 12/17] odb: trivial refactorings to get rid of `the_repository` Patrick Steinhardt
2025-05-14 5:12 ` [PATCH v3 13/17] odb: rename `oid_object_info()` Patrick Steinhardt
2025-05-14 5:12 ` [PATCH v3 14/17] odb: rename `repo_read_object_file()` Patrick Steinhardt
2025-05-14 5:12 ` [PATCH v3 15/17] odb: rename `has_object()` Patrick Steinhardt
2025-05-14 5:12 ` [PATCH v3 16/17] odb: rename `pretend_object_file()` Patrick Steinhardt
2025-05-14 5:12 ` [PATCH v3 17/17] odb: rename `read_object_with_reference()` Patrick Steinhardt
2025-05-14 14:48 ` [PATCH v3 00/17] object-store: carve out the object database subsystem Toon Claes
2025-05-15 8:22 ` Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 " Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 01/17] object-store: rename `raw_object_store` to `object_database` Patrick Steinhardt
2025-06-04 8:55 ` Toon Claes
2025-06-04 11:52 ` Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 02/17] object-store: rename `object_directory` to `odb_source` Patrick Steinhardt
2025-06-04 13:24 ` Toon Claes
2025-06-04 13:55 ` Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 03/17] object-store: rename files to "odb.{c,h}" Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 04/17] odb: introduce parent pointers Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 05/17] odb: get rid of `the_repository` in `find_odb()` Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 06/17] odb: get rid of `the_repository` in `assert_oid_type()` Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 07/17] odb: get rid of `the_repository` in `odb_mkstemp()` Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 08/17] odb: get rid of `the_repository` when handling alternates Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 09/17] odb: get rid of `the_repository` in `for_each()` functions Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 10/17] odb: get rid of `the_repository` when handling the primary source Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 11/17] odb: get rid of `the_repository` when handling submodule sources Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 12/17] odb: trivial refactorings to get rid of `the_repository` Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 13/17] odb: rename `oid_object_info()` Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 14/17] odb: rename `repo_read_object_file()` Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 15/17] odb: rename `has_object()` Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 16/17] odb: rename `pretend_object_file()` Patrick Steinhardt
2025-06-02 10:27 ` [PATCH v4 17/17] odb: rename `read_object_with_reference()` Patrick Steinhardt
2025-06-02 15:38 ` [PATCH v4 00/17] object-store: carve out the object database subsystem Junio C Hamano
2025-06-05 6:46 ` [PATCH v5 " Patrick Steinhardt
2025-06-05 6:46 ` [PATCH v5 01/17] object-store: rename `raw_object_store` to `object_database` Patrick Steinhardt
2025-06-05 6:46 ` [PATCH v5 02/17] object-store: rename `object_directory` to `odb_source` Patrick Steinhardt
2025-06-30 2:02 ` Justin Tobler
2025-07-01 12:17 ` Patrick Steinhardt
2025-06-05 6:46 ` [PATCH v5 03/17] object-store: rename files to "odb.{c,h}" Patrick Steinhardt
2025-06-05 6:46 ` [PATCH v5 04/17] odb: introduce parent pointers Patrick Steinhardt
2025-06-30 2:34 ` Justin Tobler
2025-07-01 12:17 ` Patrick Steinhardt
2025-06-05 6:46 ` [PATCH v5 05/17] odb: get rid of `the_repository` in `find_odb()` Patrick Steinhardt
2025-06-30 2:36 ` Justin Tobler
2025-06-05 6:46 ` [PATCH v5 06/17] odb: get rid of `the_repository` in `assert_oid_type()` Patrick Steinhardt
2025-06-05 6:46 ` [PATCH v5 07/17] odb: get rid of `the_repository` in `odb_mkstemp()` Patrick Steinhardt
2025-06-05 6:46 ` [PATCH v5 08/17] odb: get rid of `the_repository` when handling alternates Patrick Steinhardt
2025-06-30 2:56 ` Justin Tobler
2025-07-01 12:18 ` Patrick Steinhardt
2025-06-05 6:46 ` [PATCH v5 09/17] odb: get rid of `the_repository` in `for_each()` functions Patrick Steinhardt
2025-06-05 6:47 ` [PATCH v5 10/17] odb: get rid of `the_repository` when handling the primary source Patrick Steinhardt
2025-06-05 6:47 ` [PATCH v5 11/17] odb: get rid of `the_repository` when handling submodule sources Patrick Steinhardt
2025-06-05 6:47 ` [PATCH v5 12/17] odb: trivial refactorings to get rid of `the_repository` Patrick Steinhardt
2025-06-05 6:47 ` [PATCH v5 13/17] odb: rename `oid_object_info()` Patrick Steinhardt
2025-06-05 6:47 ` [PATCH v5 14/17] odb: rename `repo_read_object_file()` Patrick Steinhardt
2025-06-05 6:47 ` [PATCH v5 15/17] odb: rename `has_object()` Patrick Steinhardt
2025-06-05 6:47 ` [PATCH v5 16/17] odb: rename `pretend_object_file()` Patrick Steinhardt
2025-06-30 3:14 ` Justin Tobler
2025-06-05 6:47 ` [PATCH v5 17/17] odb: rename `read_object_with_reference()` Patrick Steinhardt
2025-06-30 3:15 ` Justin Tobler
2025-07-01 12:22 ` [PATCH v6 00/17] object-store: carve out the object database subsystem Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 01/17] object-store: rename `raw_object_store` to `object_database` Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 02/17] object-store: rename `object_directory` to `odb_source` Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 03/17] object-store: rename files to "odb.{c,h}" Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 04/17] odb: introduce parent pointers Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 05/17] odb: get rid of `the_repository` in `find_odb()` Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 06/17] odb: get rid of `the_repository` in `assert_oid_type()` Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 07/17] odb: get rid of `the_repository` in `odb_mkstemp()` Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 08/17] odb: get rid of `the_repository` when handling alternates Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 09/17] odb: get rid of `the_repository` in `for_each()` functions Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 10/17] odb: get rid of `the_repository` when handling the primary source Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 11/17] odb: get rid of `the_repository` when handling submodule sources Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 12/17] odb: trivial refactorings to get rid of `the_repository` Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 13/17] odb: rename `oid_object_info()` Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 14/17] odb: rename `repo_read_object_file()` Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 15/17] odb: rename `has_object()` Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 16/17] odb: rename `pretend_object_file()` Patrick Steinhardt
2025-07-01 12:22 ` [PATCH v6 17/17] odb: rename `read_object_with_reference()` Patrick Steinhardt
2025-07-01 14:26 ` [PATCH v6 00/17] object-store: carve out the object database subsystem Justin Tobler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aCQctNv5IkVJAfQL@pks.im \
--to=ps@pks.im \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=stolee@gmail.com \
--cc=toon@iotcl.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).