Annotation of cvsweb/README, Revision 3.5
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:
93: o Line number output for HTMLized views.
94:
95: o Support for showing README.cvs.html and README.cvs akin to Apache's
96: FancyIndexes.
97:
98: o Support for external diff tools.
99:
100: o Works with mod_perl >= 1.99_11 as well as 1.2x.
101:
3.5 ! scop 102: o ...and much more! See NEWS for high level changes between releases.
! 103:
! 104: See also README, as well as TODO for new features under consideration
! 105: and development.
3.3 scop 106:
107: -------------------------------------------------------------------------------
108: The original Zeller README follows (possibly outdated to some extent):
109: -------------------------------------------------------------------------------
3.2 scop 110:
3.1 knu 111: The cgi-script cvsweb.cgi is written by Bill Fenner <fenner@freebsd.org>
112: (see [1]) for the freebsd project. It allows browsing of
113: CVS-repositories (see [2]) with an HTML-browser.
114:
115: This version is based on Bill's script and is hacked to fit our needs,
116: so don't blame him if anything doesn't work ..
117:
118: Added features:
119: - a colored side by side diff
120: - easier navigation
121: - mime-type aware checkout which allows for browsing
122: of version controlled HTML-pages
123: - easier configuration - everything configurable is in one
124: external file now
125: - added cvs-annotate - this requires cvs >= 1.9
126: (tested with cvs 1.10)
127: - a better way of viewing timestamps: they're shown as age
128: (something like 'changed 2 days 4 hours ago')
129: - sorting by filename / age - just click on the corresponding
130: column
131: - urlencodes all filenames so files with spaces and special
132: characters in their names are viewable as well.
133: - selectionbox for choosing different CVS-roots
134: - overview of last revisionnumber, age and logentry in the
135: directory view
136: - you can check out the current revision of a file if you are
137: in the directory view (idea from Nick Brachet)
138: - gzip'ed output if the browser accepts this; this can reduce the
139: size (and download time) by a factor of 4 (directory view) to
140: 10 (colored diff; the size of the colored diff could be reduced
141: with CSS .. anyone ?). The use of gzip has been in the very first
142: version of cvsweb (by Bill Fenner), but has been removed because
143: it wasn't easy to determine if a browser actually understands it. Today
144: the browsers state if they accept the Content-encoding gzip..
145: .. but MSIE lies about this (so cvsweb disables gzip-encoding in this
146: case).
147: - Tag based browsing. An easy and what I think intuitive way to browse a
148: CVS tree based on tags, with filtering of files and CVS logs to only
149: show whats relevant for the selected tag.
150: - "Pretty-printed" checkouts for text based files. My intention is to
151: eventually add cross-referencing to this, but for now the file is only
152: converted to HTML with automatic detection of various links.
153: - "Click-on-version" diff selection.
154: - sorting for every column now
155: - uses 'cvs co' for checkout instead of rcs co
156: - Ability to show directory descriptions from CVSROOT/descriptions
157:
158: cvsweb.cgi became quite huge now and is bad style code (I am not a
159: perl-programmer - this is what I do in my spare time!) so this
160: should be rewritten.
161:
162: I'd propose a Java-servlet which could use the C/S-protocol .. anyone ?
163:
164: And what about using mod_perl, and rewriting it into a set of proper Perl-5
165: modules?
166:
167: This software is distributed under the terms of the BSD-licence.
168:
169: You can download the latest version at
3.2 scop 170: <http://stud.fh-heilbronn.de/~zeller/cgi/cvsweb.cgi/>
3.1 knu 171:
172: or get it directly with cvs at
173: CVSROOT: :pserver:anonymous@cvs.stud.fh-heilbronn.de:/cvsroot/public
174: Password: anonymous
175: Module: cvsweb
176:
177: Please send suggestions, bugs etc to
178: Henner Zeller <zeller@think.de>
179: or
180: Henrik Nordstrom <hno@hem.passagen.se>
181:
182: -- refs
183: [1] for the original Version of cvsweb.cgi, see
184: <http://www.freebsd.org/~fenner/cvsweb/>
3.2 scop 185: [2] for cvs, see <http://www.cvshome.org/>
3.1 knu 186:
3.3 scop 187: --
188: Ville Skyttä <scop@FreeBSD.org> -- The FreeBSD Project
CVSweb