[SVNMERGE][PATCH] svnmerge rollback

Madan U Sreenivasan madan at collab.net
Fri May 19 09:11:03 PDT 2006


On Fri, 19 May 2006 18:41:33 +0530, Giovanni Bajo <rasky at develer.com>  
wrote:

> Madan U Sreenivasan wrote:
>
>>>>> +    oldest_src_rev =
>>> get_created_rev(opts["head-url"])
>>>>> +    src_pre_exist_range =
>>> RevisionSet("1-%d" % oldest_src_rev)
>>> Is this test really necessary? Doesn't the
>>> merge command just fail if you
>>> try reverting a revision at which the URL
>>> did not exist?
>>
>> yes, it does... but wouldnt it make sense to say the rollback command
>> failed instead of letting the user see a merge failure? Much more
>> cleaner, I think.
>
> What happens, exactly, if you remove that test? What's the actual output?


======================================================================
ERROR: `svnmerge rollback' should error out if range contains revisions  
prior to
----------------------------------------------------------------------
Traceback (most recent call last):
   File "/home/madan/wc/svnmerge/contrib/client-side/svnmerge_test.py",  
line 771, in testRollbackOutsidePossibleRange
     match = expected_error)
   File "/home/madan/wc/svnmerge/contrib/client-side/svnmerge_test.py",  
line 180, in svnmerge
     return self.svnmerge2(cmds.split(), *args, **kwargs)
   File "/home/madan/wc/svnmerge/contrib/client-side/svnmerge_test.py",  
line 191, in svnmerge2
     ret = svnmerge.main(args)
   File "/home/madan/wc/svnmerge/contrib/client-side/svnmerge.py", line  
1849, in main
     cmd(branch_dir, branch_props)
   File "/home/madan/wc/svnmerge/contrib/client-side/svnmerge.py", line  
1364, in __call__
     return self.func(*args, **kwargs)
   File "/home/madan/wc/svnmerge/contrib/client-side/svnmerge.py", line  
1265, in action_rollback
     svn_command("merge -r %d:%d %s %s" % \
   File "/home/madan/wc/svnmerge/contrib/client-side/svnmerge.py", line  
246, in svn_command
     split_lines=False)
   File "/home/madan/wc/svnmerge/contrib/client-side/svnmerge.py", line  
240, in launchsvn
     return launch(cmd, **kwargs)
   File "/home/madan/wc/svnmerge/contrib/client-side/svnmerge.py", line  
231, in launch
     raise LaunchError(ret, cmd, out)
LaunchError: (1, 'svn merge -r 13:1 file:///tmp/__svnmerge_test/repo/trunk  
.', "svn: The location for 'file:///tmp/__svnmerge_test/repo/trunk' for  
revision 1 does not exist in the repository or refers to an unrelated  
object\n")

The last line gives the 'svn merge' error....

Regards,
Madan.



More information about the Svnmerge mailing list