1 |
CvsGraph 1.7.0, 21-May-2008
|
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 |
|
14 |
- Do a better job at drawing the merge lines by selecting the shortest path
|
15 |
from the revision boxes. An analysis is now done whether the source and
|
16 |
destinations should be on the left or right side.
|
17 |
|
18 |
- Fix the left_right case for merge lines to display correctly.
|
19 |
|
20 |
- Fix a +/-1 error on the merge lines to account for both rounding errors and
|
21 |
the shadow of the revision boxes.
|
22 |
|
23 |
- Add configuration option 'merge_on_tag' to force the left_right case to
|
24 |
display merge lines on the tags instead of on the top/bottom sides. This
|
25 |
also solves imagemap overlaps where multiple sources or destinations would
|
26 |
be displayed at the same position.
|
27 |
|
28 |
- Fix the imagemap function to record the correct position of the merges.
|
29 |
|
30 |
- Use automake
|
31 |
|
32 |
- Streamline the package with patches from the Fedora RPMS
|
33 |
|
34 |
|
35 |
|
36 |
Compiling
|
37 |
---------
|
38 |
|
39 |
create directory:
|
40 |
$ cd /where/ever/you/want
|
41 |
$ tar xzf cvsgraph-1.7.0.tar.gz
|
42 |
$ cd cvsgraph-1.7.0
|
43 |
$ ./configure
|
44 |
$ make
|
45 |
|
46 |
This should do the trick and you have an executable file 'cvsgraph' in the
|
47 |
current directory.
|
48 |
|
49 |
There are often precompiled binaries for Linux, FreeBSD, NetBSD and Windows
|
50 |
(and probably other OSes too). Check your local mirror for details. I also have
|
51 |
some links on the homepage for precompiled binaries. Please do not complain to
|
52 |
me about these binaries.
|
53 |
|
54 |
|
55 |
|
56 |
Installing
|
57 |
----------
|
58 |
Put the executable file 'cvsgraph' somewhere where you think it should go.
|
59 |
Normally this would be "/usr/local/bin" or "/usr/bin". The configuration file
|
60 |
ought to be put in "/usr/local/etc" or "/etc". The exact position can be
|
61 |
overriden on the commandline anyway. Edit the configuration file to your liking
|
62 |
and you should be all set.
|
63 |
|
64 |
|
65 |
|
66 |
Running CvsGraph
|
67 |
----------------
|
68 |
Do *NOT* execute the program directly from a webserver. Direct execution would
|
69 |
be very insecure. Make a wrapper cgi-script in php, perl, or whatever you
|
70 |
normally use. There are several web-based viewers with CvsGraph support:
|
71 |
|
72 |
- ViewCVS http://viewcvs.sourceforge.net
|
73 |
- CVSweb http://www.freebsd.org/projects/cvsweb.html
|
74 |
- Chora http://www.horde.org/chora/
|
75 |
|
76 |
|
77 |
To generate an image do something like:
|
78 |
$ cvsgraph -r /home/to/repository -m module -o mygraph.png myfile.c,v
|
79 |
|
80 |
This generates a revison/branch image of the rcs file 'myfile.c,v' and puts it
|
81 |
into 'mygraph.png'. The '-r' option is the path to the repository *located and
|
82 |
accessible* on your filesystem. The '-m' is the module in the repository. Note
|
83 |
that the extension of the file ends with ",v".
|
84 |
|
85 |
Just to make it clear: You cannot make images from a cvs-repository over the
|
86 |
internet as if you were using cvs. The repository files
|
87 |
must be on a locally mounted filesystem. However, you
|
88 |
can use cvsup or rsync to get a repository to your
|
89 |
local filesystem and make then images from there.
|
90 |
|
91 |
Type 'cvsgraph -h' to get a full list of options. If the output is not given
|
92 |
(no '-o'), then the output is written to standard output.
|
93 |
|
94 |
Please read the manual pages cvsgraph(1) and cvsgraph.conf(5) for more
|
95 |
information on execution and configuration.
|
96 |
|
97 |
|
98 |
|
99 |
Contributed code
|
100 |
----------------
|
101 |
- contrib/automatic_documentation:
|
102 |
If you are interested in tag-management with respect to the correct branch
|
103 |
information, then I suggest that you take a look at the contribution from
|
104 |
Henrik Carlqvist. He submitted some server-side scripts that can manage tags
|
105 |
in a better fashion than cvs on its own.
|
106 |
|
107 |
|
108 |
|
109 |
Todo
|
110 |
----
|
111 |
- do a better job in making a layout (auto moving branches and rubber banding
|
112 |
revision-connectors to make place). A start is made, but this is not very
|
113 |
functional yet.
|
114 |
|
115 |
|
116 |
|
117 |
License
|
118 |
-------
|
119 |
CvsGraph is distributed under GNU GPL v2. See 'LICENSE' for more information.
|
120 |
|
121 |
|
122 |
|
123 |
Contact
|
124 |
-------
|
125 |
HomePage: http://www.akhphd.au.dk/~bertho/cvsgraph
|
126 |
E-mail: cvsgraph@akhphd.au.dk
|
127 |
|
128 |
|
129 |
|
130 |
Mailnote
|
131 |
--------
|
132 |
As of 20 August 2005, if you send me an email with a contained or attached
|
133 |
disclaimer that includes one or more of the following items:
|
134 |
|
135 |
* legal notice or threat(s)
|
136 |
* disclosure restriction(s)
|
137 |
* forward restriction(s)
|
138 |
* "intended recipient" nonsense
|
139 |
|
140 |
Then you automatically agree to pay me a license fee of DKK 1000,- for using my
|
141 |
email address and a DKK 250,- fee for wasting my time on reading it.
|
142 |
|
143 |
Greetings Bertho
|
144 |
|