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

Re: How to read 3-way differences in TortoiseMerge?

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Mon, 28 Jul 2008 20:12:10 +0200

Robert Dailey wrote:
> On Mon, Jul 28, 2008 at 9:55 AM, Stefan Küng <tortoisesvn_at_gmail.com
> <mailto:tortoisesvn_at_gmail.com>> wrote:
>
> You will see that, but only if you did an update after you've last
> committed the now merged file.
>
>
> Not sure what you mean here. If my working copy has revision 2 of a file
> committed by user "foo" and I'm doing an update that gets revision 3
> committed by user "bar", it should show the changes between revision 2
> and 3, yet it is showing changes between 1 and 3. Why do I have to
> commit the file being merged in order for this to work right? I can't do
> that anyway, because I have to update (to get the latest version) before
> I'm allowed to commit that file. Could you please clarify with examples?

Layout:
wc
wc\file

* update wc. wc at rev2
* modify file, commit -> file at rev3
* modify file, commit -> file at rev4
* modify file, commit -> file at rev5
* someone else modifies file and commits, repo at rev6
* update, file gets merged
* diff shows r2 of file as "theirs", r6 of file as "base" and WC as "mine"

But, the same sequence a little different:
* update wc. wc at rev2
* modify file, commit -> file at rev3
* modify file, commit -> file at rev4
* modify file, commit -> file at rev5
* update wc. wc is at rev5
* someone else modifies file and commits, repo at rev6
* update, file gets merged
* diff shows r5 of file as "theirs", r6 of file as "base" and WC as "mine"

> Here is what I would expect TortoiseSVN to do without having looked at
> the implementation:
>
> 1. User performs an "Update" on a specific directory in a working copy
> 2. During the update process, temporarily store the revision number
> of the current working version for each file that is updated.

Here's the problem: that's not possible. The svn library notifies the
client *after* it has already updated the file. There's no way to find
the revision of the file before an update (unless we would first scan
the whole working copy to get the revs of *every* file).

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net

Received on 2008-07-28 20:12:33 CEST

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