sha1_file: allow prepare_alt_odb to handle arbitrary repositories
Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Stefan Beller committed
Mar 23, 2018 at 18:21 UTC
13068bf0a04c4c3cfc177f1aabc61037e319d595
2 files changed
+6
-10
object-store.h
+1
-2
@@ -24,8 +24,7 @@ struct alternate_object_database {
24
*/
25
char path[FLEX_ARRAY];
26
};
27
-#define prepare_alt_odb(r) prepare_alt_odb_##r()
28
-void prepare_alt_odb_the_repository(void);
27
+void prepare_alt_odb(struct repository *r);
28
char *compute_alternate_path(const char *path, struct strbuf *err);
29
typedef int alt_odb_fn(struct alternate_object_database *, void *);
30
int foreach_alt_odb(alt_odb_fn, void*);
sha1_file.c
+5
-8
@@ -673,18 +673,15 @@ int foreach_alt_odb(alt_odb_fn fn, void *cb)
673
return r;
674
}
675
676
-void prepare_alt_odb_the_repository(void)
676
+void prepare_alt_odb(struct repository *r)
677
{
678
- if (the_repository->objects->alt_odb_tail)
678
+ if (r->objects->alt_odb_tail)
679
return;
680
681
- the_repository->objects->alt_odb_tail =
682
- &the_repository->objects->alt_odb_list;
683
- link_alt_odb_entries(the_repository,
684
- the_repository->objects->alternate_db,
685
- PATH_SEP, NULL, 0);
681
+ r->objects->alt_odb_tail = &r->objects->alt_odb_list;
682
+ link_alt_odb_entries(r, r->objects->alternate_db, PATH_SEP, NULL, 0);
683
687
- read_info_alternates(the_repository, get_object_directory(), 0);
684
+ read_info_alternates(r, r->objects->objectdir, 0);
685
}
686
687
/* Returns 1 if we have successfully freshened the file, 0 otherwise. */