Annotation of cvsweb/README, Revision 3.6
3.2 scop 1: $FreeBSD$
3.3 scop 2: $Idaemons: /home/cvs/cvsweb/README.knu,v 3.9 2001/01/13 07:48:09 knu Exp $
3:
3.5 scop 4: FreeBSD-CVSweb is a WWW interface for CVS repositories.
3.3 scop 5:
3.5 scop 6: CVSweb was originally written by Bill Fenner and improved by Henner
7: Zeller, Henrik Nordström, and Ken Coar, then Akinori MUSHA brought
8: it back to FreeBSD community and made further improvements. Ville
9: Skyttä has continued that work.
10:
11: To track the development, access the MAIN branch of the module
12: `projects/cvsweb' in the FreeBSD CVS repository. For legacy 2.x
13: versions, see the branch named 'rel-2_0-branch'.
3.3 scop 14:
15: Project home page:
16: <http://www.FreeBSD.org/projects/cvsweb.html>
17:
18: Repository access:
19: <http://www.FreeBSD.org/support.html#cvs>
20:
21: CVSweb of CVSweb:
22: <http://www.FreeBSD.org/cgi/cvsweb.cgi/projects/cvsweb/>
23:
24: Release archives:
25: <http://people.FreeBSD.org/~scop/cvsweb/>
26: <ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/scop/>
27:
28: Mailing list:
29: <freebsd-cvsweb@FreeBSD.org>
30: <http://lists.freebsd.org/mailman/listinfo/freebsd-cvsweb>
31: <http://www.FreeBSD.org/doc/handbook/eresources.html#ERESOURCES-SUBSCRIBE>
32:
33: Here is the list of added features over Zeller's version:
34:
35: o Customizable "show functions" option
36: You can specify a regexp for each file type to teach rcsdiff(1) to
37: recognize function lines.
38:
39: o Customizable PR categories
40: o Move $prcgi to cvsweb.conf
41: Now each repository can have its own PR categories and
42: query-pr.cgi URL, which can be defined in cvsweb.conf-${cvstree}.
43: It is useful when you have such as NetBSD and/or OpenBSD
44: repositories.
45:
46: o Improved support for text-based browsers
47: Unidiff is the default format for diffs, for text-based browsers.
48:
49: o Enhanced PR # hyperlinking.
50: The following styles are supported.
51:
52: PR: 12345, 67890, ..
53:
54: PR: #12345, #67890, ..
55:
56: PR# sparc/12345, i386/67890
57:
58: PR: ports/43210
59: kern/98765
60:
61: .. is related to bin/4567, which is ...
62:
63: o Manpage hyperlinking.
64: Both `cat(1)' and `cat.1' styles are supported.
65:
66: o Revision numbers hyperlinking in annotation.
67:
68: o Automatic tarball generation. (Obtained from Debian)
69:
70: o Automatic zipball generation.
71:
72: o Customizable repository entry order.
73:
74: o Location text field.
75:
76: o Support for the use of localized charsets.
77:
78: o Workaround for buggy web servers.
79:
80: o Numerous bugfixes regarding URI/filename manipulation.
81:
82: o HTML improvements, XHTML 1.0 Transitional, and a separate CSS file for
83: presentation.
84:
85: o Security fixes to let it work under perl -T.
86:
87: o Annotate works under mod_perl and against a read only repository.
88:
89: o CvsGraph <http://www.akhphd.au.dk/~bertho/cvsgraph/> integration.
90:
91: o Syntax highlighting using GNU Enscript <http://www.iki.fi/~mtr/genscript/>.
92:
3.6 ! scop 93: o CVSHistory <http://www.jamwt.com/CVSHistory/> integration.
! 94:
3.3 scop 95: o Line number output for HTMLized views.
96:
97: o Support for showing README.cvs.html and README.cvs akin to Apache's
98: FancyIndexes.
99:
100: o Support for external diff tools.
101:
102: o Works with mod_perl >= 1.99_11 as well as 1.2x.
103:
3.5 scop 104: o ...and much more! See NEWS for high level changes between releases.
105:
106: See also README, as well as TODO for new features under consideration
107: and development.
3.3 scop 108:
109: -------------------------------------------------------------------------------
110: The original Zeller README follows (possibly outdated to some extent):
111: -------------------------------------------------------------------------------
3.2 scop 112:
3.1 knu 113: The cgi-script cvsweb.cgi is written by Bill Fenner <fenner@freebsd.org>
114: (see [1]) for the freebsd project. It allows browsing of
115: CVS-repositories (see [2]) with an HTML-browser.
116:
117: This version is based on Bill's script and is hacked to fit our needs,
118: so don't blame him if anything doesn't work ..
119:
120: Added features:
121: - a colored side by side diff
122: - easier navigation
123: - mime-type aware checkout which allows for browsing
124: of version controlled HTML-pages
125: - easier configuration - everything configurable is in one
126: external file now
127: - added cvs-annotate - this requires cvs >= 1.9
128: (tested with cvs 1.10)
129: - a better way of viewing timestamps: they're shown as age
130: (something like 'changed 2 days 4 hours ago')
131: - sorting by filename / age - just click on the corresponding
132: column
133: - urlencodes all filenames so files with spaces and special
134: characters in their names are viewable as well.
135: - selectionbox for choosing different CVS-roots
136: - overview of last revisionnumber, age and logentry in the
137: directory view
138: - you can check out the current revision of a file if you are
139: in the directory view (idea from Nick Brachet)
140: - gzip'ed output if the browser accepts this; this can reduce the
141: size (and download time) by a factor of 4 (directory view) to
142: 10 (colored diff; the size of the colored diff could be reduced
143: with CSS .. anyone ?). The use of gzip has been in the very first
144: version of cvsweb (by Bill Fenner), but has been removed because
145: it wasn't easy to determine if a browser actually understands it. Today
146: the browsers state if they accept the Content-encoding gzip..
147: .. but MSIE lies about this (so cvsweb disables gzip-encoding in this
148: case).
149: - Tag based browsing. An easy and what I think intuitive way to browse a
150: CVS tree based on tags, with filtering of files and CVS logs to only
151: show whats relevant for the selected tag.
152: - "Pretty-printed" checkouts for text based files. My intention is to
153: eventually add cross-referencing to this, but for now the file is only
154: converted to HTML with automatic detection of various links.
155: - "Click-on-version" diff selection.
156: - sorting for every column now
157: - uses 'cvs co' for checkout instead of rcs co
158: - Ability to show directory descriptions from CVSROOT/descriptions
159:
160: cvsweb.cgi became quite huge now and is bad style code (I am not a
161: perl-programmer - this is what I do in my spare time!) so this
162: should be rewritten.
163:
164: I'd propose a Java-servlet which could use the C/S-protocol .. anyone ?
165:
166: And what about using mod_perl, and rewriting it into a set of proper Perl-5
167: modules?
168:
169: This software is distributed under the terms of the BSD-licence.
170:
171: You can download the latest version at
3.2 scop 172: <http://stud.fh-heilbronn.de/~zeller/cgi/cvsweb.cgi/>
3.1 knu 173:
174: or get it directly with cvs at
175: CVSROOT: :pserver:anonymous@cvs.stud.fh-heilbronn.de:/cvsroot/public
176: Password: anonymous
177: Module: cvsweb
178:
179: Please send suggestions, bugs etc to
180: Henner Zeller <zeller@think.de>
181: or
182: Henrik Nordstrom <hno@hem.passagen.se>
183:
184: -- refs
185: [1] for the original Version of cvsweb.cgi, see
186: <http://www.freebsd.org/~fenner/cvsweb/>
3.2 scop 187: [2] for cvs, see <http://www.cvshome.org/>
3.1 knu 188:
3.3 scop 189: --
190: Ville Skyttä <scop@FreeBSD.org> -- The FreeBSD Project
CVSweb