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