1
0
mirror of https://github.com/git/git synced 2024-07-05 00:58:49 +00:00

commit-reach.c: allow merge_bases_many to handle any repo

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Stefan Beller 2018-11-13 16:12:52 -08:00 committed by Junio C Hamano
parent c383830a91
commit 18256a915c

View File

@ -95,7 +95,9 @@ static struct commit_list *paint_down_to_common(struct repository *r,
return result; return result;
} }
static struct commit_list *merge_bases_many(struct commit *one, int n, struct commit **twos) static struct commit_list *merge_bases_many(struct repository *r,
struct commit *one, int n,
struct commit **twos)
{ {
struct commit_list *list = NULL; struct commit_list *list = NULL;
struct commit_list *result = NULL; struct commit_list *result = NULL;
@ -110,14 +112,14 @@ static struct commit_list *merge_bases_many(struct commit *one, int n, struct co
return commit_list_insert(one, &result); return commit_list_insert(one, &result);
} }
if (parse_commit(one)) if (repo_parse_commit(r, one))
return NULL; return NULL;
for (i = 0; i < n; i++) { for (i = 0; i < n; i++) {
if (parse_commit(twos[i])) if (repo_parse_commit(r, twos[i]))
return NULL; return NULL;
} }
list = paint_down_to_common(the_repository, one, n, twos, 0); list = paint_down_to_common(r, one, n, twos, 0);
while (list) { while (list) {
struct commit *commit = pop_commit(&list); struct commit *commit = pop_commit(&list);
@ -224,7 +226,7 @@ static struct commit_list *get_merge_bases_many_0(struct commit *one,
struct commit_list *result; struct commit_list *result;
int cnt, i; int cnt, i;
result = merge_bases_many(one, n, twos); result = merge_bases_many(the_repository, one, n, twos);
for (i = 0; i < n; i++) { for (i = 0; i < n; i++) {
if (one == twos[i]) if (one == twos[i])
return result; return result;