Philip Martin <philip@codematters.co.uk> writes:
> How about a new command that requires exactly two targets (maybe
> allowing one to default to the current directory). Then we don't need
> more options.
>
> $ svn xxx target1 target2 # case 1
> $ svn xxx -rREV target1 target2 # case 2
> $ svn xxx -rREV1:REV2 target1 target2 # case 3
>
> Target can be a wc path or an URL. Cases 1 and 2 are straightforward,
> the only "tricky" bit is that in case 3 REV1 applies to target 1 and
> REV2 applies to target2.
>
> What could 'svn xxx' be? Well, two things come to mind
>
> $ svn rdiff target1 target2
> $ svn compare target1 target2
Neat idea... I still lean toward a new option, though. Here are my
concerns:
1) Ever talk to Your Mythical Average CVS User about the difference
between "cvs diff" and "cvs rdiff"? :-) Most people are confused
that there are two commands, and with good reason I think. It's
*conceptually* the same operation, they don't understand why you
would need two different commands to do the same thing.
I'm not saying that a new option isn't confusing too, but it's
less so, because the issue becomes how to *invoke* the obvious
command, rather than which command to use.
2) We'll be using the same syntax for merge, and who knows what
else down the road... A new option can at least be shared, but
sprouting new commands means we're constantly having to write
two ways to do the same thing. (Think "cvs tag" and "cvs rtag"
for another example.)
Also, I didn't mention it in my proposal, but we can actually mix -R
with other arguments/options. For example:
$ svn diff -RREV1:BRANCH_FOO_PATH ./trunk/blah/foo
In other words, there are times when you want to compare a local
working file with some arbitrary rev:path on the server.
-K
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:37:00 2006