2012/1/20 sebb <sebbaz_at_gmail.com>:
> 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.
Note, that you can also get diff for particular revision of a file
using "svn diff -c"
E.g.
svn diff -c r848689
http://svn.apache.org/repos/asf/subversion/branches/1.0.x/STATUS@848689
Though this command shows less information than svn log --diff.
Best regards,
Konstantin Kolinko
Received on 2012-01-20 19:17:47 CET