Re: subtree merge tries to merge into wrong directory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David Aguilar schrieb:
On Thu, Dec 10, 2009 at 04:41:03AM +0100, Nils Adermann wrote:
Following http://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-subtree.html I have subtree merged a 3rd party library (ezc-reflection) into my repository (pflow). The prefix I used was lib/ezc/trunk/Reflection. Now there have been changes to ezc-reflection but merging them into my repository fails. The merge is attempted in example/ rather than lib/ezc/trunk/Reflection.

I originally set this up with:

git remote add -f ezc-reflection /path/to/ezc-reflection
git merge -s ours --no-commit ezc-reflection/master
git read-tree --prefix=lib/ezc/trunk/Reflection -u ezc-reflection/master

Reproduce my problem by executing the following:

git clone git://github.com/naderman/pflow.git
cd pflow
git reset --hard f3e001e3
git fetch git://github.com/naderman/ezc-reflection.git master
git merge -s subtree FETCH_HEAD

As you see this results in:

CONFLICT (delete/modify): example/src/doc_comment_parser.php deleted in HEAD and modified in FETCH_HEAD. Version FETCH_HEAD of example/src/doc_comment_parser.php left in tree.
Automatic merge failed; fix conflicts and then commit the result.

As long as I don't make any changes to lib/ezc/trunk/Reflection that I want to merge I can work around this by simply repeating my original process like this:

git clone git://github.com/naderman/pflow.git
cd pflow
git reset --hard f3e001e3
git fetch git://github.com/naderman/ezc-reflection.git master
git merge -s ours --no-commit FETCH_HEAD
git rm -r lib/ezc/trunk/Reflection/
git read-tree --prefix=lib/ezc/trunk/Reflection/ -u FETCH_HEAD

Why does this problem occur and how can I get the merge to work properly?

I'm not sure, but maybe you can try git-subtree?
It makes this stuff easier for mere mortals.

http://github.com/apenwarr/git-subtree/

You might need to start redo your repo, but several people have
had good success with git-subtree.
I actually tried that and I get the exact same problem. From what I understand git-subtree really doesn't do anything different than what I do anyway.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]