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>
unsigned long approximate_object_count;
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.
{
struct odb_source *source;
- if (r->objects->packed_git_initialized)
+ if (r->objects->packfiles->initialized)
return;
odb_prepare_alternates(r->objects);
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)
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();
}
* the store.
*/
struct packed_git *packs;
+
+ /*
+ * Whether packfiles have already been populated with this store's
+ * packs.
+ */
+ bool initialized;
};
/*