/[CvsGraph]/cvsgraph/README
ViewVC logotype

Diff of /cvsgraph/README

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

revision 1.1, Tue Feb 20 12:07:03 2001 UTC revision 1.16, Sat Jul 20 20:41:40 2002 UTC
# Line 1  Line 1 
1  CvsGraph 1.0.0  CvsGraph 1.3.0, 20-Jul-2002
2  ==============  ===========================
3  CvsGraph creates a graphic representation of the revisions and branches in a  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  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  could not find something right away on the web and decided that it was time to
# Line 8  Line 8 
8    
9    
10    
11  Notes  New in this version
12  -----  -------------------
13  - I only tested it with:  - Implement a workaround for browsers that do not understand unordered
14          * RedHat Linux 6.[12] with 2.2.16.    y-coordinates in the imagemap when generated upside down.
15          * cvs-1.10  
16          * rcs-5.7  - Fix the slowness of CvsGraph when parsing very large (typically -kb files) by
17          * gd-1.3 (!)    bypassing the parsing of the actual deltatext. On my machine (K6-2/500/256M
18    and have (yet) no clue wheter other systems will like my writing.    it makes a difference of 7.5s vs 0.04s on a 93MByte file, without counting
19  - CvsGraph only generates (sort of) gifs at the moment because of an old    disk-overhead; with disk-overhead it takes 12.5s).  Downside is that the
20    version of libgd. You are welcome to change this (shouldn't be too hard).    logentry cannot be expanded if the file is not parsed in full (see below).
21      Use option parse_logs to enable log-expansions.
22    
23    - Implemented logentry expansions using %l and %L. You must enable full parsing
24      (option parse_logs) for this to work.
25    
26    - Fixed a possible buffer overflow in the string expansion. However, this is a
27      very low-risk overflow, since it will trash the heap and _not_ the stack.
28      Furthermore, you need to pass strings from CGI directly to cvsgraph without
29      any checks to come even close to trash the heap.
30    
31    - Fixed a segfault on IRIX in the bsearch calls. These lookups could be called
32      with a NULL pointer and IRIX's libc doesn't like that.
33    
34    - Implement left to right and right to left images. The entire tree can now be
35      drawn horizontally when option left_right is set. Using both left_right and
36      upside_down results in right to left images.
37    
38    - Implement limits on how many tags are printed in a revision box using new
39      config parameter rev_maxtags. Ellipsis (...) are printed if the limit becomes
40      active.
41    
42    - Changed the configure script to handle libraries more intelligently. This
43      should be able to handle static libraries better.
44    
45    
46    
47  Compiling  Compiling
48  ---------  ---------
49  Go to a directory of your choice, unpack the package and cd into the newly  
50  create directory:  create directory:
51          $ cd /where/ever/you/want          $ cd /where/ever/you/want
52          $ tar xzf cvsgraph-1.0.0.tar.gz          $ tar xzf cvsgraph-1.3.0.tar.gz
53          $ cd cvsgraph-1.0.0          $ cd cvsgraph-1.3.0
54            $ ./configure
 Edit the Makefile to suit your needs and run:  
55          $ make          $ make
56    
57  This should do the trick and you have an executable file 'cvsgraph' in the  This should do the trick and you have an executable file 'cvsgraph' in the
58  current directory.  current directory.
59    
60    NOTE:   The GD library is required for CvsGraph to function. Get it from
61            http://www.boutell.com, compile it and use either --with-gd-lib=DIR
62            and --with-gd-inc=DIR to specify its location. You might also have
63            to use --with-z-inc, --with-z-lib and --with-png-inc, --with-png-lib
64            for gd versions 1.6 and higher.
65            If you build with static libgd (i.e. libgd.a) and already have
66            libpng.so and/or libjpeg6b.so (i.e. dynamic), then you might want to
67            try to trick configure into adding these libs to the tests by adding
68            commandline options '--with-png-lib=.' and '--with-jpeg-lib=.'.
69            If you have linked libgd with freetype, then you might also need
70            either --with-freetype-lib or --with-freetype2-lib.
71    
72    
73    
74  Installing  Installing
# Line 51  Line 85 
85  ----------------  ----------------
86  Do *NOT* execute the program directly from a webserver. Direct execution would  Do *NOT* execute the program directly from a webserver. Direct execution would
87  be very insecure. Make a wrapper cgi-script in php, perl, or whatever you  be very insecure. Make a wrapper cgi-script in php, perl, or whatever you
88  normally use. A nice way is to hack the 'cvsweb' package to call CvsGraph.  normally use. The easiest way is to get the ViewCVS package from their website
89    at http://viewcvs.sourceforge.net and follow the instructions.
90    
91  To generate am image do something like:  Alternately, you can hack the 'cvsweb' package to call CvsGraph. There are
92          $ cvsgraph -r /home/to/repository -m module -o mygraph.gif myfile.c,v  several scripts and patches available from the CvsGraph homepage (see below for
93    address). However, the scripts are no longer maintained because ViewCVS has
94    native support now.
95    
96    To generate an image do something like:
97            $ cvsgraph -r /home/to/repository -m module -o mygraph.png myfile.c,v
98    
99  This generates a revison/branch image of the rcs file 'myfile.c,v' and puts it  This generates a revison/branch image of the rcs file 'myfile.c,v' and puts it
100  into 'mygraph.gif'. The '-r' option is the path to the repository *located and  into 'mygraph.png'. The '-r' option is the path to the repository *located and
101  accessible* on your filesystem. The '-m' is the module in the repository. Note  accessible* on your filesystem. The '-m' is the module in the repository. Note
102  that the extension of the file ends with ",v".  that the extension of the file ends with ",v".
103    
104    Just to make it clear:  You cannot make images from a cvs-repository over the
105                            internet as if you were using cvs. The repository files
106                            must be on a locally mounted filesystem. However, you
107                            can use cvsup or rsync to get a repository to your
108                            local filesystem and make then image from there.
109    
110  Type 'cvsgraph -h' to get a full list of options. If the output is not given  Type 'cvsgraph -h' to get a full list of options. If the output is not given
111  (no '-o'), then the output is written to standard output.  (no '-o'), then the output is written to standard output.
112    
113    Please read the manual pages cvsgraph(1) and cvsgraph.conf(5) for more
114    information on execution and configuration.
115    
116    
117    
118  Todo  Todo
119  ----  ----
 - use autoconf  
 - use a newer version of libgd, or better, use ImageMagick for better control  
   over what is generated (also multiple output formats would be possible)  
 - find a way to use cvs directly instead of rcs (rlog) without the need for a  
   full checkout of the repository/module  
 - clean up the mess of finding revisions, tags and branches. The main branch  
   does not nessecarily start with revision 1.1  
120  - do a better job in making a layout (auto moving branches and rubber banding  - do a better job in making a layout (auto moving branches and rubber banding
121    revision-connectors to make place)    revision-connectors to make place). A start is made, but this is not very
122  - redo the entire code :-) All good programs are written twice (at least). The    functional yet.
123    structure is a real mess, but that is the price for hacking away without a  
124    real programming strategy...  - draw only a part or parts of the tree.
125    
126    
127    
128  License  License
129  -------  -------
130  CvsGraph is distributed under GNU GPL v2. See 'LICENCE' for more information.  CvsGraph is distributed under GNU GPL v2. See 'LICENSE' for more information.
131    
132    
133    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.16

  ViewVC Help
Powered by ViewVC 1.1.0 with CvsGraph 1.7.0