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

Re: TSVN - Log Dialog - Compare with Previous Revision

From: Daniel Becroft <djcbecroft_at_gmail.com>
Date: Thu, 26 Nov 2009 08:03:47 +1000

On Thu, Nov 26, 2009 at 7:35 AM, Stefan Küng <tortoisesvn_at_gmail.com> wrote:
> On 25.11.2009 02:03, Daniel Becroft wrote:
>> Hi,
>>
>> I've come across a strange situation with the Log Messages dialog, and
>> the "Compare with Previous Revision" option.
>>
>> The Log Messages dialog is launched from the Repository Browser window
>> (from a parent directory, /alpha). I have the following change
>> (r7612), which is listed in the file list as:
>>
>> Action: Added
>> Path: .../alpha/beta/source-modified/foo.c
>> Copy from path: .../alpha/beta/source-base/foo.c
>> Revision: 7499
>>
>> (/source-modified and /source-base are sibling folders, and the file
>> has been copied with additional modifications).
>>
>> If I right-click on the revision in the top pane, and select "Compare
>> with Previous Revision", I expected to see (in the Changed Files
>> window) the difference between /alpha_at_7611 and /alpha_at_7612 (which
>> should only be the copy of foo.c). However, what I actually get is a
>> comparision between /alpha_at_7499 and /alpha_at_7612.
>
> But that's correct: the previous revision of that file is the one from
> where it was copied from.

Shouldn't it be the previous revision on the path for which I am
viewing the log for (rather than the previous revision for the copied
file)? I would have expected the "Changed Files" window to display the
equivalent of:

    svn diff --summarize -c 7612 svn://..../alpha

I still don't understand why it is showing the equivalent of:

    svn diff --summarize -r 7499:7612 svn://.../alpha

instead.

If I use the "Show Changes as Unified Diff" option on the revision, it
gives me the same output. It shows the differences of all files
changed (including those under /alpha/gamma, /alpha/delta, etc), even
those these were not changed in the revision I selected.

This only seem to be happening for a revision with a single copied
file. If I have multiple files, or multiple files with different "Copy
From" revisions, then the "Compare with Previous Revision" correctly
displays the difference between the revision selected, and the one
immediately prior to it.

> TSVN has to follow the copyfrom path,
> otherwise (in case of a rename) it wouldn't find the file at /alpha_at_7611
> because the file would have another name in r7611.

If I right-click on the "foo.c" path in the bottom section of the Log
Messages dialog, and select the "Show Changes" option, then I would
expect that. This option correctly shows the difference between
source-base/foo.c_at_7499 and source-modified/foo.c_at_7612.

> Sure, if you only copied the file without any modifications, the diff
> isn't really useful. But it often happens that you copy a file in your
> working copy, modify it and then commit it. So you would actually get a
> diff in this situation.
>
> Stefan
>
> --
>        ___
>   oo  // \\      "De Chelonian Mobile"
>  (_,\/ \_/ \     TortoiseSVN
>    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
>    /_/   \_\     http://tortoisesvn.net
>
> ------------------------------------------------------
> http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2424417
>
> To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
>

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2424432

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2009-11-25 23:04:11 CET

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