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

Re: inconsistency between mergeinfo records

From: Bert Huijben <bert_at_qqmail.nl>
Date: Mon, 23 Feb 2015 10:25:58 +0000

I haven’t looked at the full details, but actual merges only store mergeinfo of what is actually merged (includes unaffected tree filtering, filtering what is already merged, etc.). A record only merge is a tool to just register as merged the affected target without further processing. It is primarily used to block further merges, or unblock something that wasn’t really merged.




So totally different mergeinfo is fully expected.




Does this answer your question, or did either of your operations record wrong mergeinfo?




Bert






Sent from Windows Mail





From: Stefan Hett
Sent: ‎Monday‎, ‎February‎ ‎23‎, ‎2015 ‎8‎:‎30‎ ‎AM
To: 'subversion'





Another user (Sergey Azarkevich) actually pointed me to an interesting fact:
C:\test\test2checkout>svn merge file:///C:/test/test2/A B --record-only
--- Recording mergeinfo for merge of r2 through r5 into 'B':
...

C:\test\test2checkout>svn merge file:///C:/test/test2/A B
--- Merging r3 through r5 into 'B':
...

Using explicit range of revisions same as for --record-only lead to equal
modifications in wc:
C:\test\test2checkout>svn merge file:///C:/test/test2/A B -r 2:5
--- Merging r3 through r5 into 'B':

Note the different ranges (r2-r5 vs. r3-r5 in the first two calls).
Maybe this sheds some light here?

Regards,
Stefan
> Looks like the batch-file got truncated by some clients/mail servers
> on the way --- here's the plain batch file content.
> Anyone having an idea what's going on here?
>
> REM create test repository
> mkdir C:\test
> cd /d C:\test
> mkdir test2
> svnadmin create test2
>
> REM check-out test repository
> mkdir test2checkout
> svn co file:///C:/test/test2 ./test2checkout
> cd test2checkout
>
> REM add initial structure
> mkdir A
> echo > A\test.txt
> svn add A
> svn commit -m test
>
> REM copy A to B
> svn cp A B
> svn commit -m test
>
> REM modify A/test.txt
> echo >> A\test.txt
> svn commit -m test
>
> REM cherry pick test.txt change and commit to B
> svn up
> svn merge -r 2:3 A/test.txt B/test.txt
> svn commit -m test
>
> REM modify A/test.txt again
> echo >> A\test.txt
> svn commit -m test
>
> REM do an auto merge of B
> svn up
> svn merge file:///C:/test/test2/A B
> REM This produces merge infos in B only
>
> REM alternative
> svn revert B -R
> svn merge file:///C:/test/test2/A B --record-only
> REM This produces merge infos in B AND B/test.txt
>
> Regards,
> Stefan
>> Hi,
>>
>> I'm wondering why there is a difference in how mergeinfos are
>> recorded based on whether the merge is done using --record-only or not.
>> To demonstrate the case, I've put together a repro-script (for
>> Windows - see attachment).
>>
>> My question is that why does the last step in the script produce
>> different merge-info properties:
>>
>> 1. svn merge file:///C:/test/test2/A B
>> This will produce mergeinfo in B
>>
>> 2. svn merge file:///C:/test/test2/A B --record-only
>> This will produce mergeinfo in B and B/test.txt
>>
>> Looking through the web, the docu and the SVN buglist I couldn't find
>> any matching entry. Maybe someone can point me on where to look for
>> an explanation?
>>
>> I'm wondering especially because as an alternative to variation 2,
>> one might also follow variation 1 and then revert all changes (except
>> for the recorded mergeinfo B). Isn't the outcome then the same as
>> variation 2?
>>
>> Regards,
>> Stefan
>
Received on 2015-02-23 11:32:24 CET

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

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