subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Hargett <Matt.Harg...@riverbed.com>
Subject Re: adding --include-externals to svn diff
Date Wed, 06 Feb 2013 20:01:05 GMT
On 2/2/13 1:51 AM, "Daniel Shahaf" <d.s@daniel.shahaf.name> wrote:

>Matt Hargett wrote on Sat, Feb 02, 2013 at 02:04:06 +0000:
>> To parallel the additions of --include-externals to the 'commit' and
>>'ls'
>> commands, I would also like to propose adding the option to the 'diff'
>> command. I just tested latest trunk and the option is unrecognized.
>...
>> Let me know what I can do, within reason, to help bring make these
>> commands more congruent for 1.8.0.
>
>The first step is to define the behaviour of the would-be-added option.
>For example, is it only valid for working copy targets?  How does it
>behave when one or both targets is a URL?

All good questions.

Right now, "svn status" automatically recurses into externs which is
useful. There are various ways to 'trick' diff into doing the same thing
with varying degrees of accuracy, namely "svn diff *" from the checkout
root.

Aside from the working copy case, I can see this would be useful for URLs
as well
when I am trying to understand all the source differences (which includes
externals) that went into a release:
"svn diff -r193:301 svn://svn.sourceware.org/binutils/trunk".

The resulting diff could then apply to any checkout that didn't ignore
externs.

As for comparing a working copy to a specified URL, I wasn't aware that
such a thing was possible.

Getting commit to the same level of capability as status is a very nice
addition, getting diff to the same level will really help eliminate
confusion, frustration, and maintenance overhead (due to the need for
custom wrapper scripts) for deployments that leverage externs.

What other things would you like to discuss or have me research? I could
take a stab at a patch for trunk as well, if the concept is agreeable.

Thanks!


>    % $svn help diff
>    diff (di): Display the differences between two revisions or paths.
>    usage: 1. diff [-c M | -r N[:M]] [TARGET[@REV]...]
>	   2. diff [-r N[:M]] --old=OLD-TGT[@OLDREV] [--new=NEW-TGT[@NEWREV]] \
>		   [PATH...]
>	   3. diff OLD-URL[@OLDREV] NEW-URL[@NEWREV]
>


Mime
View raw message