/[CvsGraph]/cvsgraph/README
ViewVC logotype

Annotate of /cvsgraph/README

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.22 - (show annotations)
Mon Mar 17 01:33:44 2003 UTC (14 years, 9 months ago) by bertho
Branch: MAIN
CVS Tags: REL_1_4_0
Changes since 1.21: +4 -4 lines
- Fix off by one error in html-izing string expansions
- Fix wrong font in branch-box
- Fix imagemaps to contain references to each branch in
  folded branchboxes.
- Prepare for release 1.4.0
1 CvsGraph 1.4.0, 17-Mar-2003
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 - Fix warnings in readconf on some 'older' compiler systems.
14
15 - Implement new option to generate proper maps for different levels of HTML.
16 The option -x[34x] determines HTML 3.x (default), HTML 4.x or XHTML style
17 maps.
18
19 - Implement a scheme to visualize merges based on tag names. If tags are
20 consistently named at the mergepoint and the destination, then these points
21 can be detected using regular expressions. Several new configuration
22 options, merge_*, describe the tags.
23
24 - Implemented HTMLizing of expansion with %(...%). This prevents a possible
25 cross site scripting exploit when you use '<', '>' or '"' in tagnames.
26 This is a remote chance (you must be stupid to use these characters in a
27 tagname) but anyway, your system can be under attack.
28
29 - Fixed backing up in the lexer. This improves speed slightly because no
30 rule requires lookahead over one character anymore.
31
32 - Fixed a bug in the initial placing of left to right displaying.
33
34 - Half-fixed a bug in the kerning code, where a loop-safeguard was triggered
35 way too soon (at 100 iterations). This has now been changed to 10000, but
36 should be dependent on the number of drawable branches, as the function is
37 _at least_ order O(N^2). However, more analysis is required to ensure
38 safe guarding under all circumstances.
39
40 - Implemented folding of empty branches. Many uses of CVS create many
41 branches on the same revision but have no commits on them. This occurs
42 often with stable files like .cvsignore files and the like. A new
43 configuration option branch_fold enables imaging consequtive brances
44 with no commits in the same branch-box. This reduces images by a huge
45 factor (28000x1700 -> 2100x2300, i.e. a factor of 10). It also speeds up
46 drawing considerably. The branch_fold option is *on* by default.
47
48 - Fix duplicate branch-boxes (branch_dupbox=true). No duplicates should be
49 created if there are no commits on a specific branch. There is no reason
50 for having two boxes on top of each other.
51
52 - Implement folding for all branches on the same branchpoint if empty. New
53 option branch_foldall controls this behavior. See cvsgraph.conf(5) for
54 details. The imagemap is configured to map all branches within the box.
55
56
57
58 Compiling
59 ---------
60
61 create directory:
62 $ cd /where/ever/you/want
63 $ tar xzf cvsgraph-1.4.0.tar.gz
64 $ cd cvsgraph-1.4.0
65 $ ./configure
66 $ make
67
68 This should do the trick and you have an executable file 'cvsgraph' in the
69 current directory.
70
71 NOTE: The GD library is required for CvsGraph to function. Get it from
72 http://www.boutell.com, compile it and use either --with-gd-lib=DIR
73 and --with-gd-inc=DIR to specify its location. You might also have
74 to use --with-z-inc, --with-z-lib and --with-png-inc, --with-png-lib
75 for gd versions 1.6 and higher.
76 If you build with static libgd (i.e. libgd.a) and already have
77 libpng.so and/or libjpeg6b.so (i.e. dynamic), then you might want to
78 try to trick configure into adding these libs to the tests by adding
79 commandline options '--with-png-lib=.' and '--with-jpeg-lib=.'.
80 If you have linked libgd with freetype, then you might also need
81 either --with-freetype-lib or --with-freetype2-lib.
82
83
84
85 Installing
86 ----------
87 Put the executable file 'cvsgraph' somewhere where you think it should go.
88 Normally this would be "/usr/local/bin" or "/usr/bin". The configuration file
89 ought to be put in "/usr/local/etc" or "/etc". The exact position can be
90 overriden on the commandline anyway. Edit the configuration file to your liking
91 and you should be all set.
92
93
94
95 Running CvsGraph
96 ----------------
97 Do *NOT* execute the program directly from a webserver. Direct execution would
98 be very insecure. Make a wrapper cgi-script in php, perl, or whatever you
99 normally use. The easiest way is to get the ViewCVS package from their website
100 at http://viewcvs.sourceforge.net and follow the instructions.
101
102 Alternately, you can hack the 'cvsweb' package to call CvsGraph. There are
103 several scripts and patches available from the CvsGraph homepage (see below for
104 address). However, the scripts are no longer maintained because ViewCVS has
105 native support now.
106
107 To generate an image do something like:
108 $ cvsgraph -r /home/to/repository -m module -o mygraph.png myfile.c,v
109
110 This generates a revison/branch image of the rcs file 'myfile.c,v' and puts it
111 into 'mygraph.png'. The '-r' option is the path to the repository *located and
112 accessible* on your filesystem. The '-m' is the module in the repository. Note
113 that the extension of the file ends with ",v".
114
115 Just to make it clear: You cannot make images from a cvs-repository over the
116 internet as if you were using cvs. The repository files
117 must be on a locally mounted filesystem. However, you
118 can use cvsup or rsync to get a repository to your
119 local filesystem and make then images from there.
120
121 Type 'cvsgraph -h' to get a full list of options. If the output is not given
122 (no '-o'), then the output is written to standard output.
123
124 Please read the manual pages cvsgraph(1) and cvsgraph.conf(5) for more
125 information on execution and configuration.
126
127
128
129 Todo
130 ----
131 - do a better job in making a layout (auto moving branches and rubber banding
132 revision-connectors to make place). A start is made, but this is not very
133 functional yet.
134
135 - draw only a part or parts of the tree.
136
137
138
139 License
140 -------
141 CvsGraph is distributed under GNU GPL v2. See 'LICENSE' for more information.
142
143
144
145 Contact
146 -------
147 HomePage: http://www.akhphd.au.dk/~bertho/cvsgraph
148 E-mail: cvsgraph@akhphd.au.dk
149
150 Greetings Bertho
151

  ViewVC Help
Powered by ViewVC 1.1.0 with CvsGraph 1.7.0