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.

Reply via email to