* jpalacios@atlassian.com
@ 2014-10-24 2:50 Juan Palacios
0 siblings, 0 replies; only message in thread
From: Juan Palacios @ 2014-10-24 2:50 UTC (permalink / raw)
To: git
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 included at the bottom 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
--------------------------
# Create a submodule
mkdir submodule
pushd submodule
echo "This is a submodule" > README.txt
git init
git add README.txt
git commit -m "Initial commit"
popd
# Create a top level project
mkdir top-level-project
pushd top-level-project
echo "This is a parent project" > README.txt
git init
git add README.txt
git commit -m "Initial commit"
# Add submodule to top level project
git submodule add ../submodule/
git commit -m "Added a submodule"
# Create two diverging branches
git checkout -b branch_that_points_the_submodule_to_new_commit
git checkout -b branch_that_moves_the_submodule_to_new_path
# Update the commit the submodule points to in one branch
git checkout branch_that_points_the_submodule_to_new_commit
pushd submodule
echo "This modifies the README file" > README.txt
git add .
git commit -m "Added line to README file"
popd
git add submodule
git commit -m "Updated submodule to point to new commit"
# Move the submodule directory in the other branch
git checkout branch_that_moves_the_submodule_to_new_path
git submodule update
git mv submodule submodule-moved
git commit -m "Moved submodule to new path"
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-10-24 2:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-24 2:50 jpalacios@atlassian.com Juan Palacios
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).