diff options
author | Stefan Beller <sbeller@google.com> | 2018-04-12 03:21:17 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-04-12 05:38:57 +0300 |
commit | 5643557e63de2cd0b81297fe975b001fa5be2c0a (patch) | |
tree | 096497a8fb8b19e626e64b00adcbb59bcce3910c | |
parent | 5982da9d2ce75d445cb2a74351c34efa07342ea2 (diff) |
replace-object: allow do_lookup_replace_object to handle arbitrary repositories
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | replace-object.h | 4 | ||||
-rw-r--r-- | replace_object.c | 7 |
2 files changed, 6 insertions, 5 deletions
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; |