replace-object: allow prepare_replace_object to handle arbitrary repositories

Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Stefan Beller committed Apr 11, 2018 at 17:21 UTC 5982da9d2ce75d445cb2a74351c34efa07342ea2
1 file changed +5 -7
replace_object.c
+5 -7
@@ -31,18 +31,16 @@ static int register_replace_ref(const char *refname,
31 return 0;
32 }
33
34 -#define prepare_replace_object(r) \
35 - prepare_replace_object_##r()
36 -static void prepare_replace_object_the_repository(void)
34 +static void prepare_replace_object(struct repository *r)
35 {
38 - if (the_repository->objects->replace_map)
36 + if (r->objects->replace_map)
37 return;
38
41 - the_repository->objects->replace_map =
39 + r->objects->replace_map =
40 xmalloc(sizeof(*the_repository->objects->replace_map));
43 - oidmap_init(the_repository->objects->replace_map, 0);
41 + oidmap_init(r->objects->replace_map, 0);
42
45 - for_each_replace_ref(the_repository, register_replace_ref, NULL);
43 + for_each_replace_ref(r, register_replace_ref, NULL);
44 }
45
46 /* We allow "recursive" replacement. Only within reason, though */