/[CvsGraph]/cvsgraph/README
ViewVC logotype

Annotate of /cvsgraph/README

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


Revision 1.20 - (show annotations)
Fri Mar 14 01:38:39 2003 UTC (14 years, 7 months ago) by bertho
Branch: MAIN
Changes since 1.19: +20 -0 lines
- Fixed a bug in the initial placing of left to right displaying.
- Half-fixed a bug in the kerning code, where a loop-safeguard was triggered
  way too soon (at 100 iterations). This has now been changed to 10000, but
  should be dependent on the number of drawable branches, as the function is
  _at least_ order O(N^2). However, more analysis is required to ensure
  safe guarding under all circumstances.
- Implemented folding of empty branches. Many uses of CVS create many
  branches on the same revision but have no commits on them. This occurs
  often with stable files like .cvsignore files and the like. A new
  configuration option branch_fold enables imaging consequtive brances
  with no commits in the same branch-box. This reduces images by a huge
  factor (28000x1700 -> 2100x2300, i.e. a factor of 10). It also speeds up
  drawing considerably. The branch_fold option is *on* by default.
- Fix duplicate branch-boxes (branch_dupbox=true). No duplicates should be
  created if there are no commits on a specific branch. There is no reason
  for having two boxes on top of each other.
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.
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
53
54 Compiling
55 ---------
56
57 create directory:
58 $ cd /where/ever/you/want
59 $ tar xzf cvsgraph-1.3.0.tar.gz
60 $ cd cvsgraph-1.3.0
61 $ ./configure
62 $ make
63
64 This should do the trick and you have an executable file 'cvsgraph' in the
65 current directory.
66
67 NOTE: The GD library is required for CvsGraph to function. Get it from
68 http://www.boutell.com, compile it and use either --with-gd-lib=DIR
69 and --with-gd-inc=DIR to specify its location. You might also have
70 to use --with-z-inc, --with-z-lib and --with-png-inc, --with-png-lib
71 for gd versions 1.6 and higher.
72 If you build with static libgd (i.e. libgd.a) and already have
73 libpng.so and/or libjpeg6b.so (i.e. dynamic), then you might want to
74 try to trick configure into adding these libs to the tests by adding
75 commandline options '--with-png-lib=.' and '--with-jpeg-lib=.'.
76 If you have linked libgd with freetype, then you might also need
77 either --with-freetype-lib or --with-freetype2-lib.
78
79
80
81 Installing
82 ----------
83 Put the executable file 'cvsgraph' somewhere where you think it should go.
84 Normally this would be "/usr/local/bin" or "/usr/bin". The configuration file
85 ought to be put in "/usr/local/etc" or "/etc". The exact position can be
86 overriden on the commandline anyway. Edit the configuration file to your liking
87 and you should be all set.
88
89
90
91 Running CvsGraph
92 ----------------
93 Do *NOT* execute the program directly from a webserver. Direct execution would
94 be very insecure. Make a wrapper cgi-script in php, perl, or whatever you
95 normally use. The easiest way is to get the ViewCVS package from their website
96 at http://viewcvs.sourceforge.net and follow the instructions.
97
98 Alternately, you can hack the 'cvsweb' package to call CvsGraph. There are
99 several scripts and patches available from the CvsGraph homepage (see below for
100 address). However, the scripts are no longer maintained because ViewCVS has
101 native support now.
102
103 To generate an image do something like:
104 $ cvsgraph -r /home/to/repository -m module -o mygraph.png myfile.c,v
105
106 This generates a revison/branch image of the rcs file 'myfile.c,v' and puts it
107 into 'mygraph.png'. The '-r' option is the path to the repository *located and
108 accessible* on your filesystem. The '-m' is the module in the repository. Note
109 that the extension of the file ends with ",v".
110
111 Just to make it clear: You cannot make images from a cvs-repository over the
112 internet as if you were using cvs. The repository files
113 must be on a locally mounted filesystem. However, you
114 can use cvsup or rsync to get a repository to your
115 local filesystem and make then images from there.
116
117 Type 'cvsgraph -h' to get a full list of options. If the output is not given
118 (no '-o'), then the output is written to standard output.
119
120 Please read the manual pages cvsgraph(1) and cvsgraph.conf(5) for more
121 information on execution and configuration.
122
123
124
125 Todo
126 ----
127 - do a better job in making a layout (auto moving branches and rubber banding
128 revision-connectors to make place). A start is made, but this is not very
129 functional yet.
130
131 - draw only a part or parts of the tree.
132
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

  ViewVC Help
Powered by ViewVC 1.1.0 with CvsGraph 1.7.0