Annotation of cvsweb/README, Revision 3.2
3.2 ! scop 1: $FreeBSD$
3.1 knu 3: The cgi-script cvsweb.cgi is written by Bill Fenner <firstname.lastname@example.org>
4: (see ) for the freebsd project. It allows browsing of
5: CVS-repositories (see ) with an HTML-browser.
7: This version is based on Bill's script and is hacked to fit our needs,
8: so don't blame him if anything doesn't work ..
10: Added features:
11: - a colored side by side diff
12: - easier navigation
13: - mime-type aware checkout which allows for browsing
14: of version controlled HTML-pages
15: - easier configuration - everything configurable is in one
16: external file now
17: - added cvs-annotate - this requires cvs >= 1.9
18: (tested with cvs 1.10)
19: - a better way of viewing timestamps: they're shown as age
20: (something like 'changed 2 days 4 hours ago')
21: - sorting by filename / age - just click on the corresponding
23: - urlencodes all filenames so files with spaces and special
24: characters in their names are viewable as well.
25: - selectionbox for choosing different CVS-roots
26: - overview of last revisionnumber, age and logentry in the
27: directory view
28: - you can check out the current revision of a file if you are
29: in the directory view (idea from Nick Brachet)
30: - gzip'ed output if the browser accepts this; this can reduce the
31: size (and download time) by a factor of 4 (directory view) to
32: 10 (colored diff; the size of the colored diff could be reduced
33: with CSS .. anyone ?). The use of gzip has been in the very first
34: version of cvsweb (by Bill Fenner), but has been removed because
35: it wasn't easy to determine if a browser actually understands it. Today
36: the browsers state if they accept the Content-encoding gzip..
37: .. but MSIE lies about this (so cvsweb disables gzip-encoding in this
39: - Tag based browsing. An easy and what I think intuitive way to browse a
40: CVS tree based on tags, with filtering of files and CVS logs to only
41: show whats relevant for the selected tag.
42: - "Pretty-printed" checkouts for text based files. My intention is to
43: eventually add cross-referencing to this, but for now the file is only
44: converted to HTML with automatic detection of various links.
45: - "Click-on-version" diff selection.
46: - sorting for every column now
47: - uses 'cvs co' for checkout instead of rcs co
48: - Ability to show directory descriptions from CVSROOT/descriptions
50: cvsweb.cgi became quite huge now and is bad style code (I am not a
51: perl-programmer - this is what I do in my spare time!) so this
52: should be rewritten.
54: I'd propose a Java-servlet which could use the C/S-protocol .. anyone ?
56: And what about using mod_perl, and rewriting it into a set of proper Perl-5
59: This software is distributed under the terms of the BSD-licence.
61: You can download the latest version at
3.2 ! scop 62: <http://stud.fh-heilbronn.de/~zeller/cgi/cvsweb.cgi/>
3.1 knu 63:
64: or get it directly with cvs at
65: CVSROOT: :pserver:email@example.com:/cvsroot/public
66: Password: anonymous
67: Module: cvsweb
69: Please send suggestions, bugs etc to
70: Henner Zeller <firstname.lastname@example.org>
72: Henrik Nordstrom <email@example.com>
74: -- refs
75:  for the original Version of cvsweb.cgi, see
3.2 ! scop 77:  for cvs, see <http://www.cvshome.org/>
3.1 knu 78: