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