cvsgraph(1) A CVS/RCS repository grapher

SYNOPSIS

cvsgraph [options] [file]

DESCRIPTION

CvsGraph generates images and image maps from CVS/RCS repository files.

OPTIONS

-b
Deprecated, use -O'branch_dupbox=-1' for same functionality.
-c file
Read alternate config from file.
-d level
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 hexadecimal format.
-h
A brief description of possible options.
-i
Generate an image map instead of an image.
-I file
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.
-M name
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.
-O cfg_option=value[;opt=val[...]]
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.
-o file
Output to file. Otherwise, output is written to standard output.
-q
Be quiet (i.e. no warnings)
-r path
Use path as the CVS root. This option overrides cvsroot in the configuration file.
-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.
-x {3,4,x}
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 compatibility.
-[0-9] txt
Use txt for expansion

CONFIGURATION

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 /etc/cvsgraph/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 following order:
- 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 location:
<cvsroot>/<cvsmodule>/file
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 <stdin>.

OUTPUT

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.

FILES

/etc/cvsgraph/cvsgraph.conf
Configuration file read for default layout parameters.

AUTHOR

CvsGraph is written and maintained by B. Stultiens.
Send comments and bug reports to [email protected] (read the mailnote in the README file first) and visit the homepage at:
http://www.akhphd.au.dk/~bertho/cvsgraph/.