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

Re: Restricting svn log --diff output to single file

From: sebb <sebbaz_at_gmail.com>
Date: Fri, 20 Jan 2012 17:11:37 +0000

On 20 January 2012 16:07, Stefan Sperling <stsp_at_elego.de> wrote:
> On Fri, Jan 20, 2012 at 03:54:37PM +0000, sebb wrote:
>> Note that r848598 involves a directory copy.
>>
>> The diff command:
>>
>> $ svn log -l14 http://svn.apache.org/repos/asf/subversion/branches/1.0.x/STATUS@848689
>> --diff
>>
>> behaves properly up to that point, but then I get:
>>
>> >>>
>> r848598 | kfogel | 2004-01-27 17:08:24 +0000 (Tue, 27 Jan 2004) | 1 line
>>
>> Rename branches/1.0-stabilization to branches/1.0.x, as Brane suggested.
>>
>>
>> Index: 1.0-stabilization/Makefile.in
>> ===================================================================
>> --- 1.0-stabilization/Makefile.in     (revision 848574)
>> +++ 1.0-stabilization/Makefile.in     (revision 848575)
>>
>> <snip other file diffs/>
>>
>> <<<
>>
>> So it looks as though diff is broken when handling directory copies.
>
> This is a known problem. It has already been fixed in trunk, and the fix
> has been nominated for backport. It will likely be included in 1.7.3.

OK, thanks.

In case it helps anyone else in the meantime, I've managed to get
round the bug by using
    svn log --diff --stop-on-copy url-path-to-file_at_version
for each section of the files history (i.e. between copies)

The relevant urls and versions can be found from:
    svn log -qv filename | grep " (from "
which shows all the copy commands, for example:
   A /subversion/branches/1.0.x (from
/subversion/branches/1.0-stabilization:848597)

Unfortunately it also shows individual file copies which aren't
relevant, but this can be worked round.
Received on 2012-01-20 18:12:11 CET

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

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