diff options
| author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2024-02-28 09:44:14 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-02-29 08:06:01 -0800 |
| commit | 76e2a0999907644966dfe48b573d6e57e2f1e275 (patch) | |
| tree | a39782ae673aff3eade9b30efb619e4fdbbea9c2 /builtin/log.c | |
| parent | commit-reach(get_merge_bases_many_0): pass on "missing commits" errors (diff) | |
| download | git-76e2a0999907644966dfe48b573d6e57e2f1e275.tar.gz 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/log.c')
| -rw-r--r-- | builtin/log.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/builtin/log.c b/builtin/log.c index 0631922886..b7147f893b 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -1704,11 +1704,11 @@ static struct commit *get_base_commit(const char *base_commit, */ while (rev_nr > 1) { for (i = 0; i < rev_nr / 2; i++) { - struct commit_list *merge_base; - merge_base = repo_get_merge_bases(the_repository, - rev[2 * i], - rev[2 * i + 1]); - if (!merge_base || merge_base->next) { + struct commit_list *merge_base = NULL; + if (repo_get_merge_bases(the_repository, + rev[2 * i], + rev[2 * i + 1], &merge_base) < 0 || + !merge_base || merge_base->next) { if (die_on_failure) { die(_("failed to find exact merge base")); } else { |
