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

[TSVN] Re: Merge dialog

From: Simon Large <slarge_at_blazepoint.co.uk>
Date: 2005-01-24 12:37:38 CET

SteveKing wrote:
> As the screenshot shows, the dialog has an info text on top which
> clearly shows where the merge will be stored/saved to. So that
> reduces the confusion with the "from/to" revisions a little.

That bit is good. I think you could add some line breaks, because those
paths only need to be a little bit longer before they get a wrap forced
by the width of the dialog box, and I don't want it to wrap in the
middle of a folder name which has a space in.

> Then, a groupbox indicates that the user has to select a _range_ to
> merge. Either by simply selecting revisions in the log dialog
> (Ctrl-Click or Shift-Click would select mutliple entries), which then
> would show up in the list to the right of the show log button

I really like that feature. Being able to select the revision/range to
merge from showlog is a big step forward. And it gets around having to
subtract 1, which some of us found confusing. Of course it is now
different from the CLI which will confuse a different bunch of people
instead. I did wonder about allowing the user to select a 'classic'
interface, which is essentially the same as we have now, mirroring the
CLI, and a 'don't-know-what-to-call-it' interface which uses more
intuitive GUI methods.

If you have a non-contiguous range (a range with gaps), you will need to
do the merge in several steps, which means the dry-run feature will
either have to be disabled, or shown as the series of separate merges
that it really is.

I think the list of revisions should be in an edit box rather than plain
text. Ideally, the user should be able to enter that information
manually, so if I _know_ I need to merge r2497 then I don't want to
waste time with ShowLog. But that means you need to syntax-check the
range information. If you don't want to do that, then a read-only edit
box at least allows the range to scroll if it is bigger than the
allocated space.

> Or, the user can specify a second URL to the first one as the range.

Now this bit _is_ confusing. Instead of specifying a range, I am now
specifying a second URL. But how do I set the revision numbers for the
first URL and the second URL? What happens if I already selected a
range?

The default could be HEAD, but I have just filed this as a doc problem
on the SVN list. Using HEAD is dangerous because you don't know who else
is committing right now. Merging changes from a feature branch means I
need to sync branch to trunk, then merge the differences between branch
and trunk into trunk. But if someone else commits to trunk after I sync
the branch, then the merge to trunk will throw away the latest commit.
So to be safe, merges should always use specific revision numbers.

I would really prefer to see 2 separate group boxes, maybe radio buttons
to select which group box to use. The 'Range to Merge' group box would
contain 1 URL and the 'Select revisions to merge' interface. The 'Merge
Two Trees' group box would contain 2 URLs and the means to select a
(single) revision for each one. But that is close to what I suggested
before, which was not very popular.

One CLI feature we don't support at all is --ignore-ancestry. Is that
important?

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 Jan 24 12:58:02 2005

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