odb: drop `loaded_alternates` field

The `struct object_database::loaded_alternates` field tells us whether
or not alternates have been loaded already. This field was useful before
the preceding commit as we were indeed lazy-loading alternates. But now
that we started to eagerly load them we can assume them to be loaded
after `odb_new()`, and hence the field does not serve any purpose
anymore.

Remove it.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
main
Patrick Steinhardt 2026-08-17 13:09:24 +02:00 committed by Junio C Hamano
parent f978f560dd
commit 0e67428c85
2 changed files with 1 additions and 10 deletions

9
odb.c
View File

@ -245,8 +245,7 @@ void odb_add_to_alternates_file(struct object_database *odb,
int ret = odb_source_write_alternate(odb->sources, dir);
if (ret < 0)
die(NULL);
if (odb->loaded_alternates)
odb_add_alternate_recursively(odb, dir, 0);
odb_add_alternate_recursively(odb, dir, 0);
}

struct odb_source *odb_add_to_alternates_memory(struct object_database *odb,
@ -510,16 +509,11 @@ static void odb_prepare_alternates(struct object_database *odb)
{
struct strvec sources = STRVEC_INIT;

if (odb->loaded_alternates)
return;

parse_alternates(odb->alternate_db, PATH_SEP, NULL, &sources);
odb_source_read_alternates(odb->sources, &sources);
for (size_t i = 0; i < sources.nr; i++)
odb_add_alternate_recursively(odb, sources.v[i], 0);

odb->loaded_alternates = 1;

strvec_clear(&sources);
}

@ -1147,7 +1141,6 @@ void odb_prepare(struct object_database *o, enum odb_prepare_flags flags)
* the lifetime of the process.
*/
if (flags & ODB_PREPARE_FLUSH_CACHES) {
o->loaded_alternates = 0;
odb_prepare_alternates(o);
o->object_count_valid = 0;
}

2
odb.h
View File

@ -69,8 +69,6 @@ struct object_database {
*/
int source_paths_icase;

int loaded_alternates;

/*
* A list of alternate object directories loaded from the environment;
* this should not generally need to be accessed directly, but will