diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2024-02-28 10:44:14 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-02-29 17:06:01 +0100 |
commit | 76e2a0999907644966dfe48b573d6e57e2f1e275 (patch) | |
tree | a39782ae673aff3eade9b30efb619e4fdbbea9c2 /builtin/rev-parse.c | |
parent | commit-reach(get_merge_bases_many_0): pass on "missing commits" errors (diff) | |
download | git-76e2a0999907644966dfe48b573d6e57e2f1e275.tar.xz git-76e2a0999907644966dfe48b573d6e57e2f1e275.zip |
commit-reach(repo_get_merge_bases): pass on "missing commits" errors
The `merge_bases_many()` function was just taught to indicate parsing
errors, and now the `repo_get_merge_bases()` function (which is also
surfaced via the `repo_get_merge_bases()` macro) is aware of that, too.
Naturally, there are a lot of callers that need to be adjusted now, too.
Next step: adjust the callers of `get_octopus_merge_bases()`.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/rev-parse.c')
-rw-r--r-- | builtin/rev-parse.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index d08987646a..181c703d4c 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -297,7 +297,7 @@ static int try_difference(const char *arg) show_rev(NORMAL, &end_oid, end); show_rev(symmetric ? NORMAL : REVERSED, &start_oid, start); if (symmetric) { - struct commit_list *exclude; + struct commit_list *exclude = NULL; struct commit *a, *b; a = lookup_commit_reference(the_repository, &start_oid); b = lookup_commit_reference(the_repository, &end_oid); @@ -305,7 +305,8 @@ static int try_difference(const char *arg) *dotdot = '.'; return 0; } - exclude = repo_get_merge_bases(the_repository, a, b); + if (repo_get_merge_bases(the_repository, a, b, &exclude) < 0) + exit(128); while (exclude) { struct commit *commit = pop_commit(&exclude); show_rev(REVERSED, &commit->object.oid, NULL); |