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