| 1 | = Technical details about the limitations of the plugin = |
| 2 | |
| 3 | Several requests have been made to enhance the plugin. |
| 4 | |
| 5 | This page sums up the technical limitations, and the design choices. |
| 6 | |
| 7 | == Could the plugin support ... ? == |
| 8 | |
| 9 | === Images === |
| 10 | |
| 11 | The plugin could be enhanced to generate PNG revtree images for browsers that |
| 12 | do not support SVG. It could, but it won't. SVG is a W3c standard, and is |
| 13 | becoming popular.[[BR]] |
| 14 | I want to keep the plugin simple, not universal. Upgrade your web browser if |
| 15 | it does not support SVG. |
| 16 | |
| 17 | === Version control backend === |
| 18 | |
| 19 | The plugin could be enhanced to support other version control backend, such as |
| 20 | Hg ([http://www.selenic.com/mercurial/ Mercurial]). I do not plan to support |
| 21 | other backends for now. |
| 22 | |
| 23 | Support for Hg might be possible, as the plugin uses the VC-independent layer |
| 24 | of Trac. Some issues need to be addressed, though: |
| 25 | * changesets need to be ordered. The plugin uses one of the SVN changeset |
| 26 | properties: each successive commit increases the revision number by one. It |
| 27 | does not use the revision date for ordering changesets. This would need to |
| 28 | be changed for Hg. Would it makes sense that the Trac VC abstraction layer |
| 29 | provide a sort method for ordering changesets? |
| 30 | * SVN changesets are integers. The changeset graphic elements are easily |
| 31 | rendered as the integers have a short representation (few characters). |
| 32 | Hg uses wider changeset identifiers, which make them unsuitable for being |
| 33 | displayed in the existing changeset graphic elements of the revtree graph. |
| 34 | Suggestions are welcomed! |
| 35 | * SVN changesets properties. Although the plugin uses the Trac VC abstraction |
| 36 | layer to access repository information, the plugin still need a direct |
| 37 | access to the underlying SVN repository to retrieve revision properties. |
| 38 | There is a ticket ([t:ticket:2245 #2545]) to augment the abstraction layer |
| 39 | with the support for revision properties which has been implemented for |
| 40 | [t:milestone:0.11 0.11]. Until the plugin is adapted to support this new |
| 41 | version of Trac, this direct access to the underlying repository prevents |
| 42 | from switching from one repository kind to another. |
| 43 | |