1 |
CvsGraph 1.0.1 |
CvsGraph 1.5.1, 15-Aug-2004 |
2 |
============== |
=========================== |
3 |
CvsGraph creates a graphic representation of the revisions and branches in a |
CvsGraph creates a graphic representation of the revisions and branches in a |
4 |
cvs/rcs repository. CvsGraph is inspired on the 'graph'-option from WinCVS. I |
cvs/rcs repository. CvsGraph is inspired on the 'graph'-option from WinCVS. I |
5 |
could not find something right away on the web and decided that it was time to |
could not find something right away on the web and decided that it was time to |
8 |
|
|
9 |
|
|
10 |
|
|
11 |
Notes |
New in this version |
12 |
----- |
------------------- |
13 |
- I only tested it with: |
|
14 |
* RedHat Linux 6.[12] and 7.0 |
- Add patch from Henrik Carlqvist <henca@users.SourceForge.net> |
15 |
* cvs-1.10 |
* add option rev_hidenumber for disabling revision number display. |
16 |
* rcs-5.7 |
* add option tag_ignore_merge for disabling merge_from/merge_to display |
17 |
* gd-1.3 and gd-1.8 |
if matched with tag_ignore. |
18 |
- CvsGraph generates only gifs for old versions of gd and only png and jpeg for |
* add resorting of branches on how many revisions they have. This saves |
19 |
newer version of gd. |
space under circumstances. |
20 |
|
|
21 |
|
- Add option merge_findall so that merge_from/merge_to tags can have multiple |
22 |
|
matches. |
23 |
|
|
24 |
|
- Add the patches supplied by Ville Skytta <ville.skytta@iki.fi> |
25 |
|
* fix spelling in the manpages and config file |
26 |
|
* fix & -> & problem in config |
27 |
|
* fix generics in wrapper example |
28 |
|
|
29 |
|
- Add a fix for the zimezone problem as suggested by Henrik Carlqvist |
30 |
|
<henca@users.SourceForge.net> by using the environment. |
31 |
|
|
32 |
|
- Fix a bug in the detection of branch-numbers in the logical ,v file structure |
33 |
|
(reported by Daniel Dumitrache <ddumitrache@bitdefender.com>). The branch was |
34 |
|
deduced from the revision, but that would fail for revision numbers that are |
35 |
|
like magic branch-numbers (x.x.0.x) because they were interpreted. These |
36 |
|
revision numbers are now correctly handled. |
37 |
|
|
38 |
|
|
39 |
|
|
40 |
Compiling |
Compiling |
41 |
--------- |
--------- |
42 |
Go to a directory of your choice, unpack the package and cd into the newly |
|
43 |
create directory: |
create directory: |
44 |
$ cd /where/ever/you/want |
$ cd /where/ever/you/want |
45 |
$ tar xzf cvsgraph-1.0.1.tar.gz |
$ tar xzf cvsgraph-1.5.1.tar.gz |
46 |
$ cd cvsgraph-1.0.1 |
$ cd cvsgraph-1.5.1 |
|
|
|
|
Edit the Makefile to suit your needs and run: |
|
47 |
$ ./configure |
$ ./configure |
48 |
$ make |
$ make |
49 |
|
|
50 |
This should do the trick and you have an executable file 'cvsgraph' in the |
This should do the trick and you have an executable file 'cvsgraph' in the |
51 |
current directory. |
current directory. |
52 |
|
|
53 |
|
NOTE: The GD library is required for CvsGraph to function. Get it from |
54 |
|
http://www.boutell.com, compile it and use either --with-gd-lib=DIR |
55 |
|
and --with-gd-inc=DIR to specify its location. You might also have |
56 |
|
to use --with-z-inc, --with-z-lib and --with-png-inc, --with-png-lib |
57 |
|
for gd versions 1.6 and higher. |
58 |
|
If you build with static libgd (i.e. libgd.a) and already have |
59 |
|
libpng.so and/or libjpeg6b.so (i.e. dynamic), then you might want to |
60 |
|
try to trick configure into adding these libs to the tests by adding |
61 |
|
commandline options '--with-png-lib=.' and '--with-jpeg-lib=.'. |
62 |
|
If you have linked libgd with freetype, then you might also need |
63 |
|
either --with-freetype-lib or --with-freetype2-lib. |
64 |
|
|
65 |
|
There are often precompiled binaries for Linux, FreeBSD, NetBSD and Windows |
66 |
|
(and probably other OSes too). Check your local mirror for details. I also have |
67 |
|
some links on the homepage for precompiled binaries. Please do not complain to |
68 |
|
me about these binaries. |
69 |
|
|
70 |
|
|
71 |
|
|
72 |
Installing |
Installing |
83 |
---------------- |
---------------- |
84 |
Do *NOT* execute the program directly from a webserver. Direct execution would |
Do *NOT* execute the program directly from a webserver. Direct execution would |
85 |
be very insecure. Make a wrapper cgi-script in php, perl, or whatever you |
be very insecure. Make a wrapper cgi-script in php, perl, or whatever you |
86 |
normally use. A nice way is to hack the 'cvsweb' package to call CvsGraph. |
normally use. There are several web-based viewers with CvsGraph support: |
87 |
|
|
88 |
|
- ViewCVS http://viewcvs.sourceforge.net |
89 |
|
- CVSweb http://www.freebsd.org/projects/cvsweb.html |
90 |
|
- Chora http://www.horde.org/chora/ |
91 |
|
|
92 |
|
|
93 |
To generate an image do something like: |
To generate an image do something like: |
94 |
$ cvsgraph -r /home/to/repository -m module -o mygraph.gif myfile.c,v |
$ cvsgraph -r /home/to/repository -m module -o mygraph.png myfile.c,v |
95 |
|
|
96 |
This generates a revison/branch image of the rcs file 'myfile.c,v' and puts it |
This generates a revison/branch image of the rcs file 'myfile.c,v' and puts it |
97 |
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 |
98 |
accessible* on your filesystem. The '-m' is the module in the repository. Note |
accessible* on your filesystem. The '-m' is the module in the repository. Note |
99 |
that the extension of the file ends with ",v". |
that the extension of the file ends with ",v". |
100 |
|
|
101 |
|
Just to make it clear: You cannot make images from a cvs-repository over the |
102 |
|
internet as if you were using cvs. The repository files |
103 |
|
must be on a locally mounted filesystem. However, you |
104 |
|
can use cvsup or rsync to get a repository to your |
105 |
|
local filesystem and make then images from there. |
106 |
|
|
107 |
Type 'cvsgraph -h' to get a full list of options. If the output is not given |
Type 'cvsgraph -h' to get a full list of options. If the output is not given |
108 |
(no '-o'), then the output is written to standard output. |
(no '-o'), then the output is written to standard output. |
109 |
|
|
110 |
|
Please read the manual pages cvsgraph(1) and cvsgraph.conf(5) for more |
111 |
|
information on execution and configuration. |
112 |
|
|
113 |
|
|
114 |
|
|
115 |
Todo |
Todo |
116 |
---- |
---- |
|
- 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 |
|
117 |
- do a better job in making a layout (auto moving branches and rubber banding |
- do a better job in making a layout (auto moving branches and rubber banding |
118 |
revision-connectors to make place) |
revision-connectors to make place). A start is made, but this is not very |
119 |
- redo the entire code :-) All good programs are written twice (at least). The |
functional yet. |
|
structure is a real mess, but that is the price for hacking away without a |
|
|
real programming strategy... |
|
120 |
|
|
121 |
|
|
122 |
|
|
123 |
License |
License |
124 |
------- |
------- |
125 |
CvsGraph is distributed under GNU GPL v2. See 'LICENCE' for more information. |
CvsGraph is distributed under GNU GPL v2. See 'LICENSE' for more information. |
126 |
|
|
127 |
|
|
128 |
|
|