packages icon
CvsGraph 1.7.0, 21-May-2008
===========================
CvsGraph creates a graphic representation of the revisions and branches in a
cvs/rcs repository. CvsGraph is inspired on the 'graph'-option from WinCVS. I
could not find something right away on the web and decided that it was time to
write a stand-alone version. I might have been doing some double work, but hey,
I like a hack.



New in this version
-------------------

- Do a better job at drawing the merge lines by selecting the shortest path
  from the revision boxes. An analysis is now done whether the source and
  destinations should be on the left or right side.

- Fix the left_right case for merge lines to display correctly.

- Fix a +/-1 error on the merge lines to account for both rounding errors and
  the shadow of the revision boxes.

- Add configuration option 'merge_on_tag' to force the left_right case to
  display merge lines on the tags instead of on the top/bottom sides. This
  also solves imagemap overlaps where multiple sources or destinations would
  be displayed at the same position.

- Fix the imagemap function to record the correct position of the merges.

- Use automake

- Streamline the package with patches from the Fedora RPMS



Compiling
---------

create directory:
	$ cd /where/ever/you/want
	$ tar xzf cvsgraph-1.7.0.tar.gz
	$ cd cvsgraph-1.7.0
	$ ./configure
	$ make

This should do the trick and you have an executable file 'cvsgraph' in the
current directory.

There are often precompiled binaries for Linux, FreeBSD, NetBSD and Windows
(and probably other OSes too). Check your local mirror for details. I also have
some links on the homepage for precompiled binaries. Please do not complain to
me about these binaries.



Installing
----------
Put the executable file 'cvsgraph' somewhere where you think it should go.
Normally this would be "/usr/local/bin" or "/usr/bin". The configuration file
ought to be put in "/usr/local/etc" or "/etc". The exact position can be
overriden on the commandline anyway. Edit the configuration file to your liking
and you should be all set.



Running CvsGraph
----------------
Do *NOT* execute the program directly from a webserver. Direct execution would
be very insecure. Make a wrapper cgi-script in php, perl, or whatever you
normally use. There are several web-based viewers with CvsGraph support:

- ViewCVS	http://viewcvs.sourceforge.net
- CVSweb	http://www.freebsd.org/projects/cvsweb.html
- Chora		http://www.horde.org/chora/


To generate an image do something like:
	$ cvsgraph -r /home/to/repository -m module -o mygraph.png myfile.c,v

This generates a revison/branch image of the rcs file 'myfile.c,v' and puts it
into 'mygraph.png'. The '-r' option is the path to the repository *located and
accessible* on your filesystem. The '-m' is the module in the repository. Note
that the extension of the file ends with ",v".

Just to make it clear:	You cannot make images from a cvs-repository over the
			internet as if you were using cvs. The repository files
			must be on a locally mounted filesystem. However, you
			can use cvsup or rsync to get a repository to your
			local filesystem and make then images from there.

Type 'cvsgraph -h' to get a full list of options. If the output is not given
(no '-o'), then the output is written to standard output.

Please read the manual pages cvsgraph(1) and cvsgraph.conf(5) for more
information on execution and configuration.



Contributed code
----------------
- contrib/automatic_documentation:
  If you are interested in tag-management with respect to the correct branch
  information, then I suggest that you take a look at the contribution from
  Henrik Carlqvist. He submitted some server-side scripts that can manage tags
  in a better fashion than cvs on its own.



Todo
----
- do a better job in making a layout (auto moving branches and rubber banding
  revision-connectors to make place). A start is made, but this is not very
  functional yet.



License
-------
CvsGraph is distributed under GNU GPL v2. See 'LICENSE' for more information.



Contact
-------
HomePage: http://www.akhphd.au.dk/~bertho/cvsgraph
E-mail: cvsgraph@akhphd.au.dk



Mailnote
--------
As of 20 August 2005, if you send me an email with a contained or attached
disclaimer that includes one or more of the following items:

    * legal notice or threat(s)
    * disclosure restriction(s)
    * forward restriction(s)
    * "intended recipient" nonsense 

Then you automatically agree to pay me a license fee of DKK 1000,- for using my
email address and a DKK 250,- fee for wasting my time on reading it.

Greetings Bertho