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
> 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.
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.tigris.org
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org
Received on Mon Sep 26 10:37:06 2005