[SVNMERGE][PATCH] handle -r X-Y, where X > Y

Raman Gupta rocketraman at fastmail.fm
Tue May 16 04:39:03 PDT 2006


Madan U Sreenivasan wrote:
> On Tue, 16 May 2006 11:23:52 +0530, Giovanni Bajo <rasky at develer.com>
> wrote:
> 
>> Madan U Sreenivasan <madan at collab.net> wrote:
>>
>>>> "svn merge" accepts the reversed order with a different semantic
>>>> (reversed merge).
>>>
>>> I only know that 'svn merge' understands a reverse merge if you
>>> simply say -r 45-30. Am sorry, could you explain this different
>>> semantic?
>>
>> "svn merge -r45:30" is the exact reverse of "svn merge -r30:45".
> 
> That is exactly why I would expect a svnmerge user to give -r 45-30
> instead of -r 30-45 (I did that myself when writing the tests).

If you have an expectation that -r45-30 is different from -r30-45 (as
I think would most people), why do you want to write code that will
make those two things equivalent?

>> Basically, the former is a rollback command. Also "svn diff
>> -r45:30" produces the reverse patch. So there is precedence
>> within SVN that X:Y (with X>Y) means the reversed set of changes.
>> Generically, X:Y means "the set of changes which can be applied 
>> to revision X to obtain revision Y".
> 
> I think svnmerge shouldnt imitate that behavior. esp since we are 
> planning two seperate commands merge/rollback which decide the
> direction of the merge. so the order of the revision range becomes
> redundant.
>>
>> This is why I'm hesitant on having svnmerge accept reversed ranges and
>> normalize them.
> 
> I can understand. But seriously, this is something thats waiting to be
> done... just a matter of time before people understand that X-Y and Y-X
> can be used interchangeably in svnmerge.

I'm not a committer, but I don't understand your point and so far I'm
-1 on this change. To me, X-Y and Y-X mean something different, and I
don't believe that svnmerge.py should make them equivalent.

I'd rather that you "imply" a rollback command when the user specified
Y-X, since that would be consistent with the behavior of svn merge.

Cheers,
Raman



More information about the Svnmerge mailing list