Unlike the other conversions this just takes the repository as the cb_data.

NEEDSWORK: callback interface doesn't supply a repository argument, so
we have to supply it ourselves as cb_data. It would be nicer to update
the callback interface in for_each_replace_ref to pass on the
repository at the same time as it gets a repository argument.

Signed-off-by: Stefan Beller <[email protected]>
---
 replace-object.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/replace-object.c b/replace-object.c
index 1479530d34..8d3e0a30fb 100644
--- a/replace-object.c
+++ b/replace-object.c
@@ -52,6 +52,8 @@ static int register_replace_ref(const char *refname,
                                const struct object_id *oid,
                                int flag, void *cb_data)
 {
+       struct repository *r = cb_data;
+
        /* Get sha1 from refname */
        const char *slash = strrchr(refname, '/');
        const char *hash = slash ? slash + 1 : refname;
@@ -67,6 +69,7 @@ static int register_replace_ref(const char *refname,
        hashcpy(repl_obj->replacement, oid->hash);
 
        /* Register new object */
+       (void)r;
        if (register_replace_object(the_repository, repl_obj, 1))
                die("duplicate replace ref: %s", refname);
 
@@ -78,7 +81,7 @@ static void prepare_replace_object(void)
        if (the_repository->objects.replacements.prepared)
                return;
 
-       for_each_replace_ref(the_repository, register_replace_ref, NULL);
+       for_each_replace_ref(the_repository, register_replace_ref, 
the_repository);
        the_repository->objects.replacements.prepared = 1;
 }
 
-- 
2.15.1.433.g936d1b9894.dirty

Reply via email to