[BACK]Return to cvsweb.conf CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / cvsweb

Annotation of cvsweb/cvsweb.conf, Revision 3.97

3.76      scop        1: #                                                                  -*- perl -*-
                      2: # Configuration of cvsweb.cgi, a web interface to CVS repositories.
3.1       knu         3: #
                      4: # (c) 1998-1999 H. Zeller    <zeller@think.de>
                      5: #     1999      H. Nordstrom <hno@hem.passagen.se>
3.30      knu         6: #     2000-2002 A. MUSHA     <knu@FreeBSD.org>
3.95      scop        7: #     2002-2005 V. Skyttä    <scop@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:
3.92      scop       15: #
                     16: # Unless otherwise noted, all boolean parameters here default to off
                     17: # when no value for them has been explicitly set.
                     18: #
                     19:
3.19      knu        20: # Set the path for the following commands:
3.47      scop       21: #   cvs, rlog, rcsdiff
3.19      knu        22: #   gzip (if you enable $allow_compress)
3.47      scop       23: #   (g)tar, zip (if you enable $allow_tar)
3.42      scop       24: #   cvsgraph (if you enable $allow_graph)
3.71      scop       25: #   enscript (if you enable $allow_enscript)
3.58      scop       26: #
3.73      scop       27: @command_path = qw(/bin /usr/bin /usr/local/bin);
3.19      knu        28:
3.47      scop       29: # Search the above directories for each command (prefer gtar over tar).
3.58      scop       30: #
3.71      scop       31: for (qw(cvs rlog rcsdiff gzip gtar zip cvsgraph enscript)) {
3.26      knu        32:        $CMD{$_} = search_path($_);
3.19      knu        33: }
3.47      scop       34: $CMD{tar}   = delete($CMD{gtar}) if $CMD{gtar};
                     35: $CMD{tar} ||= search_path('tar');
3.19      knu        36:
3.53      scop       37: # CVS roots
                     38: #
                     39: # CVSweb can handle several CVS repositories at once.  Enter short (internal)
                     40: # symbolic repository names, their names in the UI and the actual locations
                     41: # here.  The repositories will be listed in the order they're specified here.
                     42: #
3.93      scop       43: # Obviously, CVSweb will need read access to these repository dirs.  If you
                     44: # receive an error that no valid CVS roots were found, double-check the file
                     45: # permissions and any other attributes your system may have for the repository
                     46: # directories, such as SELinux file contexts.
                     47: #
3.76      scop       48: # CVSweb will also load per-cvsroot configuration files if they exist.
                     49: # The symbolic_name (see below) of the CVS root will be concatenated into the
                     50: # name of the main (this) configuration file along with a hyphen, and that
                     51: # file will be loaded for that particular CVS root.  For examples, see
                     52: # cvsweb.conf-* in the CVSweb distribution.
                     53: #
3.53      scop       54: # Note that only local repositories are currently supported.  Things like
                     55: # :pserver:someone@xyz.com:/data/cvsroot won't work.
                     56: #
                     57: # 'symbolic_name' => ['Name to display',  '/path/to/cvsroot']
                     58: #
3.17      knu        59: @CVSrepositories = (
3.78      scop       60:         'local'   => ['Local Repository', '/var/cvs'],
                     61: #       'freebsd' => ['FreeBSD',          '/var/ncvs'],
                     62: #       'openbsd' => ['OpenBSD',          '/var/ncvs'],
                     63: #       'netbsd'  => ['NetBSD',           '/var/ncvs'],
3.53      scop       64: #       'ruby'    => ['Ruby',             '/var/anoncvs/ruby'],
3.26      knu        65: );
3.1       knu        66:
3.53      scop       67: # The default CVS root.  Note that @CVSrepositories is list, not a hash,
                     68: # so you'll want to use 2 * 0-based-index-number here; or set this directly
                     69: # to the default's symbolic name. Unless specified, the first valid one in
                     70: # @CVSrepositories is used as the default.
                     71: #
                     72: # For example:
                     73: #
                     74: #$cvstreedefault = $CVSrepositories[2 * 0];
                     75: #$cvstreedefault = 'local';
3.1       knu        76:
3.88      scop       77: # Mirror sites.  The keys will be used as link texts, and the values are
                     78: # URLs pointing to the corresponding mirrors.
                     79: #
                     80: #%MIRRORS = (
                     81: #     'Other location'  => 'http://192.168.0.1/cgi-bin/cvsweb.cgi/',
                     82: #     'Yet another one' => 'http://192.168.0.2/cgi-bin/cvsweb.cgi/',
                     83: #);
                     84:
