replace-object: allow prepare_replace_object to handle arbitrary repositories
[gitweb.git] / replace_object.c
index 567d9da708296ff89364c19d3d69e038184583b9..eae52c66f3f69d0a39da5c3761467ae422af5ea5 100644 (file)
@@ -31,18 +31,16 @@ static int register_replace_ref(const char *refname,
        return 0;
 }
 
-#define prepare_replace_object(r) \
-       prepare_replace_object_##r()
-static void prepare_replace_object_the_repository(void)
+static void prepare_replace_object(struct repository *r)
 {
-       if (the_repository->objects->replace_map)
+       if (r->objects->replace_map)
                return;
 
-       the_repository->objects->replace_map =
+       r->objects->replace_map =
                xmalloc(sizeof(*the_repository->objects->replace_map));
-       oidmap_init(the_repository->objects->replace_map, 0);
+       oidmap_init(r->objects->replace_map, 0);
 
-       for_each_replace_ref(the_repository, register_replace_ref, NULL);
+       for_each_replace_ref(r, register_replace_ref, NULL);
 }
 
 /* We allow "recursive" replacement. Only within reason, though */
@@ -55,7 +53,7 @@ static void prepare_replace_object_the_repository(void)
  * permanently-allocated value.  This function always respects replace
  * references, regardless of the value of check_replace_refs.
  */
-const struct object_id *do_lookup_replace_object(const struct object_id *oid)
+const struct object_id *do_lookup_replace_object_the_repository(const struct object_id *oid)
 {
        int depth = MAXREPLACEDEPTH;
        const struct object_id *cur = oid;