===================================================================
RCS file: /cvs/cvsweb/Attic/cvsweb.conf,v
retrieving revision 3.24
retrieving revision 4.5
diff -u -p -r3.24 -r4.5
--- cvsweb/Attic/cvsweb.conf 2001/04/24 15:24:01 3.24
+++ cvsweb/Attic/cvsweb.conf 2019/11/11 13:15:09 4.5
@@ -1,354 +1,361 @@
-# -*-perl-*-
-# Configuration of cvsweb.cgi, the
-# CGI interface to CVS Repositories.
+# -*- perl -*-
+# $Id: cvsweb.conf,v 4.5 2019/11/11 13:15:09 schwarze Exp $
+# $doc: cvsweb.conf,v 1.38 2006/01/19 19:53:38 ceri
+# $knu: cvsweb.conf,v 1.97 2005/06/19 09:13:50 scop
#
+# Configuration of cvsweb.cgi, a web interface to CVS repositories.
+#
# (c) 1998-1999 H. Zeller
# 1999 H. Nordstrom
-# 2000-2001 A. MUSHA
+# 2000-2002 A. MUSHA
+# 2002-2005 V. Skyttä
# based on work by Bill Fenner
-# $Id: cvsweb.conf,v 3.24 2001/04/24 15:24:01 knu Exp $
-# $Idaemons: /home/cvs/cvsweb/cvsweb.conf,v 3.23 2001/01/14 09:04:04 knu Exp $
+
#
-###
+# Unless otherwise noted, all boolean parameters here default to off
+# when no value for them has been explicitly set.
+#
# Set the path for the following commands:
-# uname, cvs, rlog, rcsdiff
+# cvs, rlog, rcsdiff
# gzip (if you enable $allow_compress)
-# tar,rm (if you enable $allow_tar)
-$command_path = '/bin:/usr/bin:/usr/local/bin';
+# (g)tar, zip (if you enable $allow_tar)
+# cvsgraph (if you enable $allow_graph)
+# enscript (if you enable $allow_enscript)
+#
+@command_path = qw(/bin /usr/bin /usr/local/bin);
-# Search the above directories for each command
-for (qw(uname cvs rlog rcsdiff gzip tar rm)) {
- $CMD{$_} = search_path($_);
+# Search the above directories for each command (prefer gtar over tar).
+#
+for (qw(cvs rlog rcsdiff gzip gtar zip cvsgraph enscript)) {
+ $CMD{$_} = search_path($_);
}
+$CMD{tar} = delete($CMD{gtar}) if $CMD{gtar};
+$CMD{tar} ||= search_path('tar');
-# The name of the operating system implementation
-chomp($uname = `$CMD{uname}`);
-
-##############
-# CVS Root
-##############
-# CVSweb can handle several CVS-Repositories
-# at once. Enter a short symbolic names and the
-# full path of these repositories here.
-# NOTE that the symbolic names may not contain
-# whitespaces.
-# Note, that cvsweb.cgi currently needs to have physical access
-# to the CVS repository so :pserver:someone@xyz.com:/data/cvsroot
-# won't work!
-
-# 'symbolic_name' => ['name_to_display', 'path_to_the_actual_repository']
-# Listed in the order specified:
+# CVS roots
+#
+# CVSweb can handle several CVS repositories at once. Enter short (internal)
+# symbolic repository names, their names in the UI and the actual locations
+# here. The repositories will be listed in the order they're specified here.
+#
+# Obviously, CVSweb will need read access to these repository dirs. If you
+# receive an error that no valid CVS roots were found, double-check the file
+# permissions and any other attributes your system may have for the repository
+# directories, such as SELinux file contexts.
+#
+# CVSweb will also load per-cvsroot configuration files if they exist.
+# The symbolic_name (see below) of the CVS root will be concatenated into the
+# name of the main (this) configuration file along with a hyphen, and that
+# file will be loaded for that particular CVS root. For examples, see
+# cvsweb.conf-* in the CVSweb distribution.
+#
+# Note that only local repositories are currently supported. Things like
+# :pserver:someone@xyz.com:/data/cvsroot won't work.
+#
+# 'symbolic_name' => ['Name to display', '/path/to/cvsroot']
+#
@CVSrepositories = (
- 'local' => ['Local Repository', '/home/cvs'],
-# 'freebsd' => ['FreeBSD', '/home/ncvs'],
-# 'openbsd' => ['OpenBSD', '/home/ncvs'],
-# 'netbsd' => ['NetBSD', '/home/ncvs'],
-# 'ruby' => ['Ruby', '/var/anoncvs/ruby'],
- );
+ 'local' => ['Local Repository', '/cvs'],
+);
-# This tree is enabled by default when
-# you enter the page
-$cvstreedefault = $CVSrepositories[2 * 0]; # The first one
+# The default CVS root. Note that @CVSrepositories is list, not a hash,
+# so you'll want to use 2 * 0-based-index-number here; or set this directly
+# to the default's symbolic name. Unless specified, the first valid one in
+# @CVSrepositories is used as the default.
+#
+# For example:
+#
+#$cvstreedefault = $CVSrepositories[2 * 0];
+#$cvstreedefault = 'local';
-##############
-# Bug tracking system options
-# ("PR" means Problem Report, as in GNATS)
-##############
-#@prcategories = qw(
-# advocacy
-# alpha
-# bin
-# conf
-# docs
-# gnu
-# i386
-# kern
-# misc
-# pending
-# ports
-# sparc
-# );
+# Mirror sites. The keys will be used as link texts, and the values are
+# URLs pointing to the corresponding mirrors.
#
-#$prcgi = "http://www.FreeBSD.org/cgi/query-pr.cgi?pr=%s";
+#%MIRRORS = (
+# 'Other location' => 'http://192.168.0.1/cgi-bin/cvsweb.cgi/',
+# 'Yet another one' => 'http://192.168.0.2/cgi-bin/cvsweb.cgi/',
+#);
+
+# Bug tracking system linking options ("PR" means Problem Report, as in GNATS)
+# This will be done only for views for which $allow_*_extra below is true.
#
+#@prcategories = qw(
+# advocacy
+# alpha
+# bin
+# conf
+# docs
+# gnu
+# i386
+# kern
+# misc
+# pending
+# ports
+# sparc
+#);
+#$prcgi = "http://www.FreeBSD.org/cgi/query-pr.cgi?pr=%s";
#$prkeyword = "PR";
-##############
-# Manual gateway
-##############
-$mancgi = "http://www.FreeBSD.org/cgi/man.cgi?apropos=0&sektion=%s&query=%s&manpath=FreeBSD+5.0-current&format=html";
+# Manual gateway linking. This will be done only for views for which
+# $allow_*_extra below is true.
+#
+$mancgi =
+ "http://www.FreeBSD.org/cgi/man.cgi?apropos=0&sektion=%s&query=%s&manpath=FreeBSD+7.0-current&format=html";
-##############
-# Defaults for UserSettings
-##############
+# Defaults for user definable options.
+#
%DEFAULTVALUE = (
- # sortby: File sort order
- # file Sort by filename
- # rev Sort by revision number
- # date Sort by commit date
- # author Sort by author
- # log Sort by log message
- "sortby" => "file",
+ # sortby: File sort order
+ # file Sort by filename
+ # rev Sort by revision number
+ # date Sort by commit date
+ # author Sort by author
+ # log Sort by log message
+ "sortby" => "file",
- # hideattic: Hide or show files in Attic
- # 1 Hide files in Attic
- # 0 Show files in Attic
+ # ignorecase: Ignore case in sorts (filenames, authors, log messages)
+ # 0 Honor case
+ # 1 Ignore case
+ "ignorecase" => "0",
- "hideattic" => "1",
+ # hideattic: Hide or show files in Attic
+ # 1 Hide files in Attic
+ # 0 Show files in Attic
+ "hideattic" => "1",
- # logsort: Sort order for CVS logs
- # date Sort revisions by date
- # rev Sort revision by revision number
- # cvs Don't sort them. Same order as CVS/RCS shows them.
+ # logsort: Sort order for CVS logs
+ # date Sort revisions by date
+ # rev Sort revision by revision number
+ # cvs Don't sort them. Same order as CVS/RCS shows them.
+ "logsort" => "date",
- "logsort" => "date",
+ # f: Default diff format
+ # h Human readable
+ # u Unified diff
+ # c Context diff
+ # uc Unified diff, enscript colored (falls back to "u" w/o enscript)
+ # cc Context diff, enscript colored (falls back to "c" w/o enscript)
+ "f" => "u",
- # f: Default diff format
- # h Human readable
- # u Unified diff
- # c Context diff
- # s Side by side
- "f" => "u",
+ # hidecvsroot: Don't show the CVSROOT directory. Note that this is
+ # just the default for a user settable option (like others in this
+ # %DEFAULTVALUE hash); it won't really prevent access to CVSROOT.
+ # See @ForbiddenFiles for that.
+ # 1 Do not include the top-level CVSROOT directory in dir listings
+ # 0 Treat the top-level CVSROOT directory just like all other dirs
+ "hidecvsroot" => "0",
- # hidecvsroot: Don't show the CVSROOT directory
- # 1 Hide CVSROOT directory
- # 0 Show CVSROOT directory
- "hidecvsroot" => "0",
+ # hidenonreadable: Don't show files and directories that cannot be read
+ # in directory listings.
+ # 1 Hide non-readable entries
+ # 0 Show non-readable entries
+ "hidenonreadable" => "1",
- # hidenonreadable: Don't show entries which cannot be read
- # 1 Hide non-readable entries
- # 0 Show non-readable entries
- "hidenonreadable" => "1",
+ # ln: Show line numbers in HTMLized views
+ # 1 Show line numbers
+ # 0 Don't show line numbers
+ "ln" => "0",
);
-##############
-# some layout stuff
-##############
+#
+# Layout options (see also the included CSS file)
+#
-# The body-tag for directory views and logs
-$body_tag = '';
-
-# The body-tag for diffs and annotations
-$body_tag_for_src = '';
-
# Wanna have a logo on the page ?
-$logo = '';
+#
+#$logo = '';
-# The title of the Page on startup
+# The title of the Page on startup. This will be put inside and
+# tags, and HTML escaped.
+#
$defaulttitle = "CVS Repository";
-# The address is shown on the footer
-$address = "CVSweb by <knu\@FreeBSD.org>";
+# The address is shown on the footer. This will be put inside a tag.
+#
+$address = 'CVSweb';
-# color of navigation Header for
-# diffs and annotations
-$navigationHeaderColor = '#9999ee';
-
$long_intro = <
-This is a WWW interface for CVS Repositories.
-You can browse the file hierarchy by picking directories
-(which have slashes after them, e.g., src/).
-If you pick a file, you will see the revision history
-for that file.
-Selecting a revision number will download that revision of
-the file. There is a link at each revision to display
-diffs between that revision and the previous one, and
-a form at the bottom of the page that allows you to
+This is a WWW interface for CVS repositories.
+You can browse the file hierarchy by following directory links (which
+have slashes after them, e.g. src/
).
+If you follow a link to a file, you will see its revision history.
+Following a link labeled with a revision number will display that
+revision of the file. In the revision history view, there is a link
+near each revision to display diffs between that revision and the
+previous one, and a form at the bottom of the page that allows you to
display diffs between arbitrary revisions.
-
-
-This script has been written by Bill Fenner <fenner\@FreeBSD.org> and
-improved by Henner Zeller <zeller\@think.de>, Henrik
-Nordström <hno\@hem.passagen.se>, and
-Ken Coar <Ken.Coar\@Golux.Com>, then
-Akinori MUSHA <knu\@FreeBSD.org> brought it
+
+This script has been written by Bill Fenner and improved by Henner Zeller,
+Henrik Nordström, and Ken Coar, then Akinori MUSHA brought it
back to FreeBSD community and made further improvements; it is covered
-by the BSD-Licence.
-
-
+by The BSD License.
+
If you would like to use this CGI script on your own web server and
-CVS tree, download the latest version here, and also check
-out Zeller's CVSweb
-distribution site. Bill's original script can be found here.
+CVS tree, download the latest version from
+<http://cvsweb.bsd.lv/>.
-
-Please send any suggestions, comments, etc. to
-Bill Fenner or, regarding the
-modifications, to
-Akinori MUSHA,
-Henner Zeller,
-Henrik Nordström, or
-Ken Coar.
-
EOT
$short_instruction = <
Click on a directory to enter that directory. Click on a file to display
-its revision history and to get a chance to display diffs between revisions.
+its revision history and to get a chance to display diffs between revisions.
EOT
-# used icons; if icon-url is empty, the text representation is used; if
-# you do not want to have an ugly tooltip for the icon, remove the
-# text-representation.
-# The width and height of the icon allow the browser to correcly display
-# the table while still loading the icons.
-# These default icons are coming with apache.
-# If these icons are too large, check out the miniicons in the
-# icons/ directory; they have a width/height of 16/16
-my $iconsdir = "/icons";
-# format: TEXT ICON-URL width height
-%ICONS = (
- back => [ ("[BACK]", "$iconsdir/back.gif", 20, 22) ],
- dir => [ ("[DIR]", "$iconsdir/dir.gif", 20, 22) ],
- file => [ ("[TXT]", "$iconsdir/text.gif", 20, 22) ],
- );
+# Icons for the web UI. If ICON-URL is empty, the TEXT representation is
+# used. If you do not want to have a tool tip for an icon, set TEXT empty.
+# The width and height of the icon allow the browser to correctly display
+# the table while still loading the icons. If these icons are too large,
+# check out the "mini" versions in the icons/ directory; they have a
+# width/height of 16/16.
+#
+my $iconsdir = '/icons';
+
+# format: TEXT ICON-URL width height
+%ICONS = (
+ back => [('[BACK]', "$iconsdir/back.gif", 20, 22)],
+ dir => [('[DIR]', "$iconsdir/dir.gif", 20, 22)],
+ file => [('[TXT]', "$iconsdir/text.gif", 20, 22)],
+ binfile => [('[BIN]', "$iconsdir/binary.gif", 20, 22)],
+ graph => [('[GRAPH]', "$iconsdir/minigraph.png", 16, 16)],
+);
undef $iconsdir;
-# the length to which the last logentry should
-# be truncated when shown in the directory view
+# An URL where to find the CSS.
+#
+$cssurl = '/css/cvsweb.css';
+
+# The length to which the last log entry should be truncated when shown
+# in the directory view.
+#
$shortLogLen = 80;
-# Show author of last change
+# Show author of last change?
+#
$show_author = 1;
-##############
-# table view for directories
-##############
-
-# Show directory as table
-# this is much more readable but has one
-# drawback: the whole table has to be loaded
-# before common browsers display it which may
-# be annoying if you have a slow link - and a
-# large directory ..
-$dirtable = 1;
-
-# show different colors for even/odd rows
-@tabcolors = ('#ffffff', '#ffffff');
+# Cell padding for directory table.
+#
$tablepadding = 2;
-# Color of Header
-$columnHeaderColorDefault = '#ffffcc';
-$columnHeaderColorSorted = '#ffcc66';
-
-#
-# If you want to have colored borders
-# around each row, uncomment this
-$tableBorderColor = '#cccccc';
-
+# Regular expressions for files and directories which should be hidden.
+# Each regexp is compared against a path relative to a CVS root, after
+# stripping the trailing ",v" if present. Matching files and directories
+# are not displayed.
#
-# Modules in the repository that should not be displayed, either by default
-# nor by explicit path specification.
-#
-@HideModules = (
- );
+@ForbiddenFiles = (
+ qr|^CVSROOT/+passwd$|o, # CVSROOT/passwd should not be 'cvs add'ed though.
+ qr|/\.cvspass$|o, # Ditto. Just in case.
+ #qr|^my/+secret/+dir|o,
+);
+# Use CVSROOT/descriptions for describing the directories/modules?
+# See INSTALL, section 9.
#
-# Use CVSROOT/CVSROOT/descriptions for describing the directories/modules
-# See INSTALL section 8
-#
$use_descriptions = 0;
-##############
-# Human Readable Diff
-##############
-
+#
+# Human readable diff.
+#
# (c) 1998 H. Zeller
#
-# Generates two columns of color encoded
-# diff; much like xdiff or emacs-ediff mode.
+# Generates two columns of color encoded diff; much like xdiff or GNU Emacs'
+# ediff-mode.
#
-# The diff-stuff is a piece of code I once made for
-# cvs2html which is under GPL,
-# see http://www.sslug.dk/cvs2html
+# The diff-stuff is a piece of code I once made for cvs2html which is under
+# GPL, see http://www.sslug.dk/cvs2html
# (c) 1997/98 Peter Toft
-#
-# some parameters to screw:
-##
-# make lines breakable so that the columns do not
-# exceed the width of the browser
+# Make lines breakable so that the columns do not exceed the width of the
+# browser?
+#
$hr_breakable = 1;
-# give out function names in diffs
-# this just makes sense if we have C-files, otherwise
-# diff's heuristic doesn't work well ..
-# ( '-p' option to diff)
+# Print function names in diffs (unified and context only).
+# See the -p option in the diff(1) man page.
+#
$showfunc = 1;
-# For each pair of regexps, files that match the first regexp will be diff'ed
-# with an '-F' option with the second regexp.
-%funcline_regexp = (
- "\\.(4th|fr)\$" => "\\(^\\|[ \t]\\): ",
- "\\.rb\$" => "^[\t ]*\\(class\\|module\\|def\\) ",
- );
-
-# ignore whitespaces for human readable diffs
-# (indendation and stuff ..)
-# ( '-w' option to diff)
+# Ignore whitespace in human readable diffs? ('-w' option to diff)
+#
$hr_ignwhite = 0;
-# ignore diffs which are caused by
-# keyword-substitution like $Id - Stuff
-# ( '-kk' option to rcsdiff)
+# Ignore diffs which are caused by keyword substitution, $Id and friends?
+# ('-kk' option to rcsdiff)
+#
$hr_ignkeysubst = 1;
-# Colors and font to show the diff type of code changes
-$diffcolorHeading = '#99cccc'; # color of 'Line'-head of each diffed file
-$diffcolorEmpty = '#cccccc'; # color of 'empty' lines
-$diffcolorRemove = '#ff9999'; # Removed line(s) (left) ( - )
-$diffcolorChange = '#99ff99'; # Changed line(s) ( both )
-$diffcolorAdd = '#ccccff'; # Added line(s) ( - ) (right)
-$diffcolorDarkChange = '#99cc99'; # lines, which are empty in change
-$difffontface = "Helvetica,Arial";
-$difffontsize = "-1";
-
-# the width of the textinput of the
-# request-diff-form
+# The width of the textinput of the "request diff" form.
+#
$inputTextSize = 12;
-##############
-# Mime Types
-##############
+# Custom per MIME type diff tools, used for comparing binary files such as
+# spreadsheets, images etc. Each key is a MIME type in lowercase.
+# Each value is an array ref of available diff tools for that type, each of
+# which is a hash ref with values (mandatory where default not listed):
+# name: the name to show in the UI for this diff type
+# cmd: full path to executable
+# args: arguments as an array ref (not string!, defaults to no arguments)
+# type: output MIME type (defaults to text/plain)
+#
+%DIFF_COMMANDS = (
+ #'text/xml' => [
+ # { name => 'XMLdiff',
+ # cmd => $CMD{xmldiff},
+ # },
+ # { name => 'XMLdiff (XUpdate)',
+ # cmd => $CMD{xmldiff},
+ # args => [ qw(-x) ],
+ # type => 'text/xml',
+ # },
+ #],
+);
-# mapping to mimetypes to help
-# cvsweb to guess the correct mime-type on
-# checkout; you can use the mime.types from
-# apache here:
-$mime_types = '/usr/local/etc/apache/mime.types';
+#
+# Mime types
+#
-# quick mime-type lookup; maps file-suffices to
-# mime-types for displaying checkouts in the browser.
-# Further MimeTypes will be found in the
-# file $mime_types (apache style mime.types - file)
-# - add common mappings here for faster lookup
+# The MIME type lookup works like this:
+# 1) Look up from %MTYPES below with the file name extension (suffix).
+# 2) If not found, use the MIME::Types(3) module if it's available.
+# 3) If not found, lookup from the $mime_types file (see below).
+# 4) If not found, try %MTYPES{'*'}.
+# 5) If not found, use 'application/octet-stream' if the file's keyword
+# substitution mode is b (ie. the file was checked in as binary to CVS),
+# 'text/plain' otherwise.
+
+# Quick MIME type lookup; maps filename extensions to MIME types.
+# Add common mappings here for fast lookup. You can also use this
+# to override MIME::Types(3) or the $mime_types file (see below).
+#
%MTYPES = (
- "html" => "text/html",
- "shtml" => "text/html",
- "gif" => "image/gif",
- "jpeg" => "image/jpeg",
- "jpg" => "image/jpeg",
- "png" => "image/png",
- "xpm" => "image/xpm",
- "*" => "text/plain",
- );
+ "html" => "text/html",
+ "shtml" => "text/html",
+ "gif" => "image/gif",
+ "jpeg" => "image/jpeg",
+ "jpg" => "image/jpeg",
+ "png" => "image/png",
+ "xpm" => "image/xpm",
+# "*" => "text/plain",
+);
-# Charset for HTML output
+# The traditional mime.types file, eg. the one from Apache is fine.
+# See above where this gets used.
+#
+$mime_types = '/conf/mime.types';
+
+# Charset appended to the Content-Type HTTP header for text/* MIME types.
+# Note that the web server may default to some charset which may take effect
+# if you leave this parameter empty or unset.
+# For Apache, see also the AddDefaultCharset directive.
+#
$charset = '';
+
# e.g.
#$charset = $where =~ m,/ru[/_-], ? 'koi8-r'
# : $where =~ m,/zh[/_-], ? 'big5'
@@ -356,115 +363,275 @@ $charset = '';
# : $where =~ m,/ko[/_-], ? 'x-euc-kr'
# : 'iso-8859-1';
+# Output filter
+#
+$output_filter = '';
+
+# e.g.
+## unify/convert Japanese code into EUC-JP
+#$output_filter= '/usr/local/bin/nkf -e';
+
##############
# Misc
##############
-# allow annotation of files
-# this requires rw-access to the
-# CVSROOT/history file (if you have one)
-# and rw-access to the subdirectory to
-# place the lock so you maybe don't want it
+
+# Allow annotation of files? See also @annotate_options below.
+#
$allow_annotate = 1;
-# allow pretty-printed version of files
+# Allow HTMLized versions of files?
+#
$allow_markup = 1;
-# allow compression with gzip
-# of output if the Browser accepts
-# it (HTTP_ACCEPT_ENCODING=gzip)
-# [make sure to have gzip in the path]
-$allow_compress = 0;
+# Allow CVSweb to create mailto: links from email addresses in various
+# HTMLized views? Default: yes.
+#
+#$allow_mailtos = 0;
-# Make use of javascript functions.
-# This way you can select one of your CVSroot
-# without pressing 'Go' (.. if you do have more
-# than one CVSROOT defined)
-$use_java_script = 1;
+## Extra hyperlinking means hyperlinks to bug tracking systems and manual page
+## gateways, see $prcgi and $mancgi and related options above.
-# open Download-Links in another window
-$open_extern_window = 1;
+# Allow extra hyperlinking (such as PR cross-references) in logs?
+# Default: yes.
+#
+#$allow_log_extra = 0;
-# The size of this extern window; this size option
-# needs use_java_script to be defined
-# just comment them if you don't want to have a fixed
-# size
-#$extern_window_width = 600;
-#$extern_window_height = 440;
+# Allow extra hyperlinking in directory views?
+#
+$allow_dir_extra = 1;
-# Edit Options
-# Enable form to edit your options (hideattic,sortbydate)
-# this isn't necessary if you've $dirtable defined 'cause
-# this allows editing of all your options more intuitive
-$edit_option_form = (not $dirtable);
+# Allow extra hyperlinking in source code/formatted diff views?
+#
+$allow_source_extra = 1;
-# If you have files which automatically refers to other files
-# (such as HTML) then this allows you to browse the checked
-# out files as if outside CVS.
-$checkout_magic = 1;
+# Allow compression with gzip in general? Note that this also requires
+# that the browser supports it, and will be disabled on the fly when necessary.
+#
+#$allow_compress = 1;
-# Show last changelog message for sub directories
+# Use JavaScript in the UI?
+#
+$use_java_script = 1;
+
+# Show a form for setting options in the directory view?
+#
+$edit_option_form = 1;
+
+# Show last changelog message for subdirectories?
# The current implementation makes many assumptions and may show the
# incorrect file at some times. The main assumption is that the last
# modified file has the newest filedate. But some CVS operations
-# touches the file without even when a new version is't checked in,
-# and TAG based browsing essientially puts this out of order, unless
-# the last checkin was on the same tag as you are viewing.
+# touch the file even when a new version isn't checked in, and TAG
+# based browsing essentially puts this out of order unless the last
+# checkin was on the same tag as you are viewing.
# Enable this if you like the feature, but don't rely on correct results.
-$show_subdir_lastmod = 0;
+#
+#$show_subdir_lastmod = 1;
-# Background color of logentry in markup
-$markupLogColor = "#ffffff";
-
-# Show CVS log when viewing file contents
+# Show CVS log when viewing file contents?
+#
$show_log_in_markup = 1;
-# Preformat when viewing file contents. This should be turned off
+# Preformat when viewing file contents? This should be turned off
# when you have files in the repository that are in a multibyte
# encoding which uses HTML special characters ([<>&"]) as part of a
-# multi-byte character. (such as iso-2022-jp, ShiftJIS, etc.)
+# multibyte character. (such as iso-2022-jp, ShiftJIS, etc.)
# Otherwise those files will get screwed up in markup.
-$preformat_in_markup = '';
+#
+# Note: enscript(1) highlighting is preferred over the built-in preformatting,
+# ie. this has no effect if $allow_enscript is true and enscript can highlight
+# the file.
+#
+#$preformat_in_markup = 1;
-# Tabstop used to expand tabs in colored diffs. If undefined then
-# tabs are always expanded to 8 spaces.
-$tabstop = 8;
+# Default tab width used to expand tabs to spaces in various HTMLized views.
+# Note that CVSweb scans the first few lines of sources for some common editor
+# directives controlling the tab width. It uses the value from them if found,
+# falling back to the value of $tabstop if not. Default: 8.
+#
+#$tabstop = 4;
-# if you wish to display absolute times in your local timezone,
-# then define mytz and fill in the strings for your standard and
+# If you wish to display absolute times in your local timezone,
+# then define @mytz and fill in the strings for your standard and
# daylight time. Note that you must also make sure the system
# timezone is correctly set.
-# @mytz=("EST", "EDT");
+#
+#@mytz=("EST", "EDT");
-# cvsweb is friendly to caches by indicating a suitable
-# last-modified timestamp. Doing this uses slightly more
-# CPU so you might want to disable it if you have a slow
-# server
+# CVSweb is friendly to caches by sending the HTTP Last-Modified
+# header corresponding to the sent content. In the case of a
+# checkout, this may require running rcslog on the file solely for the
+# purpose of retrieving the timestamp to be sent. If you have a slow
+# server, you may want to turn this off for a small performance gain.
+#
$use_moddate = 1;
-# Allows downloading a tarball of the current directory if set.
-# Bear in mind that this allows downloading a tarball of your entire
-# repository, which can take a lot of time and disk space to create!
-# If you enable this, you may need to make sure that cvsweb can write to
-# CVSROOT/val-tags, due to a bug in cvs.
-$allow_tar = '';
+# Maximum number of filenames to pass to rlog(1) in one command.
+# If you see "Failed to spawn GNU rlog" errors with directories containing
+# lots of files, experiment by setting this to different values and see if
+# the error still occurs. A good value to start from would be eg. 200.
+# Just comment this out if you're not bitten by the problem.
+#
+#$file_list_len = 200;
+# Allow graphical representations of file revisions and branches with CvsGraph?
+#
+$allow_cvsgraph = $CMD{cvsgraph} ? 1 : 0;
+
+# Path to the CvsGraph configuration file. Only used if $allow_cvsgraph
+# is true. Leave this empty or comment it out to make cvsgraph(1) use its
+# default configuration file. Note that CVSweb will override some of the
+# settings in the configuration file with command line options, see
+# doGraph() and doGraphView() in cvsweb.cgi for details.
+#
+#$cvsgraph_config = "/etc/cvsgraph.conf";
+
+# URL to the CVSHistory script. This should be absolute (but does not need
+# to include the host and port if the script is on the same server as
+# CVSweb).
+#$cvshistory_url = "/cgi-bin/cvshistory.cgi";
+
+# Whether to allow downloading a tarball or a zip of the current directory.
+# While downloading of the entire repository is disallowed, depending on
+# the directory this may take a lot of time and disk space. For some CVS
+# versions, the user account running CVSweb needs write access to
+# CVSROOT/val-tags. See also the tar, gzip and zip options below.
+#
+#$allow_tar = (($CMD{tar} && $CMD{gzip}) || $CMD{zip}) ? 1 : 0;
+
# Options to pass to tar(1).
+# For example: @tar_options = qw(--ignore-failed-read);
+# GNU tar has some useful options against unexpected errors.
+# Other useful options include "--owner=0" and "--group=0", see
+# the tar(1) (or gtar(1)) manpage for details.
+#
@tar_options = qw();
-# e.g. @tar_options = qw(--ignore-failed-read);
-# GNU tar has some useful options against unexpected errors.
# Options to pass to gzip(1) when compressing a tarball to download.
+# For example: @gzip_options = qw(-3);
+# Try lower compression level than 6 (default) if you want faster
+# compression, or higher for better compression.
+#
@gzip_options = qw();
-# e.g. @gzip_options = qw(-3);
-# Try lower compression level than 6 (default) if you want faster
-# compression, or higher, for better compression.
+# Options to pass to zip(1) when compressing a zip archive to download.
+# For example: @zip_options = qw(-3);
+# Try lower compression level than 6 (default) if you want faster
+# compression, or higher for better compression.
+#
+@zip_options = qw(-q);
+
# Options to pass to cvs(1).
-@cvs_options = qw(-l);
+# For cvs versions 1.11 to 1.11.6 (broken in < 1.11, removed in 1.11.7), you
+# can use the '-l' option to prevent cvs from writing to the history file.
+# For other cvs versions, either suppress history logging by using the
+# LogHistory parameter in CVSROOT/config or make sure that the CVSweb user
+# can read and write to CVSROOT/history.
+# FreeBSD's and OpenBSD's cvs(1) has long since supported -R (read only access
+# mode) option, which considerably speeds up checkouts over NFS. For other
+# platforms, the -R option and the CVSREADONLYFS environment variable are
+# available in cvs >= 1.12.1. A similar effect is provided by -u on NetBSD.
+#
+@cvs_options = qw(-f);
+push @cvs_options, '-R' if ($^O eq 'freebsd' || $^O eq 'openbsd');
+push @cvs_options, '-u' if ($^O eq 'netbsd');
+# Only affects cvs >= 1.12.1, but doesn't hurt older ones.
+$ENV{CVSREADONLYFS} = 1 unless exists($ENV{CVSREADONLYFS});
-push @cvs_options, '-R' if ($uname eq 'FreeBSD' || $uname eq 'OpenBSD');
-# Only FreeBSD's and OpenBSD's cvs(1) supports -R (read only access
-# mode) option, which considerably speeds up checkouts over NFS.
+# Options to pass to the 'cvs annotate' command, usually the normal
+# @cvs_options are good enough here.
+# To make annotate work against a read only repository, add -n, ie.:
+# @annotate_options = (@cvs_options, '-n');
+#
+@annotate_options = @cvs_options;
+# Options to pass to rcsdiff(1).
+# Probably the only useful one here is -q (suppress diagnostic output).
+#
+@rcsdiff_options = qw(-q);
+
+# Enables syntax highlighting using GNU Enscript if set.
+# You will need GNU Enscript version 1.6.3 or newer for this to work.
+#
+#$allow_enscript = $CMD{enscript} ? 1 : 0;
+
+# Options to pass to enscript(1).
+# Do not set the -q, --language, -o or --highlight options here.
+# Most useful styles are probably emacs, emacs_verbose and msvc.
+#
+@enscript_options = qw(--style=emacs --color=1);
+
+# Enscript highlight rule to filename regex mappings. The set of useful
+# mappings depends on what highlight rules the system has installed.
+#
+%enscript_types =
+ (
+ 'ada' => qr/\.ad(s|b|a)$/o,
+ 'asm' => qr/\.[Ss]$/o,
+ 'awk' => qr/\.awk$/o,
+ 'bash' => qr/\.(bash(_profile|rc)|inputrc)$/o,
+ 'c' => qr/\.(c|h)$/o,
+ 'changelog' => qr/^changelog$/io,
+ 'cpp' => qr/\.(c\+\+|C|H|cpp|cc|cxx)$/o,
+ 'csh' => qr/\.(csh(rc)?|log(in|out)|history)$/o,
+ 'elisp' => qr/\.e(l|macs)$/o,
+ 'fortran' => qr/\.[fF]$/o,
+ 'haskell' => qr/\.(l?h|l?g)s$/o,
+ 'html' => qr/\.x?html?$/o,
+ 'idl' => qr/\.idl$/o,
+ 'inf' => qr/\.inf$/io,
+ 'java' => qr/\.java$/o,
+ 'javascript' => qr/\.(js|pac)$/o,
+ 'ksh' => qr/\.ksh$/o,
+ 'm4' => qr/\.m4$/o,
+ 'makefile' => qr/(GNU)?[Mm]akefile(?!\.PL\b)|\.(ma?ke?|am)$/o,
+ 'matlab' => qr/\.m$/o,
+ 'nroff' => qr/\.man$/o,
+ 'pascal' => qr/\.p(as|p)?$/io,
+ 'perl' => qr/\.p(m|(er)?l)$/io,
+ 'postscript' => qr/\.e?ps$/io,
+ 'python' => qr/\.py$/o,
+ 'rfc' => qr/\b((rfc|draft)\..*\.txt)$/o,
+ 'scheme' => qr/\.(scm|scheme)$/o,
+ 'sh' => qr/\.sh$/o,
+ 'skill' => qr/\.il$/o,
+ 'sql' => qr/\.sql$/o,
+ 'states' => qr/\.st$/o,
+ 'synopsys' => qr/\.s(cr|yn(th)?)$/o,
+ 'tcl' => qr/\.tcl$/o,
+ 'tcsh' => qr/\.tcshrc$/o,
+ 'tex' => qr/\.tex$/o,
+ 'vba' => qr/\.vba$/o,
+ 'verilog' => qr/\.(v|vh)$/o,
+ 'vhdl' => qr/\.vhdl?$/o,
+ 'vrml' => qr/\.wrl$/o,
+ 'wmlscript' => qr/\.wmls(cript)?$/o,
+ 'zsh' => qr/\.(zsh(env|rc)|z(profile|log(in|out)))$/o,
+ );
+
+# Troubleshooting: in case of problems, setting this to 1 will cause more
+# error output into your web server error log. Under normal operation,
+# this should be set to 0 or commented out.
+#
+#$DEBUG = 1;
+
+# Enable this to let CVSweb load extra configuration files from the "conf.d"
+# subdirectory of the directory this file is located in. This enables site
+# specific configuration without having to modify this "master" configuration
+# file (except for enabling this functionality below :)
+#
+if (0) {
+ my $confdir = catdir(dirname(__FILE__), 'conf.d');
+ if (opendir(CONFD, $confdir)) {
+ my @files = sort(map(catfile($confdir, $_), readdir(CONFD)));
+ close(CONFD);
+ for my $conffile (grep(-f && -r _, @files)) {
+ ($conffile) = ($conffile =~ /(.+\.conf)$/) or next;
+ do "$conffile" or config_error($conffile, $@);
+ }
+ }
+}
+
1;
-#EOF
+
+# EOF