3.76      scop       85: # Bug tracking system linking options ("PR" means Problem Report, as in GNATS)
3.92      scop       86: # This will be done only for views for which $allow_*_extra below is true.
3.76      scop       87: #
3.15      knu        88: #@prcategories = qw(
3.26      knu        89: #    advocacy
                     90: #    alpha
                     91: #    bin
                     92: #    conf
                     93: #    docs
                     94: #    gnu
                     95: #    i386
                     96: #    kern
                     97: #    misc
                     98: #    pending
                     99: #    ports
                    100: #    sparc
                    101: #);
3.15      knu       102: #$prcgi = "http://www.FreeBSD.org/cgi/query-pr.cgi?pr=%s";
                    103: #$prkeyword = "PR";
3.1       knu       104:
3.92      scop      105: # Manual gateway linking.  This will be done only for views for which
                    106: # $allow_*_extra below is true.
3.76      scop      107: #
3.26      knu       108: $mancgi =
                    109:     "http://www.FreeBSD.org/cgi/man.cgi?apropos=0&sektion=%s&query=%s&manpath=FreeBSD+5.0-current&format=html";
3.1       knu       110:
3.90      scop      111: # Defaults for user definable options.
3.76      scop      112: #
3.1       knu       113: %DEFAULTVALUE = (
3.26      knu       114:
3.76      scop      115:     # sortby: File sort order
                    116:     #   file   Sort by filename
                    117:     #   rev    Sort by revision number
                    118:     #   date   Sort by commit date
                    119:     #   author Sort by author
                    120:     #   log    Sort by log message
                    121:     "sortby" => "file",
                    122:
                    123:     # ignorecase: Ignore case in sorts (filenames, authors, log messages)
                    124:     #   0      Honor case
                    125:     #   1      Ignore case
                    126:     "ignorecase" => "0",
                    127:
                    128:     # hideattic: Hide or show files in Attic
                    129:     #   1      Hide files in Attic
                    130:     #   0      Show files in Attic
                    131:     "hideattic" => "1",
                    132:
                    133:     # logsort: Sort order for CVS logs
                    134:     #   date   Sort revisions by date
                    135:     #   rev    Sort revision by revision number
                    136:     #   cvs    Don't sort them. Same order as CVS/RCS shows them.
                    137:     "logsort" => "date",
                    138:
                    139:     # f: Default diff format
                    140:     #   h      Human readable
                    141:     #   u      Unified diff
                    142:     #   c      Context diff
                    143:     #   s      Side by side
                    144:     #   uc     Unified diff, enscript colored (falls back to "u" w/o enscript)
                    145:     #   cc     Context diff, enscript colored (falls back to "c" w/o enscript)
                    146:     #   sc     Side by side, enscript colored (falls back to "s" w/o enscript)
                    147:     "f" => "u",
                    148:
3.90      scop      149:     # hidecvsroot: Don't show the CVSROOT directory.  Note that this is
                    150:     # just the default for a user settable option (like others in this
                    151:     # %DEFAULTVALUE hash); it won't really prevent access to CVSROOT.
                    152:     # See @ForbiddenFiles for that.
                    153:     #   1      Do not include the top-level CVSROOT directory in dir listings
                    154:     #   0      Treat the top-level CVSROOT directory just like all other dirs
3.76      scop      155:     "hidecvsroot" => "0",
                    156:
3.90      scop      157:     # hidenonreadable: Don't show files and directories that cannot be read
                    158:     # in directory listings.
3.76      scop      159:     #   1      Hide non-readable entries
                    160:     #   0      Show non-readable entries
                    161:     "hidenonreadable" => "1",
                    162:
                    163:     # ln: Show line numbers in HTMLized views
                    164:     #   1      Show line numbers
                    165:     #   0      Don't show line numbers
                    166:     "ln" => "0",
3.1       knu       167: );
                    168:
3.76      scop      169: #
                    170: # Layout options (see also the included CSS file)
                    171: #
3.1       knu       172:
                    173: # Wanna have a logo on the page ?
3.58      scop      174: #
3.79      scop      175: #$logo = '<p><img src="/icons/apache_pb.gif" alt="Powered by Apache" /></p>';
3.1       knu       176:
3.79      scop      177: # The title of the Page on startup.  This will be put inside <h1> and <title>
                    178: # tags, and HTML escaped.
