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

Re: [TSVN] TortoiseMerge 1.2.4 Build 4479 - Merge "From" Revision Selection Bug

From: Simon Large <simon_at_skirridsystems.co.uk>
Date: 2005-09-26 10:37:01 CEST

Huston, Robert @ AS wrote:
> I am using TortoiseSVN/TortoiseMerge 1.2.4. I have been very happy with the
> product since I started using it in Feb 2005, but I have encountered an
> annoying issue when working with the Merge dialog box. Once I have the
> "From" URL set up, and I click the "Show Log" button to select my ranges,
> TortoiseSVN always enters a revision number that is "one less" than the
> beginning revision number in the "Revision" field. I always have to fix it
> manually.
>
> I did a search on your Issue Tracker but nothing jumped out (I
> searched for things related to "merge"). (This has been a problem since the
> TortoiseSVN 1.2.1 release, and I submitted an issue to the "dev" list at
> that time, but I have a feeling it didn't go through.)

It has been that way since 1.2.0. You're not the first person to ask, so
I should really put this in the FAQ.

> As an example of the problem, assume that a "my_branch" directory has been
> created and has the following history:
>
> 8 Removed tother
> 7 Added that
> 6 Fixed this
> 5 Created "my_branch" branch from rev 4 of trunk
>
> In this case, rev 5 was where the branch was copied from the trunk. Later,
> when this branch is to be merged into the trunk, the Merge dialog is invoked
> in a WC of the trunk, the "my_branch" directory is selected as the "From"
> URL, and the merge range is selected in the "Show Log" window from 5 to 8,
> the values for the "from" and "to" revisions end up being 4 and 8
> respectively, and not 5 and 8 as they should be. This happens consistently;
> the "from" revision always defaults to one less than what was selected from
> the "Show Log" window and I have to adjust it manually. In the TortoiseSVN
> 1.1.x release line, I was always able to select the "from" and "to"
> revisions from the "Show Log" window and this was very convenient. Is there
> a way to get this behavior back?

No, because it is deliberate. Suppose you want to merge only revs 7 and
8. With a GUI client the intuitive thing to do is select those 2 revs
and hit the merge button. If TSVN filled out the From/To fields as 7-8
you would actually only merge rev 8. That is why we do an automatic -1.
The same thing happens in the ShowLog dialog when you "Revert changes
from this revision". You select one revision and TSVN quietly does a
merge of N:N-1 to undo the changes. Same principle, and it is the
expected behaviour for a GUI client.

In your case, you want to merge the changes from revs 6-8. You don't
need to merge rev 5 (branch creation), so don't include it in the selection.

If you copied the branch from trunk directly in the repository (as
opposed to using a modified WC as the source), it won't matter if you
include the branch creation, because trunk@r4 is identical to branch@r5.

If you created the branch from a modified WC then (assuming you want to
include the initial mods as well) you *must* include the branch creation
  so TSVN's use of r4 is correct. Using r5 would merge only the changes
*after* branch creation.

Hope this explains what is going on.

Simon

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Mon Sep 26 10:37:06 2005

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