Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

git reports merge conflict with no changes, empty lines (using git-subtree)

I'm testing the use of git-subtree to merge a library repo into a bigger project. It seems great in principle. Sometimes when I do a "git subtree pull" I get merge conflicts like this:

<<<<<<< HEAD
=======
An inserted line from the lib repo
>>>>>>> 4d348903449ebb584ab224cb34c6038fbf6b352d

That's for a change that was made in the library repo, merging into a file that has not been modified locally. Or another example, where I added a line in the local project repo, but in a file that is part of the subtree being merged:

<<<<<<< HEAD
Another inserted line
=======
>>>>>>> 4d348903449ebb584ab224cb34c6038fbf6b352d

Why would git report these as merge conflicts, but the region reported as the conflict is empty? Any way to prevent it?

These are easy enough to resolve, but it messes up the git-subtree workflow

like image 552
Jeremy Slade Avatar asked Dec 29 '11 18:12

Jeremy Slade


1 Answers

It's not a solution to your root problem, but rather a mitigation of it. you can use
git merge -Xignore-space-change to ignore space changes in your commits.

It's probably a problem with your line endings. you can try a --dry-run alternative in merge (git merge does not have --dry-run option):

$git merge -Xignore-space-change --no-commit --no-ff $BRANCH

to see the changes before you actually commit them.

like image 161
smohamed Avatar answered Oct 15 '22 09:10

smohamed