Hi, merge fans.

I'm trying out UI ideas for making 'svn mergeinfo' with no options show some 
easily digestible summary information about the state of merging between the 
two specified branches.  We talked about this some time back with general 
agreement.


The attached patch is an initial attempt, which concentrates on 'symmetric 
merge' kind of scenarios: that is, it's useful for development branches.  
Examples of its output (please view with fixed-width font):

[[[
$ svn mergeinfo ~/src/subversion-a ^/subversion/branches/showing-merge-info

    youngest          last               repos.
    common            full     tip of    path of
    ancestor          merge    branch    branch

    1177606           1231929  1387359
    |                 |        |
  ----------| ... |-------------         subversion/trunk
     \                 \
      \                 \
       -----| ... |-------------         subversion/branches/showing-merge-info
                               |
                               1387359

$ svn mergeinfo release-branch1@8 b@7

    youngest          last               repos.
    common            full     tip of    path of
    ancestor          merge    branch    branch

    10000001                   10000008
    |                          |
       -----| ... |-------------         release-branch1
  ... /                 /
      \                /
       -----| ... |-------------         b
                      |        |
                      10000005 WC

$ svn mergeinfo --help
mergeinfo: Display merge-related information.
usage: 1. mergeinfo SOURCE[@REV] [TARGET[@REV]]
       2. mergeinfo --show-revs=merged SOURCE[@REV] [TARGET[@REV]]
       3. mergeinfo --show-revs=eligible SOURCE[@REV] [TARGET[@REV]]

  1. Display the following information about merges between SOURCE and
     TARGET:
       the youngest common ancestor;
       the latest full merge in either direction, and thus the
         base that will be used for the next full merge.
  2. Print the revision numbers on SOURCE that have been merged to TARGET.
  3. Print the revision numbers on SOURCE that have NOT been merged to TARGET.

[...]

]]]


I am thinking to make it display, in a similar graphical representation, also 
the typical cases of a release branch (that is, cases where a number of 
revisions have been cherry-picked from one branch to the other).

Ideas invited.


- Julian


--
Subversion Live 2012 - 2 Days: training, networking, demos & more! 
http://bit.ly/NgUaRi
Certified & Supported Apache Subversion Downloads: 
http://www.wandisco.com/subversion/download

Attachment: mergeinfo-cmd-1.patch
Description: Binary data

Reply via email to