Re: subtree merge tries to merge into wrong directory
- From
Nils Adermann <naderman@naderman.de>
- Date
- Dec 10, 2009, 04:26 UTC
- Message-ID
- <4B207866.2010400@naderman.de>
- In-Reply-To
- <20091210042008.GA3398@gmail.com>
David Aguilar schrieb:
Show 54 quoted lines
> 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.