Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> --- object-store.h | 3 +-- sha1_file.c | 21 +++++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/object-store.h b/object-store.h index f283fbdba9..873b341774 100644 --- a/object-store.h +++ b/object-store.h @@ -24,8 +24,7 @@ struct alternate_object_database { */ char path[FLEX_ARRAY]; }; -#define prepare_alt_odb(r) prepare_alt_odb_##r() -void prepare_alt_odb_the_repository(void); +void prepare_alt_odb(struct repository *r); char *compute_alternate_path(const char *path, struct strbuf *err); typedef int alt_odb_fn(struct alternate_object_database *, void *); int foreach_alt_odb(alt_odb_fn, void*); diff --git a/sha1_file.c b/sha1_file.c index 6e5105a252..9cf3fffbeb 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -673,21 +673,22 @@ int foreach_alt_odb(alt_odb_fn fn, void *cb) return r; } -void prepare_alt_odb_the_repository(void) +void prepare_alt_odb(struct repository *r) { - const char *alt; - - if (the_repository->objects.alt_odb_tail) + if (r->objects.alt_odb_tail) return; - alt = getenv(ALTERNATE_DB_ENVIRONMENT); + r->objects.alt_odb_tail = &r->objects.alt_odb_list; + + if (!r->ignore_env) { + const char *alt = getenv(ALTERNATE_DB_ENVIRONMENT); + if (!alt) + alt = ""; - the_repository->objects.alt_odb_tail = - &the_repository->objects.alt_odb_list; - link_alt_odb_entries(the_repository, alt, - PATH_SEP, NULL, 0); + link_alt_odb_entries(r, alt, PATH_SEP, NULL, 0); + } - read_info_alternates(the_repository, get_object_directory(), 0); + read_info_alternates(r, r->objects.objectdir, 0); } /* Returns 1 if we have successfully freshened the file, 0 otherwise. */ -- 2.16.1.291.g4437f3f132-goog