From: Jonathan Nieder <jrnieder@xxxxxxxxx> Add a repository argument to allow callers of lookup_commit_graft 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: Jonathan Nieder <jrnieder@xxxxxxxxx> Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> --- commit.c | 4 ++-- commit.h | 3 ++- fsck.c | 2 +- shallow.c | 5 +++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/commit.c b/commit.c index a0400b93a1e..c832133f055 100644 --- a/commit.c +++ b/commit.c @@ -212,7 +212,7 @@ static void prepare_commit_graft_the_repository(void) commit_graft_prepared = 1; } -struct commit_graft *lookup_commit_graft(const struct object_id *oid) +struct commit_graft *lookup_commit_graft_the_repository(const struct object_id *oid) { int pos; prepare_commit_graft(the_repository); @@ -359,7 +359,7 @@ int parse_commit_buffer(struct commit *item, const void *buffer, unsigned long s bufptr += tree_entry_len + 1; /* "tree " + "hex sha1" + "\n" */ pptr = &item->parents; - graft = lookup_commit_graft(&item->object.oid); + graft = lookup_commit_graft(the_repository, &item->object.oid); while (bufptr + parent_entry_len < tail && !memcmp(bufptr, "parent ", 7)) { struct commit *new_parent; diff --git a/commit.h b/commit.h index 40a5b5e2585..f6746125766 100644 --- a/commit.h +++ b/commit.h @@ -176,7 +176,8 @@ typedef int (*each_commit_graft_fn)(const struct commit_graft *, void *); struct commit_graft *read_graft_line(struct strbuf *line); #define register_commit_graft(r, g, i) register_commit_graft_##r(g, i) int register_commit_graft_the_repository(struct commit_graft *, int); -struct commit_graft *lookup_commit_graft(const struct object_id *oid); +#define lookup_commit_graft(r, o) lookup_commit_graft_##r(o) +struct commit_graft *lookup_commit_graft_the_repository(const struct object_id *oid); extern struct commit_list *get_merge_bases(struct commit *rev1, struct commit *rev2); extern struct commit_list *get_merge_bases_many(struct commit *one, int n, struct commit **twos); diff --git a/fsck.c b/fsck.c index 59b0c7d640e..104c3c0a434 100644 --- a/fsck.c +++ b/fsck.c @@ -738,7 +738,7 @@ static int fsck_commit_buffer(struct commit *commit, const char *buffer, buffer += 41; parent_line_count++; } - graft = lookup_commit_graft(&commit->object.oid); + graft = lookup_commit_graft(the_repository, &commit->object.oid); parent_count = commit_list_count(commit->parents); if (graft) { if (graft->nr_parent == -1 && !parent_count) diff --git a/shallow.c b/shallow.c index ef802deed41..ca360c700c5 100644 --- a/shallow.c +++ b/shallow.c @@ -109,7 +109,7 @@ struct commit_list *get_shallow_commits(struct object_array *heads, int depth, cur_depth++; if ((depth != INFINITE_DEPTH && cur_depth >= depth) || (is_repository_shallow() && !commit->parents && - (graft = lookup_commit_graft(&commit->object.oid)) != NULL && + (graft = lookup_commit_graft(the_repository, &commit->object.oid)) != NULL && graft->nr_parent < 0)) { commit_list_insert(commit, &result); commit->object.flags |= shallow_flag; @@ -398,7 +398,8 @@ void prepare_shallow_info(struct shallow_info *info, struct oid_array *sa) for (i = 0; i < sa->nr; i++) { if (has_object_file(sa->oid + i)) { struct commit_graft *graft; - graft = lookup_commit_graft(&sa->oid[i]); + graft = lookup_commit_graft(the_repository, + &sa->oid[i]); if (graft && graft->nr_parent < 0) continue; info->ours[info->nr_ours++] = i; -- 2.17.0.582.gccdcbd54c44.dirty