Annotation of cvsweb/cvsweb.conf, Revision 3.30
3.1 knu 1: # -*-perl-*-
2: # Configuration of cvsweb.cgi, the
3: # CGI interface to CVS Repositories.
4: #
5: # (c) 1998-1999 H. Zeller <zeller@think.de>
6: # 1999 H. Nordstrom <hno@hem.passagen.se>
3.30 ! knu 7: # 2000-2002 A. MUSHA <knu@FreeBSD.org>
3.1 knu 8: # based on work by Bill Fenner <fenner@FreeBSD.org>
3.28 knu 9: #
3.30 ! knu 10: # $FreeBSD$
3.27 knu 11: # $Id: cvsweb.conf,v 3.29 2001/07/23 09:14:52 hzeller Exp $
3.28 knu 12: # $Idaemons: /home/cvs/cvsweb/cvsweb.conf,v 3.27 2001/08/01 09:48:39 knu Exp $
3.1 knu 13: #
14: ###
15:
3.19 knu 16: # Set the path for the following commands:
17: # uname, cvs, rlog, rcsdiff
18: # gzip (if you enable $allow_compress)
3.25 knu 19: # tar, rm, zip (if you enable $allow_tar)
3.19 knu 20: $command_path = '/bin:/usr/bin:/usr/local/bin';
21:
22: # Search the above directories for each command
3.25 knu 23: for (qw(uname cvs rlog rcsdiff gzip tar rm zip)) {
3.26 knu 24: $CMD{$_} = search_path($_);
3.19 knu 25: }
26:
27: # The name of the operating system implementation
3.21 knu 28: chomp($uname = `$CMD{uname}`);
3.19 knu 29:
3.1 knu 30: ##############
31: # CVS Root
32: ##############
33: # CVSweb can handle several CVS-Repositories
34: # at once. Enter a short symbolic names and the
35: # full path of these repositories here.
36: # NOTE that the symbolic names may not contain
37: # whitespaces.
38: # Note, that cvsweb.cgi currently needs to have physical access
39: # to the CVS repository so :pserver:someone@xyz.com:/data/cvsroot
40: # won't work!
41:
3.17 knu 42: # 'symbolic_name' => ['name_to_display', 'path_to_the_actual_repository']
43: # Listed in the order specified:
44: @CVSrepositories = (
3.26 knu 45: 'local' => ['Local Repository', '/home/cvs'],
46: # 'freebsd' => ['FreeBSD', '/home/ncvs'],
47: # 'openbsd' => ['OpenBSD', '/home/ncvs'],
48: # 'netbsd' => ['NetBSD', '/home/ncvs'],
49: # 'ruby' => ['Ruby', '/var/anoncvs/ruby'],
50: );
3.1 knu 51:
52: # This tree is enabled by default when
53: # you enter the page
3.26 knu 54: $cvstreedefault = $CVSrepositories[2 * 0]; # The first one
3.1 knu 55:
56: ##############
3.15 knu 57: # Bug tracking system options
58: # ("PR" means Problem Report, as in GNATS)
3.1 knu 59: ##############
3.15 knu 60: #@prcategories = qw(
3.26 knu 61: # advocacy
62: # alpha
63: # bin
64: # conf
65: # docs
66: # gnu
67: # i386
68: # kern
69: # misc
70: # pending
71: # ports
72: # sparc
73: #);
74:
3.15 knu 75: #
76: #$prcgi = "http://www.FreeBSD.org/cgi/query-pr.cgi?pr=%s";
77: #
78: #$prkeyword = "PR";
3.1 knu 79:
80: ##############
3.15 knu 81: # Manual gateway
3.8 knu 82: ##############
3.26 knu 83: $mancgi =
84: "http://www.FreeBSD.org/cgi/man.cgi?apropos=0&sektion=%s&query=%s&manpath=FreeBSD+5.0-current&format=html";
3.1 knu 85:
86: ##############
87: # Defaults for UserSettings
88: ##############
89: %DEFAULTVALUE = (
3.26 knu 90:
91: # sortby: File sort order
92: # file Sort by filename
93: # rev Sort by revision number
94: # date Sort by commit date
95: # author Sort by author
96: # log Sort by log message
97:
98: "sortby" => "file",
99:
100: # hideattic: Hide or show files in Attic
101: # 1 Hide files in Attic
102: # 0 Show files in Attic
103:
104: "hideattic" => "1",
105:
106: # logsort: Sort order for CVS logs
107: # date Sort revisions by date
108: # rev Sort revision by revision number
109: # cvs Don't sort them. Same order as CVS/RCS shows them.
110:
111: "logsort" => "date",
112:
113: # f: Default diff format
114: # h Human readable
115: # u Unified diff
116: # c Context diff
117: # s Side by side
118: "f" => "u",
119:
120: # hidecvsroot: Don't show the CVSROOT directory
121: # 1 Hide CVSROOT directory
122: # 0 Show CVSROOT directory
123: "hidecvsroot" => "0",
124:
125: # hidenonreadable: Don't show entries which cannot be read
126: # 1 Hide non-readable entries
127: # 0 Show non-readable entries
128: "hidenonreadable" => "1",
3.1 knu 129: );
130:
131: ##############
132: # some layout stuff
133: ##############
134:
3.9 knu 135: # The body-tag for directory views and logs
3.1 knu 136: $body_tag = '<body text="#000000" bgcolor="#ffffff">';
137:
3.9 knu 138: # The body-tag for diffs and annotations
139: $body_tag_for_src = '<body text="#000000" bgcolor="#eeeeee">';
140:
3.1 knu 141: # Wanna have a logo on the page ?
3.30 ! knu 142: $logo = '<p><img src="/icons/apache_pb.gif" alt="Powered by Apache"></p>';
3.1 knu 143:
144: # The title of the Page on startup
145: $defaulttitle = "CVS Repository";
146:
147: # The address is shown on the footer
3.30 ! knu 148: $address = '<font size="-1">CVSweb by <knu@FreeBSD.org></font>';
3.1 knu 149:
150: # color of navigation Header for
151: # diffs and annotations
152: $navigationHeaderColor = '#9999ee';
153:
154: $long_intro = <<EOT;
155: <p>
156: This is a WWW interface for CVS Repositories.
157: You can browse the file hierarchy by picking directories
158: (which have slashes after them, <i>e.g.</i>, <b>src/</b>).
159: If you pick a file, you will see the revision history
160: for that file.
161: Selecting a revision number will download that revision of
162: the file. There is a link at each revision to display
163: diffs between that revision and the previous one, and
164: a form at the bottom of the page that allows you to
165: display diffs between arbitrary revisions.
166: </p>
167: <p>
3.22 knu 168: This script has been written by Bill Fenner <<a
169: href="mailto:fenner\@FreeBSD.org">fenner\@FreeBSD.org</a>> and
170: improved by Henner Zeller <<a
171: href="mailto:zeller\@think.de">zeller\@think.de</a>>, Henrik
172: Nordström <<a
173: href="mailto:hno\@hem.passagen.se">hno\@hem.passagen.se</a>>, and
174: Ken Coar <<a
175: href="mailto:Ken.Coar\@Golux.Com">Ken.Coar\@Golux.Com</a>>, then
176: Akinori MUSHA <<a
177: href="mailto:knu\@FreeBSD.org">knu\@FreeBSD.org</a>> brought it
178: back to FreeBSD community and made further improvements; it is covered
179: by the <a
180: href="http://www.opensource.org/licenses/bsd-license.html">BSD-Licence</a>.
3.1 knu 181: </p>
182: <p>
183: If you would like to use this CGI script on your own web server and
3.23 knu 184: CVS tree, download the latest version <a
3.24 knu 185: href="http://www.idaemons.org/~knu/cvsweb/">here</a>, and also check
186: out Zeller's <a
3.22 knu 187: href="http://linux.fh-heilbronn.de/~zeller/cgi/cvsweb.cgi" >CVSweb
188: distribution site</a>. Bill's original script can be found <a
189: href="http://www.FreeBSD.org/~fenner/cvsweb/">here</a>.
3.1 knu 190: </p>
191: <p>
192: Please send any suggestions, comments, etc. to
3.5 knu 193: <a href="mailto:fenner\@FreeBSD.org">Bill Fenner</a> or, regarding the
3.1 knu 194: modifications, to
195: <a href="mailto:knu\@FreeBSD.org">Akinori MUSHA</a>,
196: <a href="mailto:zeller\@think.de">Henner Zeller</a>,
197: <a href="mailto:hno\@hem.passagen.se">Henrik Nordström</a>, or
198: <a href="mailto:Ken.Coar\@Golux.Com">Ken Coar</a>.
199: </p>
200: EOT
201:
202: $short_instruction = <<EOT;
203: <p>
204: Click on a directory to enter that directory. Click on a file to display
205: its revision history and to get a chance to display diffs between revisions.
206: </p>
207: EOT
208:
209: # used icons; if icon-url is empty, the text representation is used; if
210: # you do not want to have an ugly tooltip for the icon, remove the
211: # text-representation.
212: # The width and height of the icon allow the browser to correcly display
213: # the table while still loading the icons.
214: # These default icons are coming with apache.
215: # If these icons are too large, check out the miniicons in the
216: # icons/ directory; they have a width/height of 16/16
3.15 knu 217: my $iconsdir = "/icons";
3.26 knu 218:
3.15 knu 219: # format: TEXT ICON-URL width height
3.26 knu 220: %ICONS = (
221: back => [("[BACK]", "$iconsdir/back.gif", 20, 22)],
222: dir => [("[DIR]", "$iconsdir/dir.gif", 20, 22)],
223: file => [("[TXT]", "$iconsdir/text.gif", 20, 22)],
224: );
3.15 knu 225: undef $iconsdir;
3.1 knu 226:
227: # the length to which the last logentry should
228: # be truncated when shown in the directory view
229: $shortLogLen = 80;
230:
231: # Show author of last change
232: $show_author = 1;
233:
234: ##############
235: # table view for directories
236: ##############
237:
238: # Show directory as table
239: # this is much more readable but has one
240: # drawback: the whole table has to be loaded
241: # before common browsers display it which may
242: # be annoying if you have a slow link - and a
243: # large directory ..
244: $dirtable = 1;
245:
246: # show different colors for even/odd rows
247: @tabcolors = ('#ffffff', '#ffffff');
248: $tablepadding = 2;
249:
250: # Color of Header
251: $columnHeaderColorDefault = '#ffffcc';
252: $columnHeaderColorSorted = '#ffcc66';
253:
254: #
255: # If you want to have colored borders
256: # around each row, uncomment this
257: $tableBorderColor = '#cccccc';
258:
259: #
260: # Modules in the repository that should not be displayed, either by default
261: # nor by explicit path specification.
262: #
3.27 knu 263: @HideModules = (
264: # "^my/secret/module",
265: );
266:
267: #
268: # Files matching these pathnames shouldn't be checked out with cvsweb,
269: # since they may contain sensitive information. Simple file name based
270: # filter. Often, the CVSROOT/passwd is exposed and some people tend
271: # to check in their .cvspass, though this is a bad idea. These files
272: # shouldn't be readable by default. Thanks to Damian Gryski to point
273: # this out.
274: @ForbiddenFiles = (
275: "^CVSROOT/passwd\$", # CVSROOT/passwd should not be cvs add'ed, though
276: "/\\.cvspass\$", # Ditto. Just in case.
277: );
3.1 knu 278:
279: #
280: # Use CVSROOT/CVSROOT/descriptions for describing the directories/modules
281: # See INSTALL section 8
282: #
283: $use_descriptions = 0;
284:
285: ##############
286: # Human Readable Diff
287: ##############
288:
289: # (c) 1998 H. Zeller <zeller@think.de>
290: #
291: # Generates two columns of color encoded
292: # diff; much like xdiff or emacs-ediff mode.
293: #
294: # The diff-stuff is a piece of code I once made for
295: # cvs2html which is under GPL,
296: # see http://www.sslug.dk/cvs2html
297: # (c) 1997/98 Peter Toft <pto@sslug.imm.dtu.dk>
298: #
299: # some parameters to screw:
300: ##
301:
302: # make lines breakable so that the columns do not
303: # exceed the width of the browser
304: $hr_breakable = 1;
305:
3.4 knu 306: # give out function names in diffs
3.1 knu 307: # this just makes sense if we have C-files, otherwise
308: # diff's heuristic doesn't work well ..
309: # ( '-p' option to diff)
3.4 knu 310: $showfunc = 1;
3.1 knu 311:
312: # For each pair of regexps, files that match the first regexp will be diff'ed
313: # with an '-F' option with the second regexp.
3.4 knu 314: %funcline_regexp = (
3.26 knu 315: "\\.(4th|fr)\$" => "\\(^\\|[ \t]\\): ",
316: "\\.rb\$" => "^[\t ]*\\(class\\|module\\|def\\) ",
317: );
3.1 knu 318:
319: # ignore whitespaces for human readable diffs
320: # (indendation and stuff ..)
321: # ( '-w' option to diff)
3.7 knu 322: $hr_ignwhite = 0;
3.1 knu 323:
324: # ignore diffs which are caused by
325: # keyword-substitution like $Id - Stuff
326: # ( '-kk' option to rcsdiff)
327: $hr_ignkeysubst = 1;
328:
329: # Colors and font to show the diff type of code changes
3.26 knu 330: $diffcolorHeading = '#99cccc'; # color of 'Line'-head of each diffed file
331: $diffcolorEmpty = '#cccccc'; # color of 'empty' lines
332: $diffcolorRemove = '#ff9999'; # Removed line(s) (left) ( - )
333: $diffcolorChange = '#99ff99'; # Changed line(s) ( both )
334: $diffcolorAdd = '#ccccff'; # Added line(s) ( - ) (right)
335: $diffcolorDarkChange = '#99cc99'; # lines, which are empty in change
336: $difffontface = "Helvetica,Arial";
337: $difffontsize = "-1";
3.1 knu 338:
339: # the width of the textinput of the
340: # request-diff-form
341: $inputTextSize = 12;
342:
343: ##############
344: # Mime Types
345: ##############
346:
347: # mapping to mimetypes to help
348: # cvsweb to guess the correct mime-type on
349: # checkout; you can use the mime.types from
350: # apache here:
351: $mime_types = '/usr/local/etc/apache/mime.types';
352:
353: # quick mime-type lookup; maps file-suffices to
354: # mime-types for displaying checkouts in the browser.
355: # Further MimeTypes will be found in the
356: # file $mime_types (apache style mime.types - file)
357: # - add common mappings here for faster lookup
358: %MTYPES = (
3.26 knu 359: "html" => "text/html",
360: "shtml" => "text/html",
361: "gif" => "image/gif",
362: "jpeg" => "image/jpeg",
363: "jpg" => "image/jpeg",
364: "png" => "image/png",
365: "xpm" => "image/xpm",
366: "*" => "text/plain",
367: );
3.11 knu 368:
369: # Charset for HTML output
3.13 knu 370: $charset = '';
3.26 knu 371:
3.13 knu 372: # e.g.
373: #$charset = $where =~ m,/ru[/_-], ? 'koi8-r'
374: # : $where =~ m,/zh[/_-], ? 'big5'
375: # : $where =~ m,/ja[/_-], ? 'x-euc-jp'
376: # : $where =~ m,/ko[/_-], ? 'x-euc-kr'
377: # : 'iso-8859-1';
3.29 knu 378:
379: # Output filter
380: $output_filter = '';
381:
382: # e.g.
383: ## unify/convert Japanese code into EUC-JP
384: #$output_filter= '/usr/local/bin/nkf -e';
3.1 knu 385:
386: ##############
387: # Misc
388: ##############
389: # allow annotation of files
390: # this requires rw-access to the
3.12 knu 391: # CVSROOT/history file (if you have one)
392: # and rw-access to the subdirectory to
393: # place the lock so you maybe don't want it
3.1 knu 394: $allow_annotate = 1;
395:
396: # allow pretty-printed version of files
397: $allow_markup = 1;
398:
399: # allow compression with gzip
400: # of output if the Browser accepts
401: # it (HTTP_ACCEPT_ENCODING=gzip)
402: # [make sure to have gzip in the path]
3.16 knu 403: $allow_compress = 0;
3.1 knu 404:
405: # Make use of javascript functions.
406: # This way you can select one of your CVSroot
407: # without pressing 'Go' (.. if you do have more
408: # than one CVSROOT defined)
409: $use_java_script = 1;
410:
411: # open Download-Links in another window
412: $open_extern_window = 1;
413:
414: # The size of this extern window; this size option
415: # needs use_java_script to be defined
416: # just comment them if you don't want to have a fixed
417: # size
418: #$extern_window_width = 600;
419: #$extern_window_height = 440;
420:
421: # Edit Options
422: # Enable form to edit your options (hideattic,sortbydate)
423: # this isn't necessary if you've $dirtable defined 'cause
424: # this allows editing of all your options more intuitive
425: $edit_option_form = (not $dirtable);
426:
427: # If you have files which automatically refers to other files
428: # (such as HTML) then this allows you to browse the checked
429: # out files as if outside CVS.
430: $checkout_magic = 1;
431:
432: # Show last changelog message for sub directories
433: # The current implementation makes many assumptions and may show the
434: # incorrect file at some times. The main assumption is that the last
435: # modified file has the newest filedate. But some CVS operations
436: # touches the file without even when a new version is't checked in,
437: # and TAG based browsing essientially puts this out of order, unless
438: # the last checkin was on the same tag as you are viewing.
439: # Enable this if you like the feature, but don't rely on correct results.
440: $show_subdir_lastmod = 0;
441:
442: # Background color of logentry in markup
443: $markupLogColor = "#ffffff";
444:
445: # Show CVS log when viewing file contents
446: $show_log_in_markup = 1;
447:
3.13 knu 448: # Preformat when viewing file contents. This should be turned off
449: # when you have files in the repository that are in a multibyte
450: # encoding which uses HTML special characters ([<>&"]) as part of a
451: # multi-byte character. (such as iso-2022-jp, ShiftJIS, etc.)
452: # Otherwise those files will get screwed up in markup.
453: $preformat_in_markup = '';
454:
3.1 knu 455: # Tabstop used to expand tabs in colored diffs. If undefined then
456: # tabs are always expanded to 8 spaces.
457: $tabstop = 8;
458:
459: # if you wish to display absolute times in your local timezone,
460: # then define mytz and fill in the strings for your standard and
461: # daylight time. Note that you must also make sure the system
462: # timezone is correctly set.
463: # @mytz=("EST", "EDT");
464:
465: # cvsweb is friendly to caches by indicating a suitable
466: # last-modified timestamp. Doing this uses slightly more
467: # CPU so you might want to disable it if you have a slow
468: # server
469: $use_moddate = 1;
470:
3.12 knu 471: # Allows downloading a tarball of the current directory if set.
472: # Bear in mind that this allows downloading a tarball of your entire
473: # repository, which can take a lot of time and disk space to create!
474: # If you enable this, you may need to make sure that cvsweb can write to
475: # CVSROOT/val-tags, due to a bug in cvs.
476: $allow_tar = '';
3.13 knu 477:
478: # Options to pass to tar(1).
3.15 knu 479: @tar_options = qw();
3.26 knu 480:
3.13 knu 481: # e.g. @tar_options = qw(--ignore-failed-read);
482: # GNU tar has some useful options against unexpected errors.
483:
3.19 knu 484: # Options to pass to gzip(1) when compressing a tarball to download.
485: @gzip_options = qw();
3.26 knu 486:
3.19 knu 487: # e.g. @gzip_options = qw(-3);
3.25 knu 488: # Try lower compression level than 6 (default) if you want faster
489: # compression, or higher, for better compression.
490:
491: # Options to pass to zip(1) when compressing a zip archive to download.
492: @zip_options = qw();
3.26 knu 493:
3.25 knu 494: # e.g. @zip_options = qw(-3);
3.19 knu 495: # Try lower compression level than 6 (default) if you want faster
3.21 knu 496: # compression, or higher, for better compression.
3.19 knu 497:
3.13 knu 498: # Options to pass to cvs(1).
499: @cvs_options = qw(-l);
3.19 knu 500:
501: push @cvs_options, '-R' if ($uname eq 'FreeBSD' || $uname eq 'OpenBSD');
3.26 knu 502:
3.19 knu 503: # Only FreeBSD's and OpenBSD's cvs(1) supports -R (read only access
504: # mode) option, which considerably speeds up checkouts over NFS.
3.12 knu 505:
506: 1;
3.26 knu 507:
3.1 knu 508: #EOF
CVSweb