From: Stefan Beller Date: Thu, 12 Apr 2018 00:21:17 +0000 (-0700) Subject: replace-object: allow do_lookup_replace_object to handle arbitrary repositories X-Git-Tag: v2.18.0-rc0~57^2~10 X-Git-Url: http://git.bitbasher.net/?a=commitdiff_plain;h=5643557e63de2cd0b81297fe975b001fa5be2c0a;p=git.git replace-object: allow do_lookup_replace_object to handle arbitrary repositories Signed-off-by: Stefan Beller Signed-off-by: Junio C Hamano --- diff --git a/replace-object.h b/replace-object.h index dff57bfa1e..f05354c861 100644 --- a/replace-object.h +++ b/replace-object.h @@ -14,8 +14,8 @@ struct replace_object { * This internal function is only declared here for the benefit of * lookup_replace_object(). Please do not call it directly. */ -#define do_lookup_replace_object(r, s) do_lookup_replace_object_##r(s) -extern const struct object_id *do_lookup_replace_object_the_repository(const struct object_id *oid); +extern const struct object_id *do_lookup_replace_object(struct repository *r, + const struct object_id *oid); /* * If object sha1 should be replaced, return the replacement object's diff --git a/replace_object.c b/replace_object.c index eae52c66f3..246b98cd4f 100644 --- a/replace_object.c +++ b/replace_object.c @@ -53,17 +53,18 @@ static void prepare_replace_object(struct repository *r) * 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_the_repository(const struct object_id *oid) +const struct object_id *do_lookup_replace_object(struct repository *r, + const struct object_id *oid) { int depth = MAXREPLACEDEPTH; const struct object_id *cur = oid; - prepare_replace_object(the_repository); + prepare_replace_object(r); /* Try to recursively replace the object */ while (depth-- > 0) { struct replace_object *repl_obj = - oidmap_get(the_repository->objects->replace_map, cur); + oidmap_get(r->objects->replace_map, cur); if (!repl_obj) return cur; cur = &repl_obj->replacement;