Jeff King reported that Coverity pointed out a problem in the patch series "The merge-base logic vs missing commit objects" (which made it into the next branch already): The return value of merge_submodules() is assigned to an unsigned, single-bit variable, which as a consequence is not able to hold a negative value indicating a non-recoverable error. I looked into this issue and am happy to report that there are no other instances of the same issue in that patch series. The first patch in this here patch series addresses that issue. While looking into this issue I also noticed that the merge_submodule() function did not even return negative values! This was an oversight on my part (which I attribute with a large amount of self-compassion to my utter lack of enthusiasm for submodules as a Git feature), and the second patch in this here patch series addresses that. This is a follow-up for https://lore.kernel.org/git/pull.1657.v4.git.1709113457.gitgitgadget@xxxxxxxxx/, based on the js/merge-base-with-missing-commit branch. Johannes Schindelin (2): merge-recursive: prepare for `merge_submodule()` to report errors merge-ort/merge-recursive: do report errors in `merge_submodule()` merge-ort.c | 5 +++++ merge-recursive.c | 21 +++++++++++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) base-commit: caaf1a2942c25c1f1a15818b718c9f641e52beef Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1686%2Fdscho%2Fmerge-base-and-missing-objects-followup-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1686/dscho/merge-base-and-missing-objects-followup-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/1686 -- gitgitgadget