wiki:RevtreePlugin/MergeInfoEnhancer

Version 1 (modified by eblot, 7 years ago) (diff)

Creation

RevtreePlugin enhancer for SVN 1.5 or later

Description

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.

Overview

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.

Installation

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 MergeInfoEhnancer plugin is enabled.

You can perform the same operations from the WebAdmin interface.

Rendering

svnmerge enhancer in action
The svnmerge plugin enhancer in action

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/Contributors