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
Received on 2011-09-30 13:24:40 CEST