/[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.3, Sat Feb 24 21:52:28 2001 UTC revision 1.21, Fri Mar 14 14:24:50 2003 UTC
# Line 1  Line 1 
1  CvsGraph 1.0.1  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:  - Fix warnings in readconf on some 'older' compiler systems.
14          * RedHat Linux 6.[12] and 7.0  
15          * cvs-1.10  - Implement new option to generate proper maps for different levels of HTML.
16          * rcs-5.7    The option -x[34x] determines HTML 3.x (default), HTML 4.x or XHTML style
17          * gd-1.3 and gd-1.8    maps.
18  - CvsGraph generates only gifs for old versions of gd and only png and jpeg for  
19    newer version of gd.  - 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.
55    
56    
57    
58  Compiling  Compiling
59  ---------  ---------
60  Go to a directory of your choice, unpack the package and cd into the newly  
61  create directory:  create directory:
62          $ cd /where/ever/you/want          $ cd /where/ever/you/want
63          $ tar xzf cvsgraph-1.0.1.tar.gz          $ tar xzf cvsgraph-1.3.0.tar.gz
64          $ cd cvsgraph-1.0.1          $ cd cvsgraph-1.3.0
   
 Edit the Makefile to suit your needs and run:  
65          $ ./configure          $ ./configure
66          $ make          $ make
67    
68  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
69  current directory.  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  Installing
# Line 51  Line 96 
96  ----------------  ----------------
97  Do *NOT* execute the program directly from a webserver. Direct execution would  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  be very insecure. Make a wrapper cgi-script in php, perl, or whatever you
99  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
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:  To generate an image do something like:
108          $ cvsgraph -r /home/to/repository -m module -o mygraph.gif myfile.c,v          $ 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  This generates a revison/branch image of the rcs file 'myfile.c,v' and puts it
111  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
112  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
113  that the extension of the file ends with ",v".  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  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.  (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  Todo
130  ----  ----
 - 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  
131  - 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
132    revision-connectors to make place)    revision-connectors to make place). A start is made, but this is not very
133  - redo the entire code :-) All good programs are written twice (at least). The    functional yet.
134    structure is a real mess, but that is the price for hacking away without a  
135    real programming strategy...  - draw only a part or parts of the tree.
136    
137    
138    
139  License  License
140  -------  -------
141  CvsGraph is distributed under GNU GPL v2. See 'LICENCE' for more information.  CvsGraph is distributed under GNU GPL v2. See 'LICENSE' for more information.
142    
143    
144    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.21

  ViewVC Help
Powered by ViewVC 1.1.0 with CvsGraph 1.7.0