aboutsummaryrefslogtreecommitdiffstats
path: root/commit-reach.c
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2024-02-28 09:44:17 +0000
committerJunio C Hamano <gitster@pobox.com>2024-02-29 08:06:01 -0800
commitcaaf1a2942c25c1f1a15818b718c9f641e52beef (patch)
tree89081fd5a84761adaddb19afb1ed5395411d95f2 /commit-reach.c
parent531738052158fd66bc9b65534309f5c0a9d2808d (diff)
downloadgit-caaf1a2942c25c1f1a15818b718c9f641e52beef.tar.gz
commit-reach(repo_get_merge_bases_many_dirty): pass on errors
(Actually, this commit is only about passing on "missing commits" errors, but adding that to the commit's title would have made it too long.) The `merge_bases_many()` function was just taught to indicate parsing errors, and now the `repo_get_merge_bases_many_dirty()` function is aware of that, too. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'commit-reach.c')
-rw-r--r--commit-reach.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/commit-reach.c b/commit-reach.c
index f19341da45..8f9b008f87 100644
--- a/commit-reach.c
+++ b/commit-reach.c
@@ -470,17 +470,13 @@ int repo_get_merge_bases_many(struct repository *r,
return get_merge_bases_many_0(r, one, n, twos, 1, result);
}
-struct commit_list *repo_get_merge_bases_many_dirty(struct repository *r,
- struct commit *one,
- int n,
- struct commit **twos)
+int repo_get_merge_bases_many_dirty(struct repository *r,
+ struct commit *one,
+ int n,
+ struct commit **twos,
+ struct commit_list **result)
{
- struct commit_list *result = NULL;
- if (get_merge_bases_many_0(r, one, n, twos, 0, &result) < 0) {
- free_commit_list(result);
- return NULL;
- }
- return result;
+ return get_merge_bases_many_0(r, one, n, twos, 0, result);
}
int repo_get_merge_bases(struct repository *r,