RevtreePlugin enhancer for SVN 1.5 or later
MergeInfoEnhancer is a plugin for the RevtreePlugin: it analyses the properties that are added by svn on merge operations and renders a graphical representation of these merge operations between the repository branches.
The plugin is in a very early development stage. SVN 1.5 has yet to be released (April '08 30th)
How it works
The MergeInfoEnhancer plugin looks for svn:mergeinfo properties and attempts to find the merge operations between the SVN repository branches. For now, it only deals with global merge operations.
Build the plugin
As with any other plugin, download the plugin code, and build a plugin egg file. The MergeInfoEnhancer plugin source code comes with the RevtreePlugin (see RevtreePlugin#Installation), but is not built along with the RevtreePlugin egg.
To build the MergeInfoEnhancer plugin, change the current directory to the enhancers and build the egg file:
$ cd revtreeplugin/0.11/enhancers/mergeinfoenhancer $ python setup.py bdist_egg
then copy the egg file to the global plugin directory or the project plugin directory
Enable the plugin
From the WebAdmin plugin interface or from your trac.ini
file, enable the MergeInfoEnhancer plugin.
The MergeEnhancer plugin appears as mergeinfoenhancer.enhancer in the plugin list.
Obviously the revtree is also enabled, which means that your trac.ini file should look like the following snippet:
[components] revtree.* = enabled mergeinfoenhancer.enhancer.mergeinfoenhancer = enabled
The MergeEnhancer plugin is better used in conjunction with the default SimpleEnhancer plugin that is self-contained in the RevtreePlugin. The default plugin is useful to depict the initial changeset of a new branch. The MergeInfoEnhancer? plugin does not track branch creation operations, so it is recommended to keep the SimpleEnhancer feature enabled when the MergeInfoEnhancer? plugin is enabled.
You can perform the same operations from the WebAdmin interface.
The source changesets of a svnmerge operation are outlined with a light colored box, which reminds the color of the destination changeset (that is the color of the branch of the merged changeset).
The merge operation is represented with an arrow of the same color as the destination branch as well.
- Author eblot