[PATCH 17/35] object: add repository argument to parse_commit_gently
From: Stefan Beller <hidden>
Date: 2018-05-30 00:50:11
Subsystem:
the rest · Maintainer:
Linus Torvalds
Add a repository argument to allow callers of parse_commit_gently 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. The included coccinelle semantic patch will adapt any new callers in the diff produced by `make coccicheck`. Signed-off-by: Stefan Beller <redacted> --- commit.c | 2 +- commit.h | 5 +++-- revision.c | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/commit.c b/commit.c
index ede31c46931..dcb32561275 100644
--- a/commit.c
+++ b/commit.c@@ -394,7 +394,7 @@ int parse_commit_buffer_the_repository(struct commit *item, const void *buffer, return 0; } -int parse_commit_gently(struct commit *item, int quiet_on_missing) +int parse_commit_gently_the_repository(struct commit *item, int quiet_on_missing) { enum object_type type; void *buffer;
diff --git a/commit.h b/commit.h
index 66eb576897f..b1198ec2b77 100644
--- a/commit.h
+++ b/commit.h@@ -74,10 +74,11 @@ struct commit *lookup_commit_or_die(const struct object_id *oid, const char *ref #define parse_commit_buffer(r, i, b, s) parse_commit_buffer_##r(i, b, s) int parse_commit_buffer_the_repository(struct commit *item, const void *buffer, unsigned long size); -int parse_commit_gently(struct commit *item, int quiet_on_missing); +#define parse_commit_gently(r, i, q) parse_commit_gently_##r(i, q) +int parse_commit_gently_the_repository(struct commit *item, int quiet_on_missing); static inline int parse_commit(struct commit *item) { - return parse_commit_gently(item, 0); + return parse_commit_gently(the_repository, item, 0); } void parse_commit_or_die(struct commit *item);
diff --git a/revision.c b/revision.c
index 25df00cc16c..33506faabda 100644
--- a/revision.c
+++ b/revision.c@@ -785,7 +785,7 @@ static int add_parents_to_list(struct rev_info *revs, struct commit *commit, parent = parent->next; if (p) p->object.flags |= UNINTERESTING; - if (parse_commit_gently(p, 1) < 0) + if (parse_commit_gently(the_repository, p, 1) < 0) continue; if (p->parents) mark_parents_uninteresting(p);
@@ -813,7 +813,7 @@ static int add_parents_to_list(struct rev_info *revs, struct commit *commit, struct commit *p = parent->item; int gently = revs->ignore_missing_links || revs->exclude_promisor_objects; - if (parse_commit_gently(p, gently) < 0) { + if (parse_commit_gently(the_repository, p, gently) < 0) { if (revs->exclude_promisor_objects && is_promisor_object(&p->object.oid)) { if (revs->first_parent_only)
--
2.17.0.582.gccdcbd54c44.dirty