1 |
CvsGraph 1.2.0, 19-Dec-2001
|
2 |
===========================
|
3 |
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
|
5 |
could not find something right away on the web and decided that it was time to
|
6 |
write a stand-alone version. I might have been doing some double work, but hey,
|
7 |
I like a hack.
|
8 |
|
9 |
|
10 |
|
11 |
New in this version
|
12 |
-------------------
|
13 |
- The entire tree can now be drawn upside-down. This is usefull if you have
|
14 |
many revisions in a trunk and want to see the latest first. The configuration
|
15 |
includes an option 'upside_down' with a boolean argument. You can override the
|
16 |
default value on the command-line with the '-u' switch, which will negate the
|
17 |
configured value.
|
18 |
The imagemap generation also supports this, so you will still be able to point
|
19 |
and shoot on and between the revisions.
|
20 |
|
21 |
- You can now instruct CvsGraph to ommit all revisions that are not tagged. This
|
22 |
is highly usefull for very large trees/trunks to reduce the produced image
|
23 |
size. Note that the first and the last revision in a trunk are not hidden.
|
24 |
A new configuration option 'strip_untagged' with boolean argument enables this
|
25 |
feature. Alternatively, the command-line provides option '-s' wich negates the
|
26 |
value set in the configuration file. You can also strip the first revision if
|
27 |
it is untagged using '-S' and/or strip_first_rev.
|
28 |
|
29 |
- The boxes to identify the branches can now be drawn on both sides of the trunk.
|
30 |
Configuration option 'branch_dupbox' with boolean argument activates this
|
31 |
feature, which is usefull when the tree is drawn upside-down.The command-line
|
32 |
option '-b' negated the configured value.
|
33 |
|
34 |
- Configuration no longer requires a configuration file. All options can now be
|
35 |
entered on the commandline using '-O'. CvsGraph will still read the
|
36 |
configuration file if one is avaliable, but it is no longer an error if none
|
37 |
is found.
|
38 |
|
39 |
- If no file is entered on the command-line, then the input is taken from
|
40 |
standard input, like all decent *nix programs.
|
41 |
|
42 |
- ViewCVS (http://viewcvs.sourceforge.net) is now officially supporting the use
|
43 |
of CvsGraph in their code as of version 0.8. So, no bad hacks needed anymore
|
44 |
to get it working, and it always looks nice :-)
|
45 |
|
46 |
- Implemented string drawing using freetype interface of libgd. It looks very
|
47 |
nice, but it is significantly slower than gd's standard bitmap fonts. Extra
|
48 |
configuration parameters *_ttfont and *_ttsize set font and size. Option
|
49 |
use_ttf enables ttf rendering. Note that gd's bitmap fonts are used as a
|
50 |
fallback in case where the ttfont contains errors or is not found.
|
51 |
|
52 |
- The branch tag color and font can now be set separately using branch_tag_*
|
53 |
configuration options.
|
54 |
|
55 |
|
56 |
|
57 |
Compiling
|
58 |
---------
|
59 |
|
60 |
create directory:
|
61 |
$ cd /where/ever/you/want
|
62 |
$ tar xzf cvsgraph-1.2.0.tar.gz
|
63 |
$ cd cvsgraph-1.2.0
|
64 |
$ ./configure
|
65 |
$ make
|
66 |
|
67 |
This should do the trick and you have an executable file 'cvsgraph' in the
|
68 |
current directory.
|
69 |
|
70 |
NOTE: The GD library is required for CvsGraph to function. Get it from
|
71 |
http://www.boutell.com, compile it and use either --with-gd-lib=DIR
|
72 |
and --with-gd-inc=DIR to specify its location. You might also have
|
73 |
to use --with-z-inc, --with-z-lib and --with-png-inc, --with-png-lib
|
74 |
for gd versions 1.6 and higher.
|
75 |
If you build with static libgd (i.e. libgd.a) and already have
|
76 |
libpng.so and/or libjpeg6b.so (i.e. dynamic), then you might want to
|
77 |
try to trick configure into adding these libs to the tests by adding
|
78 |
commandline options '--with-png-lib=.' and '--with-jpeg-lib=.'.
|
79 |
If you have linked libgd with freetype, then you might also need
|
80 |
either --with-freetype-lib or --with-freetype2-lib.
|
81 |
|
82 |
|
83 |
Installing
|
84 |
----------
|
85 |
Put the executable file 'cvsgraph' somewhere where you think it should go.
|
86 |
Normally this would be "/usr/local/bin" or "/usr/bin". The configuration file
|
87 |
ought to be put in "/usr/local/etc" or "/etc". The exact position can be
|
88 |
overriden on the commandline anyway. Edit the configuration file to your liking
|
89 |
and you should be all set.
|
90 |
|
91 |
|
92 |
|
93 |
Running CvsGraph
|
94 |
----------------
|
95 |
Do *NOT* execute the program directly from a webserver. Direct execution would
|
96 |
be very insecure. Make a wrapper cgi-script in php, perl, or whatever you
|
97 |
normally use. The easiest way is to get the ViewCVS package from their website
|
98 |
at http://viewcvs.sourceforge.net and follow the instructions.
|
99 |
|
100 |
Alternately, you can hack the 'cvsweb' package to call CvsGraph. There are
|
101 |
several scripts and patches available from the CvsGraph homepage (see below for
|
102 |
address). However, the scripts are no longer maintained because ViewCVS has
|
103 |
native support now.
|
104 |
|
105 |
To generate an image do something like:
|
106 |
$ cvsgraph -r /home/to/repository -m module -o mygraph.png myfile.c,v
|
107 |
|
108 |
This generates a revison/branch image of the rcs file 'myfile.c,v' and puts it
|
109 |
into 'mygraph.png'. The '-r' option is the path to the repository *located and
|
110 |
accessible* on your filesystem. The '-m' is the module in the repository. Note
|
111 |
that the extension of the file ends with ",v".
|
112 |
|
113 |
Just to make it clear: You cannot make images from a cvs-repository over the
|
114 |
internet as if you were using cvs. The repository files
|
115 |
must be on a locally mounted filesystem. However, you
|
116 |
can use cvsup or rsync to get a repository to your
|
117 |
local filesystem and make then image from there.
|
118 |
|
119 |
Type 'cvsgraph -h' to get a full list of options. If the output is not given
|
120 |
(no '-o'), then the output is written to standard output.
|
121 |
|
122 |
Please read the manual pages cvsgraph(1) and cvsgraph.conf(5) for more
|
123 |
information on execution and configuration.
|
124 |
|
125 |
|
126 |
|
127 |
Todo
|
128 |
----
|
129 |
- do a better job in making a layout (auto moving branches and rubber banding
|
130 |
revision-connectors to make place)
|
131 |
|
132 |
- draw only a part or parts of the tree.
|
133 |
|
134 |
|
135 |
License
|
136 |
-------
|
137 |
CvsGraph is distributed under GNU GPL v2. See 'LICENSE' for more information.
|
138 |
|
139 |
|
140 |
|
141 |
Contact
|
142 |
-------
|
143 |
HomePage: http://www.akhphd.au.dk/~bertho/cvsgraph
|
144 |
E-mail: cvsgraph@akhphd.au.dk
|
145 |
|
146 |
Greetings Bertho
|
147 |
|