1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
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
|