3.58      scop      179: #
3.1       knu       180: $defaulttitle = "CVS Repository";
                    181:
3.34      scop      182: # The address is shown on the footer.  This will be put inside a <address> tag.
3.58      scop      183: #
3.34      scop      184: $address = '<span style="font-size: smaller">FreeBSD-CVSweb &lt;<a href="mailto:freebsd-cvsweb@FreeBSD.org">freebsd-cvsweb@FreeBSD.org</a>&gt;</span>';
3.1       knu       185:
                    186: $long_intro = <<EOT;
                    187: <p>
3.81      scop      188: This is a WWW interface for CVS repositories.
3.67      scop      189: You can browse the file hierarchy by following directory links (which
                    190: have slashes after them, e.g. <code>src/</code>).
                    191: If you follow a link to a file, you will see its revision history.
                    192: Following a link labeled with a revision number will display that
                    193: revision of the file.  In the revision history view, there is a link
                    194: near each revision to display diffs between that revision and the
                    195: previous one, and a form at the bottom of the page that allows you to
3.1       knu       196: display diffs between arbitrary revisions.
3.67      scop      197: </p><p>
3.33      scop      198: This script has been written by Bill Fenner and improved by Henner Zeller,
                    199: Henrik Nordstr&ouml;m, and Ken Coar, then Akinori MUSHA brought it
3.22      knu       200: back to FreeBSD community and made further improvements; it is covered
3.33      scop      201: by <a
3.97    ! scop      202: href="http://www.opensource.org/licenses/bsd-license.html">The BSD License</a>.
3.67      scop      203: </p><p>
3.1       knu       204: If you would like to use this CGI script on your own web server and
3.67      scop      205: CVS tree, download the latest version from &lt;<a
3.33      scop      206: href="http://www.FreeBSD.org/projects/cvsweb.html">http://www.FreeBSD.org/projects/cvsweb.html</a>&gt;.
3.67      scop      207: </p><p>
3.33      scop      208: Feel free to send any patches, suggestions and comments to the FreeBSD-CVSweb
                    209: mailing list at
                    210: &lt;<a
                    211: href="mailto:freebsd-cvsweb\@FreeBSD.org">freebsd-cvsweb\@FreeBSD.org</a>&gt;.
3.1       knu       212: </p>
                    213: EOT
                    214:
                    215: $short_instruction = <<EOT;
                    216: <p>
                    217: Click on a directory to enter that directory. Click on a file to display
3.32      scop      218: its revision history and to get a chance to display diffs between revisions.
3.1       knu       219: </p>
                    220: EOT
                    221:
3.42      scop      222: # Icons for the web UI.  If ICON-URL is empty, the TEXT representation is
                    223: # used.  If you do not want to have a tool tip for an icon, set TEXT empty.
                    224: # The width and height of the icon allow the browser to correctly display
                    225: # the table while still loading the icons.  If these icons are too large,
                    226: # check out the "mini" versions in the icons/ directory; they have a
                    227: # width/height of 16/16.
3.58      scop      228: #
3.42      scop      229: my $iconsdir = '/icons';
                    230:
3.51      scop      231: # format:          TEXT       ICON-URL                  width height
3.26      knu       232: %ICONS = (
3.51      scop      233:      back    => [('[BACK]',   "$iconsdir/back.gif",      20,   22)],
                    234:      dir     => [('[DIR]',    "$iconsdir/dir.gif",       20,   22)],
                    235:      file    => [('[TXT]',    "$iconsdir/text.gif",      20,   22)],
3.87      scop      236:      binfile => [('[BIN]',    "$iconsdir/binary.gif",    20,   22)],
3.51      scop      237:      graph   => [('[GRAPH]',  "$iconsdir/minigraph.png", 16,   16)],
3.26      knu       238: );
3.15      knu       239: undef $iconsdir;
3.1       knu       240:
3.43      scop      241: # An URL where to find the CSS.
3.58      scop      242: #
3.43      scop      243: $cssurl = '/css/cvsweb.css';
                    244:
3.76      scop      245: # The length to which the last log entry should be truncated when shown
                    246: # in the directory view.
3.58      scop      247: #
3.1       knu       248: $shortLogLen = 80;
                    249:
3.76      scop      250: # Show author of last change?
3.58      scop      251: #
3.1       knu       252: $show_author = 1;
                    253:
