[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [Subclipse-users] Re: Merging still not working properly (1.4 → 1.5)

From: Hendrik Maryns <qwizv9b02_at_sneakemail.com>
Date: Wed, 26 Nov 2008 21:01:27 +0100

Mark Phippard schreef:
> On Wed, Nov 26, 2008 at 12:42 PM, Hendrik Maryns
> <qwizv9b02_at_sneakemail.com> wrote:
>> Hendrik Maryns schreef:
>>> Hi,
>>>
>>> Ok, so an upgrade to 1.5 etc., see my earlier posts.
>>>
>>> I just tried to merge a small change from trunk into a branch, it failed
>>> with the following error:
>>>
>>> org.tigris.subversion.javahl.ClientException: Invalid filesystem path syntax
>>> svn: Cannot replace a directory from within
>>>
>>> I think this is because it wants to go too far back in history.
>>>
>>> /MonaSearch-visualization> svn pg svn:mergeinfo
>>> /MonaSearch/trunk/MonaSearch:336-503
>>> /trunk/MSO:3-240
>>> /trunk/MonaSearch:241-268
>>>
>>> The branch was made at 336.
>>>
>>> What is wrong here? I think the CollabNet merge client has entered this
>>> wrong mergeinfo.
>> I think I solved it. As you can see, revisions 269 to 335 are missing
>> from the mergeinfo. It tried to merge them. I did
>>
>>> svn merge --record-only -r269:335
>> svn://coxorange/MonaSearch/trunk/MonaSearch
>>> svn commit -m "Populate mergeinfo"
>> and now it worked.
>>
>> I think the advice Mark gave me was wrong: you shouldn't do a
>> record-only starting at when the branch was created, but starting at 1
>> until now to populate the mergeinfo correctly. Is this true?
>
> I suspect the history of your tree is just more complicated than you
> are alluding to. To answer your final question, no that is not true.
> The mergeinfo should not contain information for the "natural history"
> of the branch. Put it this way, suppose this project had began its
> life after SVN 1.5 had been released. Would the current mergeinfo
> contain references going back to r1? The answer is no, it would not.
>
> Here is an easy test you can do:
>
> svn copy -r336 -m "Create branch to test merge"
> url://server/repos/trunk url://server/repos/branches/merge-test
> svn co url://server/repos/branches/merge-test merge-test-wc
> cd merge-test-wc
> svn merge url://server/repos/trunk
> svn pg svn:mergeinfo .
>
> The mergeinfo that is created is the mergeinfo you should now have on
> your other branch as well. This test basically creates a new branch
> from r336 then immediately does a merge of all changes it does not
> have.

Indeed. I did this test and what I got from the final command was:

merge-test-wc> svn pg svn:mergeinfo .
/MonaSearch/trunk/MonaSearch:337-525
/trunk/MSO:3-240
/trunk/MonaSearch:241-268

So somehow it still registers the revisions before the repository
refactoring as merged. I think I am starting to understand here. Phew,
many thanks.

H.

-- 
Hendrik Maryns
http://tcl.sfs.uni-tuebingen.de/~hendrik/
==================
Ask smart questions, get good answers:
http://www.catb.org/~esr/faqs/smart-questions.html

Received on 2008-11-26 21:01:49 CET

This is an archived mail posted to the Subclipse Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.