aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Beller <sbeller@google.com>2018-04-11 17:21:17 -0700
committerJunio C Hamano <gitster@pobox.com>2018-04-12 11:38:57 +0900
commit5643557e63de2cd0b81297fe975b001fa5be2c0a (patch)
tree096497a8fb8b19e626e64b00adcbb59bcce3910c
parentreplace-object: allow prepare_replace_object to handle arbitrary repositories (diff)
downloadgit-5643557e63de2cd0b81297fe975b001fa5be2c0a.tar.gz
git-5643557e63de2cd0b81297fe975b001fa5be2c0a.zip
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.h4
-rw-r--r--replace_object.c7
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;