5 | | Render a graphical representation of the repository. |
6 | | |
7 | | It superseeds the SvnCcHelpersScript/RevTree plugin: |
8 | | 1. it does not rely on any Clearcase external scripts nor any SVN custom properties. |
9 | | 1. it does not use the GraphvizPlugin nor the Graphviz (''dot'') tool - it is a pure Python implementation |
10 | | 1. it uses the Trac repository cache, which dramatically speeds up the creation of the graph |
11 | | |
12 | | |
13 | | This plugin is under heavy development, not published yet. |
| 7 | This plugin renders a graphical representation of the repository. |
| 8 | |
| 9 | == Overview == |
| 10 | |
| 11 | This plugin creates a graph that show the changesets of the project |
| 12 | repository. |
| 13 | |
| 14 | === Filters === |
| 15 | |
| 16 | The user may select which changesets are to be rendered, based on the |
| 17 | several filters: |
| 18 | * The main filters are mutually exclusive: |
| 19 | 1. '''changeset range''': this filter selects a range of changesets to be |
| 20 | rendered |
| 21 | 1. '''time range''': this filters selects the latest changesets of the |
| 22 | repository, with the following predefined time ranges: |
| 23 | * day, 2 days, 3 days, week, fortnight, month, 2 months, 3 months, year |
| 24 | * Any of the following filters can be combined to the main filter to refine |
| 25 | the selection: |
| 26 | * '''branch name''': this filter selects a single branch, along with all |
| 27 | branches declared as 'trunks' |
| 28 | * '''author''': this filter selects all the branches for which the selected |
| 29 | author has be a participant (''i.e.'' has committed at least one |
| 30 | changeset) |
| 31 | * '''terminated branches''': this filter allows to discard all branches |
| 32 | that have been 'terminated', ''i.e.'' deleted |
| 33 | |
| 34 | [[Image(userprefs.png)]][[BR]] |
| 35 | ''User preferences (filters)'' |
| 36 | |
| 37 | Two kinds of views can be selected: |
| 38 | * '''compact''': in this mode, the revtree graph is kept as compact as |
| 39 | possible, as an attempt to make all the changeset visible in the web |
| 40 | browser page and thereby minimize the scrolling actions. |
| 41 | Changesets are placed along on their branche, irrespectively of the nearby |
| 42 | branches. |
| 43 | * '''timeline''': in this mode, the revtree graph maintains a time view of |
| 44 | the repository: each changeset can be seen relatively to the other |
| 45 | changesets, whichever the changeset branch. |
| 46 | |
| 47 | |
| 48 | === User preference persistence === |
| 49 | |
| 50 | The plugin stores the user settings (filters) in the user session, so the |
| 51 | latest configuration is used whenever the user selects the 'revtree' page. |
| 52 | |
| 53 | In some cases, the chosen filters select no changeset hence no revtree graph |
| 54 | cannot be rendered. In such an event, a Trac error is displayed with the |
| 55 | following message: |
| 56 | {{{ |
| 57 | Selected filters cannot render a revision tree |
| 58 | }}} |
| 59 | User settings are not saved if the filter does not permit to generate a valid |
| 60 | revtree graph. |
| 61 | |
| 62 | == Limitations == |
| 63 | |
| 64 | There are a lot of limitations, so read them carefully. |
| 65 | |
| 66 | 1. the RevtreePlugin generates inlined SVG. |
| 67 | * SVG is only supported on modern browsers |
| 68 | * ''inlined SVG'' means that the plugin generates XHTML+SVG data, which are |
| 69 | only supported by few browsers. Many browsers that support SVG do not |
| 70 | accept ''inlined SVG''. |
| 71 | 1. the RevtreePlugin only works with SVN repositories |
| 72 | 1. it does not support SVN authz |
| 73 | 1. it has not been thought with multiple projects per repository in mind, so |
| 74 | its support for this kind of configuration is probably weak |
| 75 | 1. filters do not support multiple selections: one can only select all or one |
| 76 | branch, all or one author |
| 77 | |
| 78 | See RevtreePlugin/Limitations for a technical 'discussion' about the current |
| 79 | limitations. |
| 80 | |
| 81 | === Supported browsers === |
| 82 | |
| 83 | All browsers that supports ''inlined SVG'' should work. However, as it seems |
| 84 | that only few browsers are able to cope w/ this data format, the following |
| 85 | table tries to sum up what you can expect from your browser: |
| 86 | |
| 87 | {{{ |
| 88 | #!rst |
| 89 | +-----------+----------------+----------------+----------------+---------------------------------------------------+ |
| 90 | | OS + Browser + Version + Support + Issues + |
| 91 | +===========+================+================+================+===================================================+ |
| 92 | | Windows | Firefox_ | 1.5, 2.0 | OK | | |
| 93 | + +----------------+----------------+----------------+---------------------------------------------------+ |
| 94 | | | IE + Adobe_ | 7.0 + 3.03 | Joke | Does not even understand the XHTML+XML MIME type | |
| 95 | + +----------------+----------------+----------------+---------------------------------------------------+ |
| 96 | | | Opera_ | 9.02 | Partial | Info tips are not shown | |
| 97 | +-----------+----------------+----------------+----------------+---------------------------------------------------+ |
| 98 | | OS X | Firefox_ | 1.5, 2.0 | Buggy | Changeset text is not show | |
| 99 | + + +----------------+----------------+---------------------------------------------------+ |
| 100 | | | | 3.0a1 | Buggy | Issues with fonts | |
| 101 | + +----------------+----------------+----------------+---------------------------------------------------+ |
| 102 | | | Camino_ | 1.0.3 | Buggy | Changeset text is not shown | |
| 103 | + +----------------+----------------+----------------+---------------------------------------------------+ |
| 104 | | | OmniWeb_ | 5.5.1 | Weak | Changeset text sometimes disappears | |
| 105 | | | | | | Info tips are not shown | |
| 106 | + +----------------+----------------+----------------+---------------------------------------------------+ |
| 107 | | | Safari_ | 2.0.4 | No | Does not support SVG | |
| 108 | + +----------------+----------------+----------------+---------------------------------------------------+ |
| 109 | | | Webkit_ | r18244 | Partial | Info tips are not shown | |
| 110 | + +----------------+----------------+----------------+---------------------------------------------------+ |
| 111 | | | Opera_ | 9.02 | Partial | Info tips are not shown | |
| 112 | +-----------+----------------+----------------+----------------+---------------------------------------------------+ |
| 113 | | Linux | | | | Not tested - yet | |
| 114 | +-----------+----------------+----------------+----------------+---------------------------------------------------+ |
| 115 | |
| 116 | .. _Firefox: http://www.mozilla.org/firefox |
| 117 | .. _Camino: http://www.mozilla.org/camino |
| 118 | .. _Opera: http://www.opera.com |
| 119 | .. _OmniWeb: http://www.omnigroup.com/applications/omniweb |
| 120 | .. _Webkit: http://webkit.org |
| 121 | .. _Safari: http://www.apple.com/safari/ |
| 122 | .. _Adobe: http://www.adobe.com/svg/viewer/install/ |
| 123 | }}} |
| 124 | |
| 125 | ==== Additional notes ==== |
| 126 | |
| 127 | When info tips are not shown, links to the source browser are likely to be |
| 128 | broken. |