cvsgraph.conf(5) | CVS/RCS Utilities | cvsgraph.conf(5) |
cvsgraph.conf - CVS/RCS repository grapher configuration
The configuration file is a context free grammar where empty lines
and whitespace are ignored. Comments start with '#' and everything until end
of line is ignored.
A configuration parameter is written as:
<keyword> = <argument> ;
Keywords are defined in PARAMETERS. The argument can be either numerical or string typed.
Numbers may be entered as octal, decimal or hex as in 0117, 79 and 0x4f respectively. Floating point numbers contain a single '.', but must start with a digit. Integer numbers are automagically converted to floats if required.
Strings are C-style strings, enclosed in double quotes in which
characters may be escaped with '\' and written in octal and hex escapes.
Note that '\' must be escaped if it is to be entered as a character. Escapes
recognized are '\[abfnrtv]', '\[xX][0-9a-fA-F]{2}' and '\[012][0-7]{0,2}'.
Some strings are expanded with printf like conversions which start with '%'.
Not all are applicable at all times, in which case they will expand to
nothing.
Note that expansions of paths are available with and without trailing '/'. The
distinction is required for path construction to ensure that empty
expansions will not redirect the path to root and no double '/' in a path is
generated.
Fonts are numbered 0..4 (as defined in libgd) where 0 = tiny, 1 = small, 2 = medium (bold), 3 = large and 4 = giant.
Colors are strings, similar to HTML type colors in the form "#rrggbb" with parts written in hex, where rr = red (00-ff), gg = green (00-ff) and bb = blue (00-ff).
Colors and some strings can also be defined as conditional
expressions so that revision/branch conditions can be repesented visually:
color/string = [ "key" op "content" truecase falsecase ];
Operator 'op' can be one of:
The 'content' is one of:
* POSIX 1003.2 extended regular expression
* timestamp in UTC format: YYYY[.MM[.DD[.hh[.mm[.ss]]]]]
* revision or branch number
The 'key' can be one of:
Both 'truecase' and 'falsecase' can be either a (color-)string, as
described above, or a new conditional expression. Examples:
rev_bgcolor = [ "state" =~ "dead" "#e08080"
"#f0f0f0" ];
branch_color= [ "rev" < "2.1.2" "#000000" [
"tag" =~ "XyZ.*" "#123456" "#654321"
] ];
rev_idtext = [ "state" == "dead" "Dead %R"
"%R" ]
Note that not all colors can be changed on the fly. For example, branch_color
cannot be be changed based on revision identification (i.e. author, date or
state). The color_bg is always unique and fixed (all expressions will
evaluate to the false case). Also, only string rev_text and rev_idtext can
be conditional expressions as other do not make much sense to be
dynamic.
Booleans have three possible arguments: true, false and not. `Not' means inverse of what it was (logical negation) and is represented by the value -1. For the configuration file that means that the default value is negated. However, the not possibility is a very handy tool for command line overrides generated from (CGI) scripts.
There are several reserved words besides of the keywords. These
additional reserved words expand to numerical values:
Booleans:
false = 0
true = 1
not = -1
Alignment specifiers:
left = 0
center = 1
right = 2
Image specifiers:
gif = 0
png = 1
jpeg = 2
Font specifiers:
tiny = 0
small = 1
medium = 2
large = 3
giant = 4
HTML level specifiers:
HTML3 = 1
HTML4 = 2
XHTML = 3
CvsGraph is written and maintained by B. Stultiens.
Send comments and bug reports to cvsgraph@akhphd.au.dk (read the
mailnote in the README file first) and visit the homepage at:
http://www.akhphd.au.dk/~bertho/cvsgraph/.
1.7.0 | B. Stultiens |