Re: [PATCH v3] submodule merge: update conflict error message
> I notice that this is all above the "---", i.e. this becomes part of the
> commit message when "git am"-ed. Intentional?
Good catch. Not intentional at all.
On Thu, Jun 30, 2022 at 1:35 PM Glen Choo <chooglen@google.com> wrote:
Show 75 quoted lines
>
> Hi! I have a suggestion for the output text; I haven't looked closely at
> the code changes.
>
> Calvin Wan <calvinwan@google.com> 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:
> > <commit> Merge branch '<branch1>' into <branch2>
> >
> >
> > If this is correct simply add it to the index for example
> > by using:
> >
> > git update-index --cacheinfo 160000 <commit> "<submodule>"
> >
> > which will accept this suggestion.
> >
> > CONFLICT (submodule): Merge conflict in <submodule>
> > Recursive merging with submodules is currently not supported.
> > To manually complete the merge:
> > - go to submodule (<submodule>), and either update the submodule to a possible commit above or merge commit <commit>
> > - come back to superproject, and `git add <submodule>` 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 <submodule> checkout <commit> &&
> git add <submodule>
>
> (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:
> > <commit> Merge branch '<branch1>' into <branch2>
> > <commit> Merge branch '<branch1>' into <branch3>
> >
> > CONFLICT (submodule): Merge conflict in <submodule>
> > Recursive merging with submodules is currently not supported.
> > To manually complete the merge:
> > - go to submodule (<submodule>), and either update the submodule to a possible commit above or merge commit <commit>
> > - come back to superproject, and `git add <submodule>` 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?