replace-object: add repository argument to prepare_replace_object
authorStefan Beller <sbeller@google.com>
Thu, 12 Apr 2018 00:21:11 +0000 (17:21 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 12 Apr 2018 02:38:56 +0000 (11:38 +0900)
Add a repository argument to allow the prepare_replace_object caller
to be more specific about which repository to handle. This is a small
mechanical change; it doesn't change the implementation to handle
repositories other than the_repository yet.

As with the previous commits, use a macro to catch callers passing a
repository other than the_repository at compile time.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
replace_object.c
index 16a95ea416d0a417f7b36d6997ec7322dd6df4a2..567d9da708296ff89364c19d3d69e038184583b9 100644 (file)
@@ -31,7 +31,9 @@ static int register_replace_ref(const char *refname,
        return 0;
 }
 
-static void prepare_replace_object(void)
+#define prepare_replace_object(r) \
+       prepare_replace_object_##r()
+static void prepare_replace_object_the_repository(void)
 {
        if (the_repository->objects->replace_map)
                return;
@@ -58,7 +60,7 @@ const struct object_id *do_lookup_replace_object(const struct object_id *oid)
        int depth = MAXREPLACEDEPTH;
        const struct object_id *cur = oid;
 
-       prepare_replace_object();
+       prepare_replace_object(the_repository);
 
        /* Try to recursively replace the object */
        while (depth-- > 0) {