In a project with a submodule, if you merge two diverging branches in
which one branch updated which commit the submodule points to, and the
other branch moves the submodule to a new location, the resulting
merge error message does not provide information about what the
conflict was, or the path to the conflicted directory.

I've attached a short script which sets up a project with a submodule
and creates both branches. If after running it you cd into
'top-level-project' and run 'git merge
branch_that_points_the_submodule_to_new_commit' the resulting error
message is:

Auto-merging submodule-moved
Adding as submodule-moved~HEAD instead
Automatic merge failed; fix conflicts and then commit the result.

I would have expected an output in line with other merge conflict
messages. Something with the format:

CONFLICT (<REASON>): Merge conflict in <PATH_TO_CONFLICT>

Where <REASON> would be something like (delete/modify) I believe this
might be a bug in the implementation.

Thank you

Attachment: submodule-conflict.sh
Description: Bourne shell script

Reply via email to