From: Glen Choo Date: Thu, 30 Jun 2022 20:35:47 GMT Subject: Re: [PATCH v3] submodule merge: update conflict error message Message-ID: In-Reply-To: <20220629224059.1016645-1-calvinwan@google.com> Hi! I have a suggestion for the output text; I haven't looked closely at the code changes. Calvin Wan writes: > Changes since v2: > [...] > Changes since v1: > [...] I notice that this is all above the "---", i.e. this becomes part of the commit message when "git am"-ed. Intentional? > If git detects a possible merge resolution, the following is printed: > > -------- > > Failed to merge submodule sub, but a possible merge resolution exists: > Merge branch '' into > > > If this is correct simply add it to the index for example > by using: > > git update-index --cacheinfo 160000 "" > > which will accept this suggestion. > > CONFLICT (submodule): Merge conflict in > Recursive merging with submodules is currently not supported. > To manually complete the merge: > - go to submodule (), and either update the submodule to a possible commit above or merge commit > - come back to superproject, and `git add ` to record the above merge > - resolve any other conflicts in the superproject > - commit the resulting index in the superproject > Automatic merge failed; fix conflicts and then commit the result. > > -------- I'm hesitant to recommend a plumbing command like "git update-index" to the user, especially if the user is one who needs help resolving a submodule merge conflict. I also believe this would be the first time we recommend "git update-index". To do this using only porcelain commands, maybe: git -C checkout && git add (Though this might need to be broken up into two commands because I'm not sure if we ever include "&&" in a help message. I'm guessing we don't for portability reasons?) > If git detects multiple possible merge resolutions, the following is printed: > > -------- > > Failed to merge submodule sub, but multiple possible merges exist: > Merge branch '' into > Merge branch '' into > > CONFLICT (submodule): Merge conflict in > Recursive merging with submodules is currently not supported. > To manually complete the merge: > - go to submodule (), and either update the submodule to a possible commit above or merge commit > - come back to superproject, and `git add ` to record the above merge > - resolve any other conflicts in the superproject > - commit the resulting index in the superproject > Automatic merge failed; fix conflicts and then commit the result. > > ------- For consistency, perhaps include the "here's how to use the suggestion" instructions here as well?