On Tue, Dec 1, 2009 at 4:16 PM, Jean-Marc van Leerdam
<j.m.van.leerdam_at_gmail.com> wrote:
> Hi Daniel,
>
> 2009/11/30 Daniel Becroft <djcbecroft_at_gmail.com>:
>> Does anyone have any further comments to this? If I'm misunderstanding
>> what the "Compare with Previous Revision" is supposed to do, then my
>> apologies. But, it does seem inconsistent.
>>
>> When selected the "Show Log" from the Repository Browser for the path
>> svn://X/alpha:
>>
>> a) For a revision (r10) with a file copy (from r5), it will show the
>> difference between r10 and r5 for the path /alpha (which will include
>> all the changes made to unrelated files under /alpha in r6-9)
>> b) For a revision (r11) with a file copy (from r5), and a modification
>> to a separate file, it will show the diffference between r11 and r10
>> (the previous revision on /alpha).
>> c) For a revision (r12) with multiple file copies (from the same
>> revision), it will show the difference between r12 and r11 (the
>> previous revision on /alpha).
>>
>> I could list all the combinations that I have checked, but they will
>> all do the same as (b) or (c) - which is what I would have expected.
>> It only seems the first scenario (single file copy) that seems to be
>> acting differently.
>>
>> Maybe it is my misunderstanding of what the "Compare with Previous
>> Revision" is supposed to do. My understanding of it, is to answer the
>> question "What files/directories under this path were affected by this
>> revision?" Is this where I am incorrect?
>>
>
> I think it has to do with the logic that determines 'this path'. AFAIK
> the logic operates like this:
Hmm ... perhaps. I would have expected that "this path" is simply the
repository path for which the log is being viewed for. If I view the
log for /alpha, then 'this path' should be /alpha. If I view the log
for /alpha/beta/source-modified, then 'this path' should be
/alpha/beta/source-modified.
> For a single file request, the history of that particular file is seen
> as the context in which the request is made, hence it's content at the
> original location is taken to compare with.
But even that is not what is happening. Given the following revision
(r25) that adds the following file:
+ alpha/beta/source-modified/foo.c (copied from
/alpha/beta/source-base/foo.c @ r10)
If I view the log for the /alpha path, select r25, and "Compare with
Previous Revision", then I get a list of all the changed files between
o/alpha_at_10, and /alpha_at_25, which includes changes t /alpha/gamma,
/alpha/readme.txt, etc. None of which have been modified in the
selected revision.
Interestingly, even if I view the log for the
/alpha/beta/source-modified path, select r25, and "Compare with
Previous Revision", I still get a list of all the changes between
/alpha/beta/source-modified_at_10, and /alpha/beta/source-modified_at_r25.
If it is tracing back the file to find the individual file's previous
revision, then that's fine, but why then does it apply that revision
to the parent path?
> For a request with multiple files, the common path ancestor of these
> files is used, and files are matched against files from the same
> ancestor tree as it was in the revision. Files are then compared if
> they have the same name (even if their history is completely
> unrelated).
Still not sure I understand this.
Cheers,
Daniel B.
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2425778
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2009-12-01 11:14:46 CET