CvsGraph 1.6.1, 08-Jul-2006 =========================== 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 ------------------- - Minor textual fixes in the config manual page - Do a better job at drawing merge lines Compiling --------- create directory: $ cd /where/ever/you/want $ tar xzf cvsgraph-1.6.1.tar.gz $ cd cvsgraph-1.6.1 $ ./configure $ make This should do the trick and you have an executable file 'cvsgraph' in the current directory. NOTE: The GD library is required for CvsGraph to function. Get it from http://www.boutell.com, compile it and use either --with-gd-lib=DIR and --with-gd-inc=DIR to specify its location. You might also have to use --with-z-inc, --with-z-lib and --with-png-inc, --with-png-lib for gd versions 1.6 and higher. If you build with static libgd (i.e. libgd.a) and already have libpng.so and/or libjpeg6b.so (i.e. dynamic), then you might want to try to trick configure into adding these libs to the tests by adding commandline options '--with-png-lib=.' and '--with-jpeg-lib=.'. If you have linked libgd with freetype, then you might also need either --with-freetype-lib or --with-freetype2-lib. 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