Signed-off-by: Stefan Beller <sbel...@google.com>
---
 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 d96a16edd1..add1d4e27c 100644
--- a/object-store.h
+++ b/object-store.h
@@ -61,7 +61,6 @@ struct packed_git {
        char pack_name[FLEX_ARRAY]; /* more */
 };
 
-#define prepare_alt_odb(r) prepare_alt_odb_##r()
-extern void prepare_alt_odb_the_repository(void);
+void prepare_alt_odb(struct repository *r);
 
 #endif /* OBJECT_STORE_H */
diff --git a/sha1_file.c b/sha1_file.c
index d18ce3aeba..f046d560f8 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -677,21 +677,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.73.ga2c3e9663f.dirty

Reply via email to