3.76      scop      254: # Cell padding for directory table.
3.58      scop      255: #
3.1       knu       256: $tablepadding = 2;
                    257:
3.91      scop      258: # Regular expressions for files and directories which should be hidden.
3.75      scop      259: # Each regexp is compared against a path relative to a CVS root, after
                    260: # stripping the trailing ",v" if present.  Matching files and directories
                    261: # are not displayed.
3.58      scop      262: #
3.27      knu       263: @ForbiddenFiles = (
3.74      scop      264:     qr|^CVSROOT/+passwd$|o, # CVSROOT/passwd should not be 'cvs add'ed though.
                    265:     qr|/\.cvspass$|o,       # Ditto.  Just in case.
3.75      scop      266:    #qr|^my/+secret/+dir|o,
3.27      knu       267: );
3.1       knu       268:
3.77      scop      269: # Use CVSROOT/descriptions for describing the directories/modules?
3.69      scop      270: # See INSTALL, section 9.
3.1       knu       271: #
                    272: $use_descriptions = 0;
                    273:
3.76      scop      274: #
                    275: # Human readable diff.
                    276: #
3.1       knu       277: # (c) 1998 H. Zeller <zeller@think.de>
                    278: #
3.76      scop      279: # Generates two columns of color encoded diff; much like xdiff or GNU Emacs'
                    280: # ediff-mode.
3.1       knu       281: #
3.76      scop      282: # The diff-stuff is a piece of code I once made for cvs2html which is under
                    283: # GPL, see http://www.sslug.dk/cvs2html
3.1       knu       284: # (c) 1997/98 Peter Toft <pto@sslug.imm.dtu.dk>
                    285:
3.76      scop      286: # Make lines breakable so that the columns do not exceed the width of the
                    287: # browser?
3.58      scop      288: #
3.1       knu       289: $hr_breakable = 1;
                    290:
3.80      scop      291: # Print function names in diffs (unified and context only).
                    292: # See the -p option in the diff(1) man page.
3.58      scop      293: #
3.4       knu       294: $showfunc = 1;
3.1       knu       295:
                    296: # For each pair of regexps, files that match the first regexp will be diff'ed
3.80      scop      297: # with an -F option using the second regexp (unified and context only).
                    298: # See the -F option in the diff(1) man page.
3.58      scop      299: #
3.4       knu       300: %funcline_regexp = (
3.74      scop      301:     qr/\.(?:4th|fr)$/o => "\\(^\\|[ \t]\\): ",
                    302:     qr/\.rb$/o         => "^[\t ]*\\(class\\|module\\|def\\) ",
3.26      knu       303: );
3.1       knu       304:
3.76      scop      305: # Ignore whitespace in human readable diffs? ('-w' option to diff)
3.58      scop      306: #
3.7       knu       307: $hr_ignwhite = 0;
3.1       knu       308:
3.76      scop      309: # Ignore diffs which are caused by keyword substitution, $Id and friends?
                    310: # ('-kk' option to rcsdiff)
3.58      scop      311: #
3.1       knu       312: $hr_ignkeysubst = 1;
                    313:
3.76      scop      314: # The width of the textinput of the "request diff" form.
3.58      scop      315: #
3.1       knu       316: $inputTextSize = 12;
3.70      scop      317:
                    318: # Custom per MIME type diff tools, used for comparing binary files such as
                    319: # spreadsheets, images etc.  Each key is a MIME type in lowercase.
                    320: # Each value is an array ref of available diff tools for that type, each of
                    321: # which is a hash ref with values (mandatory where default not listed):
                    322: #   name: the name to show in the UI for this diff type
                    323: #   cmd:  full path to executable
                    324: #   args: arguments as an array ref (not string!, defaults to no arguments)
                    325: #   type: output MIME type (defaults to text/plain)
                    326: #
                    327: %DIFF_COMMANDS = (
                    328:   #'text/xml' => [
                    329:   #  { name => 'XMLdiff',
                    330:   #    cmd  => $CMD{xmldiff},
                    331:   #  },
                    332:   #  { name => 'XMLdiff (XUpdate)',
                    333:   #    cmd  => $CMD{xmldiff},
                    334:   #    args => [ qw(-x) ],
                    335:   #    type => 'text/xml',
                    336:   #  },
                    337:   #],
                    338: );
3.1       knu       339:
3.76      scop      340: #
                    341: # Mime types
                    342: #
