Signed-off-by: Stefan Beller <[email protected]>
---
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