CvsGraph(1)

NAME
cvsgraph - A CVS/RCS repository grapher

SYNOPSIS
cvsgraph [options] file

DESCRIPTION
CvsGraph generates images and imagemaps from CVS/RCS repository files.

OPTIONS

-b  Add a branch box at the end of the trunk too. This option negates the branch_dupbox setting from the configuration file.

-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 imagemap instead of an image.

-I file
    Also write an imagemap to file. This can be usefull if you want to generate both image and imagemap 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 imagemaps, for whatever purpose that might be.

-k  Try to reduce the image size by adjusting inter-revision spacing and moving trunks more left. This options negates the auto_stretch setting from the configuration file.

-M name
    Use name as imagemap name (has only effect in combination with

-m mod
    Use mod as cvsmodule. 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 cvsroot. This option overrides cvsroot in the configuration file.

-s  Strip all untagged revisions from the tree. Only the first, last and each tagged revision of each trunk will be shown. This will greatly reduce the size of the generated image if you didn't tag everything (and are not interested in all revisions). This option negates the strip_untagged setting from the configuration file.

-S  Also strip the first revision in a branch if untagged and not a branchpoint. This has only effect if strip_untagged or option '-s' is set. The '-S' option negates the strip_first_rev from the configuration file.

-u  Draw the tree upside down (newest revision at the top). This option negates the upside_down setting from the configuration file.

-V  Print version and exit.

-[0-9] txt
    Use txt for expansion

CONFIGURATION
CvsGraph starts with reading a configuration file. If the '-c' option is given on the commandline, 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 commandline 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 commandline have always precedence over the configuration file. Configuration options are processed in the following order:
- configuration file
- '-O' commandline options
- other commandline overrides (-bkMmrSsu)
If you do not want to process any configurationfile, 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 commandline options 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 opend. Note that cvsgraph does not atempt 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 commandline, 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 imagemap ('-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. Newer versions of gd do no longer support GIF and PNG will be used instead.
Generation of imagemaps 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

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

AUTHOR
CvsGraph is written and maintained by B. Stultiens.
Send comments and bugreports to cvsgraph@akhphd.au.dk and visit the homepage at:
http://www.akhphd.au.dk/~bertho/cvsgraph.

SEE ALSO
cvsgraph.conf(5)