subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Sperling <s...@elego.de>
Subject Re: FreeBSD project and subversion.
Date Tue, 05 Feb 2013 23:58:13 GMT
On Wed, Feb 06, 2013 at 12:30:05AM +0100, Johan Corveleyn wrote:
> Nah, it's fine, I think I'm starting to get convinced ;-). But it's
> still a pity that there is no relief (at least I don't see any) for
> confusion around the fact that 'svn diff WC-PATH1 WC-PATH2' doesn't
> diff WC-PATH1 and WC-PATH2 against each other.

I agree very much that it is rather confusing that
  svn diff WC-PATH1 WC-PATH1
does something else than:
  svn diff --old WC-PATH1 --new WC-PATH2

However, I think that the current help text makes the difference clear,
if only the user cares to read it.

As long as the documentation is clear enough, such subtleties are fine
with me. I mean that I'll probably be able to remember them and explain them
to people -- which is what I'm supposed to be doing at $DAYJOB -- hence
that's why I'm fine with it :)

Joke aside, I'm not sure if there is a really good way to resolve these
ambiguities. I don't really like that fact that we've got these --old and
--new options in the first place. It seems like a crutch for a lack of a
better syntax that can express all use cases equally well without being
rather weird and uncommon. But since the syntax is present in releases we
have to keep supporting it...

> The shorthands with the unversioned paths are quite nice I think, but
> there is an additional risk of confusion: 'svn diff UNVERSIONED-PATH1
> UNVERSIONED-PATH2' will mean something totally different than 'svn
> diff WC-PATH1 WC-PATH2' (even though they could both refer to the same
> local files, but the commands are separated by an invocation of 'svn
> add').

Yeah, it is going to make things even more confusing, of course!
But only for those who type the diff command and expect a different
result than they're getting :)
 
> > The error message is triggered by an invocation like:
> >
> >  svn diff -c42 foo ^/trunk bar
> >
> > Which is clearly invalid usage according to 'svn help diff'.
> 
> Yes, but in this case the user gives 3 targets, so he clearly couldn't
> have meant one of the shorthand syntaxes, right?

Only if the user did not understand the (somewhat obscure by nature) help
text... The warning is really meant to get people who provide nonsense
arguments to read 'svn help diff'.

Mime
View raw message