I've been thinking about a bunch of issues related to merging and how to
help users to avoid some of the common pitfalls.  One subset of my
thoughts is on how we can present information about merges in a more
user-friendly high-level way so that each time a user runs "svn merge"
or "svn mergeinfo" they get feedback that relates to their high-level
idea of what should be happening, and thus helps them to see at a glance
whether they issued the right command for what they wanted to achieve.

So I'm mocking up stuff like this (some data faked):

  $ cd 1.6.x

  $ svn mergeinfo $BRANCHES_URL/1.6.x-r878590
  Source branch: ^/subversion/branches/1.6.x-r878590 (r1177182)
  Target branch: ^/subversion/branches/1.6.x (wc)
  Source and target are marked as branches of the same project.
  Merged revision ranges:
    START-1104299,1104304,1104333-END
  Merged operative revisions:
    1104267,1104304,1104336,1104339,1104346

and this:

  $ svn mergeinfo $BRANCHES_URL/1.6.x
  Source branch: ^/subversion/branches/1.6.x (r1177182)
  Target branch: ^/subversion/branches/1.6.x (wc)
  svn: E195016: Source and target are the same branch

and this:

  $ svn mergeinfo
  Assuming source branch is copied-from source of target branch.
  Source branch: ^/subversion/trunk (r875961)
  Target branch: ^/subversion/branches/1.6.x (wc)
  [...]

I'm making a branch to try out ideas like these.

I'm writing down my thoughts in this public document
<https://docs.google.com/a/wandisco.com/document/d/1nrU3IkP8Q1NbFgH1ou0w3N6QkghbJv6AnK8wlnPAgC0/edit?hl=en_GB>;
 see especially under the "Reporting ..." section headings.

This is very much in flux with a mixture of simple and more radical
thoughts, but the direction I'm looking at is adding some relatively
simple but high level "intelligence" on top of the existing merge
subsystem to guide users better into understanding what they're doing.

Thoughts welcome.

- Julian


Reply via email to