cvsgraph - A CVS/RCS repository grapher
cvsgraph [options] [file]
CvsGraph generates images and image maps from CVS/RCS repository files.
-b Deprecated, use -O’branch_dupbox=-1’ for same functionality.
Read alternate config from file.
Enable debug mode at level. The amount of information is
determined by a bitwise or of the following: 1=config lexer,
2=config parser, 4=rcsfile lexer, 8=rcsfile parser, 16=rcsfile
structure. The level argument may be in decimal, octal or
-h A brief description of possible options.
-i Generate an image map instead of an image.
Also write an image map to file. This can be useful if you want
to generate both image and image map simultaneously. This halves
the total time spent on accessing the repository file because it
is parsed only once.
However, keeping track of auto-generated files can be a bit of a
hack if used in HTTP requests (unless you pass both image and
HTML file in one HTTP stream).
Note 1: most time is used for the image-drawing routines
(actually libgd), so you might want to think twice in CGI apps.
Note 2: you can still use ’-o’ to specify an output file for the
image. And, if you also specify ’-i’, then you’ll get two image
maps, for whatever purpose that might be.
-k Deprecated, use -O’auto_stretch=-1’ for same functionality.
This function is not stable.
Deprecated, use -O’map_name="AMapName"’ for same functionality.
-m mod Use mod as the CVS module. This option overrides cvsmodule in
the configuration file.
Set cfg_option to value. Multiple -O are allowed as well as
multiple options can be set simultaneously by separating them
with ’;’. See cvsgraph.conf(5) for a detailed list of options.
See also CONFIGURATION below.
Output to file. Otherwise, output is written to standard output.
-q Be quiet (i.e. no warnings)
Use path as the CVS root. This option overrides cvsroot in the
-s Deprecated, use -O’strip_untagged=-1’ for same functionality.
-S Deprecated, use -O’strip_first_rev=-1’ for same functionality.
-u Deprecated, use -O’upside_down=-1’ for same functionality.
-V Print version and exit.
Set the HTML level of compliance for image maps. Use 3 for HTML
3.x, 4 for HTML 4.x and x for XHTML. Default is HTML 3.x
Use txt for expansion
CvsGraph starts with reading a configuration file. If the ’-c’ option
is given on the command line, then it is read. Otherwise, cvsgraph
first looks for a configuration file in the current directory using
./cvsgraph.conf and, if not found, tries to open
/usr/local/etc/cvsgraph.conf. Defaults and command line overrides will
be used if no configuration file can be opened. The format of the
configuration file is described in cvsgraph.conf(5). Configuration
parameters entered on the command line have always precedence over the
configuration file. Configuration options are processed in the
- configuration file
- ’-O’ command line options
- other command line overrides (-bkMmrSsu)
If you do not want to process any configuration file, then you can set
option ´-c /dev/null’, which will read an empty configuration file.
The location of a repository file is determined by the configuration
parameters cvsroot and cvsmodule and the respective command line
options ’-r’ and ’-m’. The cvsroot, cvsmodule and file are
concatenated with separating ’/’ path-separators forming the final
No path-separator is appended if cvsroot and cvsmodule are empty
strings. An error message is issued if the resulting path cannot be
opened. Note that cvsgraph does not attempt to check any validity of
the path components. This enables a user to open any file on the
file-system by setting cvsroot and cvsmodule to empty strings.
For example, cvsgraph -r -m ../myfile,v would try to open the
file ../myfile,v. Note that a variety of possibilities yield the same
file and all have their advantages and drawbacks, which are mostly
related to the possible use of the parameters in text expansions.
If no file is given on the command line, then input is read from
standard input. This can make expansion strings somewhat strange
looking, but they are composed with the information available. If no
input file was given, then the input filename for expansion is set to
The output generated by cvsgraph can be either an image (default) or
and HTML image map (’-i’ and ’-I’ options).
Images can have several formats, depending on the capabilities of the
gd library on which the drawing is built. The configuration allows for
GIF, PNG or JPEG type images. Some recent versions of gd do no longer
support GIF and PNG will be used instead. GIF support in gd was added
again after the lzw patent expired.
Generation of image maps conforms to the HTML standard and maps
rectangular regions of the image where revisions and branches are
drawn. Additionally, an extra rectangular region is generated between
revisions to support diff generation.
Configuration file read for default layout parameters.
CvsGraph is written and maintained by B. Stultiens.
Send comments and bug reports to firstname.lastname@example.org (read the
mailnote in the README file first) and visit the homepage at: