On Tuesday, February 05, 2013 05:08:40 PM Stefan Sperling wrote: > On Tue, Feb 05, 2013 at 12:59:43PM +0100, Johan Corveleyn wrote: > > Given what I said above, this can't be done in general (not if you > > give two URLs or two wc paths, because then both synopsis 1 and 2 are > > possible -- it would obviously break backwards compatibility if we > > would now start erroring out on these, while these used to work fine > > with automatically picking usage 1 before). Only if one of them is a > > URL and the other a WC path, because we give an error message then > > anyway. > > I think Alexey meant only the cases where we currently error out, i.e. where > exactly two targets are given and one is a path and the other is a URL. > > I didn't realise this but there is indeed no ambiguity in allowing this > syntax as a shorthand for a corresponding '--old X --new Y' diff invocation. > > Thanks Alexey, see http://svn.apache.org/r1442640 > Making these invocations produce a diff instead of an error makes things > less surprising for users.
Thanks! There is one more weird issue with svn diff, see the script below. The issue is that "--old=A --new=B" is not opposite of "--old=B --new=A". I don't know if it is a bug or another ambuguity I am not aware of :) Here is the script: [[[ #!/bin/bash REPO=/tmp/foo WC=/tmp/foo.wc rm -rf $REPO $WC svnadmin create $REPO svn co -q file://$REPO $WC cd $WC echo r1 > a svn add -q a svn ci -q -m R1 echo r2 > a svn ci -q -m R2 svn up -q -r 1 echo new > a echo "Issue: --old=A --new=B is not opposite of --old=B --new=A" echo " Running: svn di --old=^/ --new=." svn di --old=^/ --new=. echo " Running: svn di --old=. --new=^/" svn di --old=. --new=^/ ]]] And here is the output (svn 1.7.6): [[[ Issue: --old=A --new=B is not opposite of --old=B --new=A Running: svn di --old=^/ --new=. Index: a =================================================================== --- a (.../file:///tmp/foo) (revision 2) +++ a (working copy) @@ -1 +1 @@ -r2 +new Running: svn di --old=. --new=^/ Index: a =================================================================== --- a (working copy) +++ a (.../file:///tmp/foo) (revision 2) @@ -1 +1 @@ -r1 +r2 ]]] Regards, Alexey.