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

Auto-selection of merge source URL

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: 2007-12-04 16:40:28 CET

So ... what was the result of discussion regarding auto-selection of merge
source URLs?

A subthread about supporting mixed directions of merge ranges in a single
invocation was launched, and I think it is trending towards disallowing
mixed merge directions.

As for the primary discussion, though, I feel like nothing even approaching
consensus was reached. Some thought having different defaults merge sources
depending on range direction would work; others found that confusion. Some
thought we should use the copy source all the time; others disagreed. Some
even advocated losing support for unspecified merge sources altogether.
Some felt we could let users toggle their meaning with command-line options
(which are still easier to type than URLs).

Here's an idea. 'svn merge' has already become more interactive thanks to
the conflict resolution stuff. Why not just present the user with a list of
merge source options when they don't specify a source?

In the typical case, where mergeinfo is pretty simple, you might see:

  $ svn merge -c 45
  Where would you like to merge from?
    (t) the target: http://.../
    (c) the copy source: http://.../
  ?

If the target has some mergeinfo already from some sources, you'd get:

  $ svn merge -c 45
  Where would you like to merge from?
    (t) the target: http://.../
    (c) the copy source: http://.../
    (1) previous merge source: http://.../
    (2) previous merge source: http://.../
  ?

If the target has a ton of mergeinfo from many sources, we paginate:

  $ svn merge -c 45
  Where would you like to merge from?
    (t) the target: http://.../
    (c) the copy source: http://.../
    (1) previous merge source: http://.../
    (2) previous merge source: http://.../
    (3) previous merge source: http://.../
    (4) previous merge source: http://.../
    (5) previous merge source: http://.../
    (6) previous merge source: http://.../
    (7) previous merge source: http://.../
    (8) previous merge source: http://.../
    (9) previous merge source: http://.../
    (m) See more options
  ? m
  Where would you like to merge from?
    (1) previous merge source: http://.../
    (2) previous merge source: http://.../
    (3) previous merge source: http://.../
  ?

And if --non-interactive is passed, we flatly disallow sourceless-merges.

Just a (crazy) thought.

-- 
C. Michael Pilato <cmpilato@collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

Received on Tue Dec 4 16:40:42 2007

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