3.1       knu       343:
3.52      scop      344: # The MIME type lookup works like this:
                    345: # 1) Look up from %MTYPES below with the file name extension (suffix).
                    346: # 2) If not found, use the MIME::Types(3) module if it's available.
                    347: # 3) If not found, lookup from the $mime_types file (see below).
                    348: # 4) If not found, try %MTYPES{'*'}.
                    349: # 5) If not found, use 'application/octet-stream' if the file's keyword
                    350: #    substitution mode is b (ie. the file was checked in as binary to CVS),
                    351: #    'text/plain' otherwise.
3.1       knu       352:
3.52      scop      353: # Quick MIME type lookup; maps filename extensions to MIME types.
                    354: # Add common mappings here for fast lookup.  You can also use this
                    355: # to override MIME::Types(3) or the $mime_types file (see below).
3.58      scop      356: #
3.1       knu       357: %MTYPES = (
3.26      knu       358:        "html"  => "text/html",
                    359:        "shtml" => "text/html",
                    360:        "gif"   => "image/gif",
                    361:        "jpeg"  => "image/jpeg",
                    362:        "jpg"   => "image/jpeg",
                    363:        "png"   => "image/png",
                    364:        "xpm"   => "image/xpm",
3.52      scop      365: #      "*"     => "text/plain",
3.26      knu       366: );
3.52      scop      367:
                    368: # The traditional mime.types file, eg. the one from Apache is fine.
                    369: # See above where this gets used.
3.58      scop      370: #
3.52      scop      371: $mime_types = '/usr/local/etc/apache/mime.types';
3.11      knu       372:
3.56      scop      373: # Charset appended to the Content-Type HTTP header for text/* MIME types.
                    374: # Note that the web server may default to some charset which may take effect
                    375: # if you leave this parameter empty or unset.
3.69      scop      376: # For Apache, see also the AddDefaultCharset directive.
3.56      scop      377: #
3.13      knu       378: $charset = '';
3.26      knu       379:
3.13      knu       380: # e.g.
                    381: #$charset = $where =~ m,/ru[/_-], ? 'koi8-r'
                    382: #  : $where =~ m,/zh[/_-], ? 'big5'
                    383: #  : $where =~ m,/ja[/_-], ? 'x-euc-jp'
                    384: #  : $where =~ m,/ko[/_-], ? 'x-euc-kr'
                    385: #  : 'iso-8859-1';
3.29      knu       386:
                    387: # Output filter
3.58      scop      388: #
3.29      knu       389: $output_filter = '';
                    390:
                    391: # e.g.
                    392: ## unify/convert Japanese code into EUC-JP
                    393: #$output_filter= '/usr/local/bin/nkf -e';
3.1       knu       394:
                    395: ##############
                    396: # Misc
                    397: ##############
3.58      scop      398:
3.76      scop      399: # Allow annotation of files?  See also @annotate_options below.
3.58      scop      400: #
3.1       knu       401: $allow_annotate = 1;
                    402:
3.96      scop      403: # Allow HTMLized versions of files?
3.58      scop      404: #
3.1       knu       405: $allow_markup = 1;
                    406:
3.96      scop      407: # Allow CVSweb to create mailto: links from email addresses in various
                    408: # HTMLized views?  Default: yes.
                    409: #
                    410: #$allow_mailtos = 0;
                    411:
3.92      scop      412: ## Extra hyperlinking means hyperlinks to bug tracking systems and manual page
                    413: ## gateways, see $prcgi and $mancgi and related options above.
                    414:
3.76      scop      415: # Allow extra hyperlinking (such as PR cross-references) in logs?
3.92      scop      416: # Default: yes.
3.58      scop      417: #
3.92      scop      418: #$allow_log_extra = 0;
3.31      knu       419:
3.92      scop      420: # Allow extra hyperlinking in directory views?
3.58      scop      421: #
3.31      knu       422: $allow_dir_extra = 1;
                    423:
3.76      scop      424: # Allow extra hyperlinking in source code/formatted diff views?
3.58      scop      425: #
3.31      knu       426: $allow_source_extra = 1;
                    427:
3.76      scop      428: # Allow compression with gzip in general?  Note that this also requires
                    429: # that the browser supports it, and will be disabled on the fly when necessary.
3.58      scop      430: #
3.92      scop      431: #$allow_compress = 1;
3.1       knu       432:
3.76      scop      433: # Use JavaScript in the UI?
3.58      scop      434: #
3.1       knu       435: $use_java_script = 1;
                    436:
