ViewVC logotype

Annotate of /cvsgraph/README

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

Revision 1.21 - (show annotations)
Fri Mar 14 14:24:50 2003 UTC (15 years, 8 months ago) by bertho
Branch: MAIN
Changes since 1.20: +4 -0 lines
- Implement folding for all branches on the same branchpoint if empty. New
  option branch_foldall controls this behavior. See cvsgraph.conf(5) for
1 CvsGraph 1.3.0, 20-Jul-2002
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.
11 New in this version
12 -------------------
13 - Fix warnings in readconf on some 'older' compiler systems.
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.
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.
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.
29 - Fixed backing up in the lexer. This improves speed slightly because no
30 rule requires lookahead over one character anymore.
32 - Fixed a bug in the initial placing of left to right displaying.
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.
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.
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.
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.
58 Compiling
59 ---------
61 create directory:
62 $ cd /where/ever/you/want
63 $ tar xzf cvsgraph-1.3.0.tar.gz
64 $ cd cvsgraph-1.3.0
65 $ ./configure
66 $ make
68 This should do the trick and you have an executable file 'cvsgraph' in the
69 current directory.
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.
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.
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.
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.
107 To generate an image do something like:
108 $ cvsgraph -r /home/to/repository -m module -o mygraph.png myfile.c,v
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".
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.
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.
124 Please read the manual pages cvsgraph(1) and cvsgraph.conf(5) for more
125 information on execution and configuration.
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.
135 - draw only a part or parts of the tree.
139 License
140 -------
141 CvsGraph is distributed under GNU GPL v2. See 'LICENSE' for more information.
145 Contact
146 -------
147 HomePage: http://www.akhphd.au.dk/~bertho/cvsgraph
148 E-mail: cvsgraph@akhphd.au.dk
150 Greetings Bertho

  ViewVC Help
Powered by ViewVC 1.1.0 with CvsGraph 1.7.0