README
1$FreeBSD: projects/cvsweb/README,v 1.2 2002/07/03 20:45:43 scop Exp $
2
3The cgi-script cvsweb.cgi is written by Bill Fenner <fenner@freebsd.org>
4(see [1]) for the freebsd project. It allows browsing of
5CVS-repositories (see [2]) with an HTML-browser.
6
7This version is based on Bill's script and is hacked to fit our needs,
8so don't blame him if anything doesn't work ..
9
10Added 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
22 column
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
38 case).
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
49
50cvsweb.cgi became quite huge now and is bad style code (I am not a
51perl-programmer - this is what I do in my spare time!) so this
52should be rewritten.
53
54I'd propose a Java-servlet which could use the C/S-protocol .. anyone ?
55
56And what about using mod_perl, and rewriting it into a set of proper Perl-5
57modules?
58
59This software is distributed under the terms of the BSD-licence.
60
61You can download the latest version at
62 <http://stud.fh-heilbronn.de/~zeller/cgi/cvsweb.cgi/>
63
64or get it directly with cvs at
65 CVSROOT: :pserver:anonymous@cvs.stud.fh-heilbronn.de:/cvsroot/public
66 Password: anonymous
67 Module: cvsweb
68
69Please send suggestions, bugs etc to
70 Henner Zeller <zeller@think.de>
71or
72 Henrik Nordstrom <hno@hem.passagen.se>
73
74-- refs
75[1] for the original Version of cvsweb.cgi, see
76 <http://www.freebsd.org/~fenner/cvsweb/>
77[2] for cvs, see <http://www.cvshome.org/>
78
79
README.FreeBSD
1$FreeBSD: projects/cvsweb/README.FreeBSD,v 1.12.2.3 2002/09/23 05:30:16 scop Exp $
2$Idaemons: /home/cvs/cvsweb/README.knu,v 1.9 2001/01/13 07:48:09 knu Exp $
3
4This is FreeBSD-CVSweb 2.0.
5
6To track the development, access the module `projects/cvsweb' in the
7FreeBSD CVS repository, the name of this branch is 'rel-2_0-branch'.
8rel-2_0-branch is a stable branch, whereas HEAD is an in-development one.
9For up to date information, see the project home page.
10
11 Project home page:
12 <http://www.FreeBSD.org/projects/cvsweb.html>
13
14 Repository access:
15 <http://www.FreeBSD.org/support.html#cvs>
16
17 CVSweb of CVSweb (select the rel-2_0-branch):
18 <http://www.FreeBSD.org/cgi/cvsweb.cgi/projects/cvsweb/>
19
20 Release archives:
21 <http://people.FreeBSD.org/~scop/cvsweb/>
22 <ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/scop/>
23
24 Mailing list:
25 <freebsd-cvsweb@FreeBSD.org>
26 <http://www.FreeBSD.org/doc/handbook/eresources.html#ERESOURCES-SUBSCRIBE>
27 <http://docs.FreeBSD.org/mail/>
28
29Here is the list of added features over Zeller's version:
30
31o Customizable "show functions" option
32 You can specify a regexp for each file type to teach rcsdiff(1) to
33 recognize function lines.
34
35o Customizable PR categories
36o Move $prcgi to cvsweb.conf
37 Now each repository can have its own PR categories and
38 query-pr.cgi URL, which can be defined in cvsweb.conf-${cvstree}.
39 It is useful when you have such as NetBSD and/or OpenBSD
40 repositories.
41
42o Improved support for text-based browsers
43 Unidiff is the default format for diffs, for text-based browsers.
44
45o Enhanced PR # hyperlinking.
46 The following styles are supported.
47
48 PR: 12345, 67890, ..
49
50 PR: #12345, #67890, ..
51
52 PR# sparc/12345, i386/67890
53
54 PR: ports/43210
55 kern/98765
56
57 .. is related to bin/4567, which is ...
58
59o Manpage hyperlinking.
60 Both `cat(1)' and `cat.1' styles are supported.
61
62o Revision numbers hyperlinking in annotation.
63
64o Automatic tarball generation. (Obtained from Debian)
65
66o Automatic zipball generation.
67
68o Customizable repository entry order.
69
70o Location text field.
71
72o Support for the use of localized charsets.
73
74o Workaround for buggy web servers.
75
76o Numerous bugfixes regarding URI/filename manipulation.
77
78o HTML improvements.
79
80o Security fixes to let it work under perl -T.
81
82o Annotate works under mod_perl and against a read only repository.
83
84
85See the README file also.
86
87--
88Ville Skytt� <scop@FreeBSD.org> -- The FreeBSD Project
89