3.76      scop      437: # Show a form for setting options in the directory view?
3.58      scop      438: #
                    439: $edit_option_form = 1;
3.1       knu       440:
3.77      scop      441: # Show last changelog message for subdirectories?
3.1       knu       442: # The current implementation makes many assumptions and may show the
                    443: # incorrect file at some times. The main assumption is that the last
                    444: # modified file has the newest filedate. But some CVS operations
3.97    ! scop      445: # touch the file even when a new version isn't checked in, and TAG
        !           446: # based browsing essentially puts this out of order unless the last
        !           447: # checkin was on the same tag as you are viewing.
3.1       knu       448: # Enable this if you like the feature, but don't rely on correct results.
3.58      scop      449: #
3.92      scop      450: #$show_subdir_lastmod = 1;
3.1       knu       451:
3.76      scop      452: # Show CVS log when viewing file contents?
3.58      scop      453: #
3.1       knu       454: $show_log_in_markup = 1;
                    455:
3.77      scop      456: # Preformat when viewing file contents?  This should be turned off
3.13      knu       457: # when you have files in the repository that are in a multibyte
                    458: # encoding which uses HTML special characters ([<>&"]) as part of a
3.97    ! scop      459: # multibyte character. (such as iso-2022-jp, ShiftJIS, etc.)
3.13      knu       460: # Otherwise those files will get screwed up in markup.
3.58      scop      461: #
3.59      scop      462: # Note: enscript(1) highlighting is preferred over the built-in preformatting,
                    463: # ie. this has no effect if $allow_enscript is true and enscript can highlight
                    464: # the file.
                    465: #
3.92      scop      466: #$preformat_in_markup = 1;
3.13      knu       467:
3.92      scop      468: # Default tab width used to expand tabs to spaces in various HTMLized views.
                    469: # Note that CVSweb scans the first few lines of sources for some common editor
                    470: # directives controlling the tab width.  It uses the value from them if found,
                    471: # falling back to the value of $tabstop if not.  Default: 8.
3.58      scop      472: #
3.92      scop      473: #$tabstop = 4;
3.1       knu       474:
3.58      scop      475: # If you wish to display absolute times in your local timezone,
3.82      scop      476: # then define @mytz and fill in the strings for your standard and
3.1       knu       477: # daylight time. Note that you must also make sure the system
                    478: # timezone is correctly set.
3.58      scop      479: #
                    480: #@mytz=("EST", "EDT");
3.1       knu       481:
3.82      scop      482: # CVSweb is friendly to caches by sending the HTTP Last-Modified
                    483: # header corresponding to the sent content.  In the case of a
                    484: # checkout, this may require running rcslog on the file solely for the
                    485: # purpose of retrieving the timestamp to be sent.  If you have a slow
3.92      scop      486: # server, you may want to turn this off for a small performance gain.
3.58      scop      487: #
3.1       knu       488: $use_moddate = 1;
                    489:
3.45      scop      490: # Maximum number of filenames to pass to rlog(1) in one command.
                    491: # If you see "Failed to spawn GNU rlog" errors with directories containing
                    492: # lots of files, experiment by setting this to different values and see if
                    493: # the error still occurs.  A good value to start from would be eg. 200.
                    494: # Just comment this out if you're not bitten by the problem.
3.57      scop      495: #
3.45      scop      496: #$file_list_len = 200;
                    497:
3.79      scop      498: # Allow graphical representations of file revisions and branches with CvsGraph?
3.57      scop      499: #
                    500: $allow_cvsgraph = $CMD{cvsgraph} ? 1 : 0;
                    501:
3.42      scop      502: # Path to the CvsGraph configuration file.  Only used if $allow_cvsgraph
                    503: # is true.  Leave this empty or comment it out to make cvsgraph(1) use its
3.84      scop      504: # default configuration file.  Note that CVSweb will override some of the
                    505: # settings in the configuration file with command line options, see
                    506: # doGraph() and doGraphView() in cvsweb.cgi for details.
3.57      scop      507: #
3.42      scop      508: #$cvsgraph_config = "/etc/cvsgraph.conf";
3.13      knu       509:
3.86      scop      510: # URL to the CVSHistory script.  This should be absolute (but does not need
                    511: # to include the host and port if the script is on the same server as
                    512: # CVSweb).
                    513: #$cvshistory_url = "/cgi-bin/cvshistory.cgi";
                    514:
