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

Re: [PATCH] Extend 'svn diff URL URL' to 'svn diff URL URL [WC]'

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Thu, 03 Dec 2009 11:56:03 +0000

Julian Foad <julian.foad_at_wandisco.com> writes:

> Philip Martin wrote:
>> It's possible to compare branches in the repository using
>>
>> $ svn diff ^/repo/branches/foo ^/repo/branches/bar
>>
>> but that only works if the current directory is a working copy because
>> libsvn_client/cmdline.c:svn_client_args_to_target_array converts
>> relative URLs to full URLs using the hardcoded path "". Since I
>> regularly have my current working directory outside a working copy
>> this is inconvenient.
>>
>> I'd like to be able to do
>>
>> $ svn diff ^/repo/branches/foo ^/repo/branches/bar path/to/wc
>>
>> and it turns out to be quite simple from a code point of view. It is,
>> of course, an extension to our rather complex diff UI. What do people
>> think?
>
> What does your example command line mean? I assume you mean path/to/wc
> is used just to identify the repository, and does not additionally
> specify something like which path within the branches you want diffed.

Yes.

> (Compare the diff syntax 2, where paths within the primary pair of
> targets can be specified at the end.)
>
> -1 to exactly as formulated here. It looks far too much like a
> (syntax-2) command for specifying sub-paths.
>
> We could consider instead something like
>
> $ svn diff ^/repo/branches/foo ^/repo/branches/bar --repos=[URL|WC]

But that's much harder to type. Also the new syntax is consistent
with most of the other commands that use '.' as a default, if one
doesn't want to use '.' one specifies the path explicitly:

$ svn log -qr880555
svn: '.' is not a working copy
$ svn log -qr880555
------------------------------------------------------------------------
r880555 | neels | 2009-11-12 16:25:11 +0000 (Thu, 12 Nov 2009)
------------------------------------------------------------------------

Why should diff not work the same way? Currently I get

$ svn diff ^/subversion/tags/1.5.x ^/subversion/tags/1.6.x
svn: '.' is not a working copy

When I got that error message it seemed obvious to me that I should
add a working copy path, I was surprised when it didn't work.

-- 
Philip
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2426657
Please start new threads on the <dev_at_subversion.apache.org> mailing list.
To subscribe to the new list, send an empty e-mail to <dev-subscribe_at_subversion.apache.org>.
Received on 2009-12-03 12:57:03 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.