221 | | == Example == |
222 | | |
223 | | [[Image(revtree.png)]] |
224 | | |
225 | | == Recent Changes == |
226 | | |
227 | | [[ChangeLog(revtreeplugin, 3)]] |
| 224 | == Revision tree enhancements == |
| 225 | |
| 226 | The RevtreePlugin has been written with customization in mind: it provides |
| 227 | extension points so that one can write his own plugin(s) to add information |
| 228 | to the rendered graph and enhance it. |
| 229 | |
| 230 | For now, there are two ways to enhance the revision tree graph: |
| 231 | * Change the appearance of the rendered items, and add ''operations'' to |
| 232 | the graph. An operation is a relation between two distinct branches, such |
| 233 | as a merge operation.[[BR]] |
| 234 | -> this extension point is dedicated to provide operations that are not |
| 235 | maintained by the underlying repository. These operations can be stored |
| 236 | in revision properties, log message, or any other way: it depends on how |
| 237 | a team use the repository. |
| 238 | * Improve the branch placement. One of the most difficult task to draw a |
| 239 | graphical representation of the repository is to find the best location for |
| 240 | each branch. The ''best'' location depends on how a team work, what is the |
| 241 | most important information to be represented, and to limit the number of |
| 242 | operation intersections as much as possible.[[BR]] |
| 243 | -> this extension point allows to provide a custom branch sorting. There |
| 244 | are probably great algorithms that would allow to find the best branch |
| 245 | placement. |
| 246 | |
| 247 | === Default enhancers === |
| 248 | |
| 249 | The RevtreePlugin comes with default enhancers: |
| 250 | * !SimpleEnhancer is a very basic enhancer that is only able to cope with |
| 251 | branch creation and tagging. |
| 252 | * It uses a dummy placement algorithm, which placesthe trunk at the center of |
| 253 | the graph, and tries to minimize (but often fails) the operation |
| 254 | intersections. |
| 255 | |
| 256 | === More enhancers === |
| 257 | |
| 258 | The RevtreePlugin/LogEnhancer plugin is provided as an implemenation example |
| 259 | of the first kind of enhancer. |
| 260 | |
| 261 | (More technical doc to come about how to write your own enhancers) |
| 262 | |
| 263 | == Miscelleanous == |
| 264 | |
| 265 | === Recent Changes === |
| 266 | |
| 267 | See RevtreePlugin/Changelog |