3.57      scop      515: # Whether to allow downloading a tarball or a zip of the current directory.
                    516: # While downloading of the entire repository is disallowed, depending on
                    517: # the directory this may take a lot of time and disk space.  For some CVS
3.69      scop      518: # versions, the user account running CVSweb needs write access to
3.57      scop      519: # CVSROOT/val-tags.  See also the tar, gzip and zip options below.
                    520: #
                    521: #$allow_tar = (($CMD{tar} && $CMD{gzip}) || $CMD{zip}) ? 1 : 0;
                    522:
3.13      knu       523: # Options to pass to tar(1).
3.57      scop      524: # For example: @tar_options = qw(--ignore-failed-read);
                    525: # GNU tar has some useful options against unexpected errors.
                    526: # Other useful options include "--owner=0" and "--group=0", see
                    527: # the tar(1) (or gtar(1)) manpage for details.
                    528: #
3.15      knu       529: @tar_options = qw();
3.26      knu       530:
3.19      knu       531: # Options to pass to gzip(1) when compressing a tarball to download.
3.57      scop      532: # For example: @gzip_options = qw(-3);
                    533: # Try lower compression level than 6 (default) if you want faster
                    534: # compression, or higher for better compression.
                    535: #
3.19      knu       536: @gzip_options = qw();
3.26      knu       537:
3.25      knu       538: # Options to pass to zip(1) when compressing a zip archive to download.
3.57      scop      539: # For example: @zip_options = qw(-3);
                    540: # Try lower compression level than 6 (default) if you want faster
                    541: # compression, or higher for better compression.
                    542: #
3.47      scop      543: @zip_options = qw(-q);
3.26      knu       544:
3.13      knu       545: # Options to pass to cvs(1).
3.63      scop      546: # For cvs versions 1.11 to 1.11.6 (broken in < 1.11, removed in 1.11.7), you
                    547: # can use the '-l' option to prevent cvs from writing to the history file.
                    548: # For other cvs versions, either suppress history logging by using the
3.69      scop      549: # LogHistory parameter in CVSROOT/config or make sure that the CVSweb user
3.63      scop      550: # can read and write to CVSROOT/history.
3.61      scop      551: # FreeBSD's and OpenBSD's cvs(1) has long since supported -R (read only access
                    552: # mode) option, which considerably speeds up checkouts over NFS.  For other
3.62      scop      553: # platforms, the -R option and the CVSREADONLYFS environment variable are
                    554: # available in cvs >= 1.12.1.  A similar effect is provided by -u on NetBSD.
3.57      scop      555: #
3.85      scop      556: @cvs_options = qw(-f);
3.47      scop      557: push @cvs_options, '-R' if ($^O eq 'freebsd' || $^O eq 'openbsd');
                    558: push @cvs_options, '-u' if ($^O eq 'netbsd');
3.62      scop      559: # Only affects cvs >= 1.12.1, but doesn't hurt older ones.
                    560: $ENV{CVSREADONLYFS} = 1 unless exists($ENV{CVSREADONLYFS});
3.26      knu       561:
3.39      scop      562: # Options to pass to the 'cvs annotate' command, usually the normal
                    563: # @cvs_options are good enough here.
3.57      scop      564: # To make annotate work against a read only repository, add -n, ie.:
                    565: # @annotate_options = (@cvs_options, '-n');
                    566: #
3.39      scop      567: @annotate_options = @cvs_options;
                    568:
3.54      scop      569: # Options to pass to rcsdiff(1).
                    570: # Probably the only useful one here is -q (suppress diagnostic output).
3.57      scop      571: #
3.54      scop      572: @rcsdiff_options = qw(-q);
3.48      scop      573:
                    574: # Enables syntax highlighting using GNU Enscript if set.
3.64      scop      575: # You will need GNU Enscript version 1.6.3 or newer for this to work.
3.57      scop      576: #
3.48      scop      577: #$allow_enscript = $CMD{enscript} ? 1 : 0;
                    578:
                    579: # Options to pass to enscript(1).
3.54      scop      580: # Do not set the -q, --language, -o or --highlight options here.
3.48      scop      581: # Most useful styles are probably emacs, emacs_verbose and msvc.
3.57      scop      582: #
3.48      scop      583: @enscript_options = qw(--style=emacs --color=1);
                    584:
                    585: # Enscript highlight rule to filename regex mappings.  The set of useful
                    586: # mappings depends on what highlight rules the system has installed.
