[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Diff against a file that doesn't exist in HEAD?

From: Ben Collins-Sussman <sussman_at_red-bean.com>
Date: 2006-03-14 03:40:36 CET

On 3/13/06, Justin Erenkrantz <justin@erenkrantz.com> wrote:

> Why is 'diff -rX:Y URL' not equivalent to 'diff URL@X URL@Y'?
>
> I think I now understand what Julian's post about the diff/peg-rev
> mess is about. This is completely counter-intuitive. -- justin
>

No, it's completely consistent with the other svn commands.

  svn subcommand -rX[:Y] path

"Perform subcommand on PATH@BASE, tracing any renames backwards to -rX
(or Y). Or, if path is a URL instead of a working path, then trace
renames backwards from URL@HEAD."

This is how cat, ls, diff, checkout, export, switch, (and maybe some
others) all work.

Once again, it all comes down to the dead horse of a question: is it
more intuitive to make every command "specialized" for itself (i.e.
have an optimized syntax for its own most common use case), or is it
more intuitive to make every command have a similar syntax, even if
it's not always the most efficient one?

Others will also frame it in terms of the classic question: do you
write your software for newbies or for power-users? It's really hard
to do both. You're obviously craving the power-user "do the shortest,
most efficient syntax for each command", but then that makes it harder
and harder for newbies.

In any case, we decided way back to go for consistency rather than
optimization. It would be nearly impossible to backtrack on that.
Maybe svn 2.0 could go for optimization instead.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Mar 14 03:41:26 2006

This is an archived mail posted to the Subversion Dev mailing list.