subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Sperling <>
Subject Re: FreeBSD project and subversion.
Date Wed, 06 Feb 2013 11:54:54 GMT
On Wed, Feb 06, 2013 at 07:21:04AM +0100, Branko ─îibej wrote:
> Given all the above, I think we should find a way to warn users -- with
> a one-line note in the header of the diff output, for example? -- about
> the cases where the two-parameter diff could be ambiguous (which, I
> believe, is when both parametrs are WC paths or URLs); and further, when
> any of the paths are unversioned.

We've always had the following 2-params cases (where no -r or -c
options are present):

 diff WC-PATH WC-PATH -> show diff against BASE for each target
 diff URL1 URL2 -> show diff between URLs

We've now added "URL WC-PATH" and "WC-PATH URL" cases to the mix,
in response to a user who expected these to behave like "URL1 URL2",
and was surprised to learn that they were erroring out instead:

 diff URL WC-PATH -> show diff between URL and WC-PATH
 diff WC-PATH URL -> show diff between WC-PATH and URL

I think there is a case to be made for keeping these.
Because the odd one out here is the "WC-PATH WC-PATH" case.
As you stated this case had to be compatible to CVS. It has always behaved
differently to the "URL1 URL2" case. So users have already been "confused"
with 2-param diff behaviour depending on the target type.

Hence I don't think adding the new cases makes things any worse.
I still think it's a usability enhancement because the user gets a
reasonable diff instead of an error.

But I can see that adding unversioned paths to the mix would increase
the likelihood of user confusion. That would open the door for 'svn diff
PATH1 PATH2' to produce either a diff against BASE for each file if
both files are versioned, or a diff between PATH1 and PATH2 if either
or both of PATH1 are unversioned. That's asking for trouble...

View raw message