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

Re: [TSVN] Revision ranges when merging

From: Simon Large <simon_at_skirridsystems.co.uk>
Date: 2005-08-26 14:53:33 CEST

Klaus Drechsler wrote:
>>>Who is wrong? The svn book, or TSVN?
>>Neither. In TSVN you select the revisions you want to merge back into
>>the trunk, and TSVN automatically decrements the start by 1 because
>>merging requires a diff against the previous revision.
> That TSVN automatically decrements the start by one is more than confusing.
> When I want to merge revision x1 to x2 of a branch to the trunk, then it
> would be most intuitive if I select x1 in the "show log" window and TSVN
> would show me x1 in the input field. A normal user would not understand why
> TSVN tries to change what the user has selected.

Consider a frequent use case, where you want to merge the changes from
one revision on trunk into a branch (eg. merge a trunk bugfix into a
stable release branch).

1. Show log for trunk.
2. Select the single revision you are interested in (say r123)
3. TSVN fills in the boxes as 122:123

> And because the command line tool works with x1 and x2 it is even more
> intuitive to use x1 and x2 in TSVN.

There are lots of places where TSVN is not identical to the command
line. For example if you right click in the Show Log dialog you will see
entries like 'Show differences as unified diff'. In the CLI you need to
specify a revision range, but in TSVN you can select a single revision
and get the changes associated with that revision, ie diff(N-1:N).

Or if you want to revert changes from a previous revision, you select
that one revision in Show Log, and TSVN generates the (reverse) merge
command to undo that revision, ie merge(N:N-1).

In TSVN you select one revision. In the CLI you have to specify 2. For a
GUI it is intuitive to select the revision you are interested in, rather
than try to mimic the command line exactly.

> Hmm...then I have done a wrong merging :-(
> Because I selected r38 (according to the book and the commandline client).
> TSVN changed this to r37, so I thought that this is ok.
> I merged 37:BranchHead instead of 39:BranchHead :-(

I am surprised the merge worked at all because the branch did not exist
in r37. Normally doing that will throw an error message. You had your
working copy on trunk, and you merged the branch revisions from the
repository into your trunk WC?

But on trunk, r37 and r38 are identical anyway.

>>We tried to make merging more intuitive for a GUI client by doing it
>>this way, but people who are used to the command line client now
>>sometimes find it confusing :-(

> I would like to see this "intuitive" feature removed from TSVN and changed
> to be compatible with the commandline tool.

When it was identical to the CLI, a lot of people complained that it was
confusing too. It's hard to please everyone :-( I admit it is still far
from perfect, but I have not yet come up with a way that is intuitive
for GUI lovers and also not confusing for CLI lovers at the same time.
Merging is just a very awkward subject.

> I am evaluating TSVN for my company. Merging with Subversion isnīt that fun
> (because of missing merge tracking and log messages are not shown in the
> trunk after merging etc.), and such an "intuitive" feature makes merging
> even harder. I use both, TSVN and the command line tool, and having two
> different semantics for the same feature is really confusing.
> Please change it in the name of love :-)))

Maybe it could be an option, but that might just cause even more
confusion, especially if you go to help a colleague and (s)he has the
option set differently from yours.


   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 Fri Aug 26 14:53:40 2005

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.