--- README 2001/02/20 12:07:03 1.1.1.1 +++ README 2003/02/11 10:43:44 1.17 @@ -1,5 +1,5 @@ -CvsGraph 1.0.0 -============== +CvsGraph 1.3.0, 20-Jul-2002 +=========================== 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 @@ -8,33 +8,41 @@ -Notes ------ -- I only tested it with: - * RedHat Linux 6.[12] with 2.2.16. - * cvs-1.10 - * rcs-5.7 - * gd-1.3 (!) - and have (yet) no clue wheter other systems will like my writing. -- CvsGraph only generates (sort of) gifs at the moment because of an old - version of libgd. You are welcome to change this (shouldn't be too hard). +New in this version +------------------- +- Fix warnings in readconf on some 'older' compiler systems. + +- Implement new option to generate proper maps for different levels of HTML. + The option -x[34x] determines HTML 3.x (default), HTML 4.x or XHTML style + maps. Compiling --------- -Go to a directory of your choice, unpack the package and cd into the newly + create directory: $ cd /where/ever/you/want - $ tar xzf cvsgraph-1.0.0.tar.gz - $ cd cvsgraph-1.0.0 - -Edit the Makefile to suit your needs and run: + $ tar xzf cvsgraph-1.3.0.tar.gz + $ cd cvsgraph-1.3.0 + $ ./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. + Installing @@ -51,41 +59,49 @@ ---------------- 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. A nice way is to hack the 'cvsweb' package to call CvsGraph. +normally use. The easiest way is to get the ViewCVS package from their website +at http://viewcvs.sourceforge.net and follow the instructions. + +Alternately, you can hack the 'cvsweb' package to call CvsGraph. There are +several scripts and patches available from the CvsGraph homepage (see below for +address). However, the scripts are no longer maintained because ViewCVS has +native support now. -To generate am image do something like: - $ cvsgraph -r /home/to/repository -m module -o mygraph.gif myfile.c,v +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.gif'. The '-r' option is the path to the repository *located and +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 image 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. + Todo ---- -- use autoconf -- use a newer version of libgd, or better, use ImageMagick for better control - over what is generated (also multiple output formats would be possible) -- find a way to use cvs directly instead of rcs (rlog) without the need for a - full checkout of the repository/module -- clean up the mess of finding revisions, tags and branches. The main branch - does not nessecarily start with revision 1.1 - do a better job in making a layout (auto moving branches and rubber banding - revision-connectors to make place) -- redo the entire code :-) All good programs are written twice (at least). The - structure is a real mess, but that is the price for hacking away without a - real programming strategy... + revision-connectors to make place). A start is made, but this is not very + functional yet. + +- draw only a part or parts of the tree. License ------- -CvsGraph is distributed under GNU GPL v2. See 'LICENCE' for more information. +CvsGraph is distributed under GNU GPL v2. See 'LICENSE' for more information.