diff options
| author | Patrick Steinhardt <ps@pks.im> | 2025-09-23 12:17:02 +0200 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-09-24 11:53:49 -0700 |
| commit | 3421cb56a8b37425f2a47695adfa4a29a06a9d2e (patch) | |
| tree | 524592b533c9a18a441862ae4ddad3fe115a96d5 | |
| parent | 535b7a667a94d5882add829e30e20b6dfa076640 (diff) | |
| download | git-3421cb56a8b37425f2a47695adfa4a29a06a9d2e.tar.xz | |
odb: move initialization bit into `struct packfile_store`
The object database knows to skip re-initializing the list of packfiles
in case it's already been initialized. Whether or not that is the case
is tracked via a separate `initialized` bit that is stored in the object
database. With the introduction of the `struct packfile_store` we have a
better place to host this bit though.
Move it accordingly. While at it, convert the field into a boolean now
that we're allowed to use them in our code base.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rw-r--r-- | odb.h | 6 | ||||
| -rw-r--r-- | packfile.c | 6 | ||||
| -rw-r--r-- | packfile.h | 6 |
3 files changed, 9 insertions, 9 deletions
@@ -170,12 +170,6 @@ struct object_database { unsigned approximate_object_count_valid : 1; /* - * Whether packed_git has already been populated with this repository's - * packs. - */ - unsigned packed_git_initialized : 1; - - /* * Submodule source paths that will be added as additional sources to * allow lookup of submodule objects via the main object database. */ diff --git a/packfile.c b/packfile.c index 36bc240107..f37557eac5 100644 --- a/packfile.c +++ b/packfile.c @@ -1027,7 +1027,7 @@ static void prepare_packed_git(struct repository *r) { struct odb_source *source; - if (r->objects->packed_git_initialized) + if (r->objects->packfiles->initialized) return; odb_prepare_alternates(r->objects); @@ -1038,7 +1038,7 @@ static void prepare_packed_git(struct repository *r) rearrange_packed_git(r); prepare_packed_git_mru(r); - r->objects->packed_git_initialized = 1; + r->objects->packfiles->initialized = true; } void reprepare_packed_git(struct repository *r) @@ -1060,7 +1060,7 @@ void reprepare_packed_git(struct repository *r) odb_clear_loose_cache(source); r->objects->approximate_object_count_valid = 0; - r->objects->packed_git_initialized = 0; + r->objects->packfiles->initialized = false; prepare_packed_git(r); obj_read_unlock(); } diff --git a/packfile.h b/packfile.h index d7ac8d24b4..cf81091175 100644 --- a/packfile.h +++ b/packfile.h @@ -63,6 +63,12 @@ struct packfile_store { * the store. */ struct packed_git *packs; + + /* + * Whether packfiles have already been populated with this store's + * packs. + */ + bool initialized; }; /* |
