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 /submodule.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 'submodule.c')
| -rw-r--r-- | submodule.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/submodule.c b/submodule.c index 213da79f66..1835728ebe 100644 --- a/submodule.c +++ b/submodule.c @@ -592,7 +592,12 @@ static void show_submodule_header(struct diff_options *o, (!is_null_oid(two) && !*right)) message = "(commits not present)"; - *merge_bases = repo_get_merge_bases(sub, *left, *right); + *merge_bases = NULL; + if (repo_get_merge_bases(sub, *left, *right, merge_bases) < 0) { + message = "(corrupt repository)"; + goto output_header; + } + if (*merge_bases) { if ((*merge_bases)->item == *left) fast_forward = 1; |
