diff options
| author | Junio C Hamano <gitster@pobox.com> | 2024-03-11 14:12:30 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-03-11 14:12:30 -0700 |
| commit | 7745f92507517c4e60dc2a7faad40eee49ee670b (patch) | |
| tree | f9eb30d1767f40a69db6b874f50bbdc8953d745d /submodule.c | |
| parent | e09f1254c54329773904fe25d7c545a1fb4fa920 (diff) | |
| parent | 25fd20eb44cfcbb0652595de2144f0e077a957ec (diff) | |
| download | git-7745f92507517c4e60dc2a7faad40eee49ee670b.tar.gz | |
Merge branch 'js/merge-base-with-missing-commit'
Make sure failure return from merge_bases_many() is properly caught.
* js/merge-base-with-missing-commit:
merge-ort/merge-recursive: do report errors in `merge_submodule()`
merge-recursive: prepare for `merge_submodule()` to report errors
commit-reach(repo_get_merge_bases_many_dirty): pass on errors
commit-reach(repo_get_merge_bases_many): pass on "missing commits" errors
commit-reach(get_octopus_merge_bases): pass on "missing commits" errors
commit-reach(repo_get_merge_bases): pass on "missing commits" errors
commit-reach(get_merge_bases_many_0): pass on "missing commits" errors
commit-reach(merge_bases_many): pass on "missing commits" errors
commit-reach(paint_down_to_common): start reporting errors
commit-reach(paint_down_to_common): prepare for handling shallow commits
commit-reach(repo_in_merge_bases_many): report missing commits
commit-reach(repo_in_merge_bases_many): optionally expect missing commits
commit-reach(paint_down_to_common): plug two memory leaks
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 40f13a3685..f0ddb31e8f 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; |