3.57      scop      587: #
3.48      scop      588: %enscript_types =
                    589:   (
                    590:    'ada'          => qr/\.ad(s|b|a)$/o,
                    591:    'asm'          => qr/\.[Ss]$/o,
                    592:    'awk'          => qr/\.awk$/o,
                    593:    'bash'         => qr/\.(bash(_profile|rc)|inputrc)$/o,
                    594:    'c'            => qr/\.(c|h)$/o,
                    595:    'changelog'    => qr/^changelog$/io,
                    596:    'cpp'          => qr/\.(c\+\+|C|H|cpp|cc|cxx)$/o,
                    597:    'csh'          => qr/\.(csh(rc)?|log(in|out)|history)$/o,
                    598:    'elisp'        => qr/\.e(l|macs)$/o,
                    599:    'fortran'      => qr/\.[fF]$/o,
                    600:    'haskell'      => qr/\.(l?h|l?g)s$/o,
                    601:    'html'         => qr/\.x?html?$/o,
                    602:    'idl'          => qr/\.idl$/o,
                    603:    'inf'          => qr/\.inf$/io,
                    604:    'java'         => qr/\.java$/o,
3.83      scop      605:    'javascript'   => qr/\.(js|pac)$/o,
3.48      scop      606:    'ksh'          => qr/\.ksh$/o,
                    607:    'm4'           => qr/\.m4$/o,
3.83      scop      608:    'makefile'     => qr/(GNU)?[Mm]akefile(?!\.PL\b)|\.(ma?ke?|am)$/o,
3.48      scop      609:    'matlab'       => qr/\.m$/o,
                    610:    'nroff'        => qr/\.man$/o,
                    611:    'pascal'       => qr/\.p(as|p)?$/io,
3.83      scop      612:    'perl'         => qr/\.p(m|(er)?l)$/io,
3.48      scop      613:    'postscript'   => qr/\.e?ps$/io,
                    614:    'python'       => qr/\.py$/o,
                    615:    'rfc'          => qr/\b((rfc|draft)\..*\.txt)$/o,
                    616:    'scheme'       => qr/\.(scm|scheme)$/o,
                    617:    'sh'           => qr/\.sh$/o,
                    618:    'skill'        => qr/\.il$/o,
                    619:    'sql'          => qr/\.sql$/o,
                    620:    'states'       => qr/\.st$/o,
                    621:    'synopsys'     => qr/\.s(cr|yn(th)?)$/o,
                    622:    'tcl'          => qr/\.tcl$/o,
                    623:    'tcsh'         => qr/\.tcshrc$/o,
                    624:    'tex'          => qr/\.tex$/o,
                    625:    'vba'          => qr/\.vba$/o,
                    626:    'verilog'      => qr/\.(v|vh)$/o,
                    627:    'vhdl'         => qr/\.vhdl?$/o,
                    628:    'vrml'         => qr/\.wrl$/o,
                    629:    'wmlscript'    => qr/\.wmls(cript)?$/o,
                    630:    'zsh'          => qr/\.(zsh(env|rc)|z(profile|log(in|out)))$/o,
                    631:   );
3.39      scop      632:
3.89      scop      633: # Troubleshooting: in case of problems, setting this to 1 will cause more
                    634: # error output into your web server error log.  Under normal operation,
                    635: # this should be set to 0 or commented out.
                    636: #
                    637: #$DEBUG = 1;
                    638:
3.94      scop      639: # Enable this to let CVSweb load extra configuration files from the "conf.d"
                    640: # subdirectory of the directory this file is located in.  This enables site
                    641: # specific configuration without having to modify this "master" configuration
                    642: # file (except for enabling this functionality below :)
                    643: #
                    644: if (0) {
                    645:   my $confdir = catdir(dirname(__FILE__), 'conf.d');
                    646:   if (opendir(CONFD, $confdir)) {
                    647:     my @files = sort(map(catfile($confdir, $_), readdir(CONFD)));
                    648:     close(CONFD);
                    649:     for my $conffile (grep(-f && -r _, @files)) {
                    650:       ($conffile) = ($conffile =~ /(.+\.conf)$/) or next;
                    651:       do "$conffile" or config_error($conffile, $@);
                    652:     }
                    653:   }
                    654: }
                    655:
3.12      knu       656: 1;
3.26      knu       657:
3.57      scop      658: # EOF

CVSweb