Description

Overview

This plugin creates a graph that show the changesets of the project
repository.

Filters

The user may select which changesets are to be rendered, based on the
several filters:

The main filters are mutually exclusive:

changeset range: this filter selects a range of changesets to be
rendered

time range: this filters selects the latest changesets of the
repository, with the following predefined time ranges:

day, 2 days, 3 days, week, fortnight, month, 2 months, 3 months, year

Any of the following filters can be combined to the main filter to refine
the selection:

branch name: this filter selects a single branch, along with all
branches declared as 'trunks'

author: this filter selects all the branches for which the selected
author has be a participant (i.e. has committed at least one
changeset)

terminated branches: this filter allows to discard all branches
that have been 'terminated', i.e. deleted

User preferences (filters)

Two kinds of views can be selected:

compact: in this mode, the revtree graph is kept as compact as
possible, as an attempt to make all the changeset visible in the web
browser page and thereby minimize the scrolling actions.
Changesets are placed along on their branche, irrespectively of the nearby
branches.

timeline: in this mode, the revtree graph maintains a time view of
the repository: each changeset can be seen relatively to the other
changesets, whichever the changeset branch.

User preference persistence

The plugin stores the user settings (filters) in the user session, so the
latest configuration is used whenever the user selects the 'revtree' page.

In some cases, the chosen filters select no changeset hence no revtree graph
cannot be rendered. In such an event, a Trac error is displayed with the
following message:

Selected filters cannot render a revision tree

User settings are not saved if the filter does not permit to generate a valid
revtree graph.

Supported browsers

All browsers that supports inlined SVG should work. However, as it seems
that only few browsers are able to cope w/ this data format, the following
table tries to sum up what you can expect from your browser:

the style option defines the default revtree graph style. Each user
overwrites the default style the first time he updates the revtree style.

the reltime option cannot be customized by the users. The admin choses
whether the time filters are based on the absolute time or the youngest
changeset in the repository. Let's say the youngest revision in the
repository has been committed three days ago:

if reltime is set, the revtree time starts three days ago as
well: if the user selects the last 2 days as a filter, the last 5
days (3+2) would be shown

if reltime is not set, the revtree time starts now: if the user
selects the last 2 days, no changeset would be shown.

Permissions

The RevtreePlugin defines a new permission REVTREE_VIEW. This permission
should be defined for the 'revtree' link to appear in the main navigation bar,
and to give access to the revtree feature.