version 3.27, 2001/08/01 09:48:39 |
version 4.5, 2019/11/11 13:15:09 |
|
|
# -*-perl-*- |
# -*- perl -*- |
# Configuration of cvsweb.cgi, the |
# $Id$ |
# CGI interface to CVS Repositories. |
# $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 <zeller@think.de> |
# (c) 1998-1999 H. Zeller <zeller@think.de> |
# 1999 H. Nordstrom <hno@hem.passagen.se> |
# 1999 H. Nordstrom <hno@hem.passagen.se> |
# 2000-2001 A. MUSHA <knu@FreeBSD.org> |
# 2000-2002 A. MUSHA <knu@FreeBSD.org> |
|
# 2002-2005 V. Skyttä <scop@FreeBSD.org> |
# based on work by Bill Fenner <fenner@FreeBSD.org> |
# based on work by Bill Fenner <fenner@FreeBSD.org> |
# $Id$ |
|
# $Idaemons: /home/cvs/cvsweb/cvsweb.conf,v 3.26 2001/08/01 09:32:22 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: |
# Set the path for the following commands: |
# uname, cvs, rlog, rcsdiff |
# cvs, rlog, rcsdiff |
# gzip (if you enable $allow_compress) |
# gzip (if you enable $allow_compress) |
# tar, rm, zip (if you enable $allow_tar) |
# (g)tar, zip (if you enable $allow_tar) |
$command_path = '/bin:/usr/bin:/usr/local/bin'; |
# 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 |
# Search the above directories for each command (prefer gtar over tar). |
for (qw(uname cvs rlog rcsdiff gzip tar rm zip)) { |
# |
|
for (qw(cvs rlog rcsdiff gzip gtar zip cvsgraph enscript)) { |
$CMD{$_} = search_path($_); |
$CMD{$_} = search_path($_); |
} |
} |
|
$CMD{tar} = delete($CMD{gtar}) if $CMD{gtar}; |
|
$CMD{tar} ||= search_path('tar'); |
|
|
# The name of the operating system implementation |
# CVS roots |
chomp($uname = `$CMD{uname}`); |
# |
|
# CVSweb can handle several CVS repositories at once. Enter short (internal) |
############## |
# symbolic repository names, their names in the UI and the actual locations |
# CVS Root |
# here. The repositories will be listed in the order they're specified here. |
############## |
# |
# CVSweb can handle several CVS-Repositories |
# Obviously, CVSweb will need read access to these repository dirs. If you |
# at once. Enter a short symbolic names and the |
# receive an error that no valid CVS roots were found, double-check the file |
# full path of these repositories here. |
# permissions and any other attributes your system may have for the repository |
# NOTE that the symbolic names may not contain |
# directories, such as SELinux file contexts. |
# whitespaces. |
# |
# Note, that cvsweb.cgi currently needs to have physical access |
# CVSweb will also load per-cvsroot configuration files if they exist. |
# to the CVS repository so :pserver:someone@xyz.com:/data/cvsroot |
# The symbolic_name (see below) of the CVS root will be concatenated into the |
# won't work! |
# 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 |
# 'symbolic_name' => ['name_to_display', 'path_to_the_actual_repository'] |
# cvsweb.conf-* in the CVSweb distribution. |
# Listed in the order specified: |
# |
|
# 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 = ( |
@CVSrepositories = ( |
'local' => ['Local Repository', '/home/cvs'], |
'local' => ['Local Repository', '/cvs'], |
# 'freebsd' => ['FreeBSD', '/home/ncvs'], |
|
# 'openbsd' => ['OpenBSD', '/home/ncvs'], |
|
# 'netbsd' => ['NetBSD', '/home/ncvs'], |
|
# 'ruby' => ['Ruby', '/var/anoncvs/ruby'], |
|
); |
); |
|
|
# This tree is enabled by default when |
# The default CVS root. Note that @CVSrepositories is list, not a hash, |
# you enter the page |
# so you'll want to use 2 * 0-based-index-number here; or set this directly |
$cvstreedefault = $CVSrepositories[2 * 0]; # The first one |
# 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'; |
|
|
############## |
# Mirror sites. The keys will be used as link texts, and the values are |
# Bug tracking system options |
# URLs pointing to the corresponding mirrors. |
# ("PR" means Problem Report, as in GNATS) |
# |
############## |
#%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( |
#@prcategories = qw( |
# advocacy |
# advocacy |
# alpha |
# alpha |
Line 69 $cvstreedefault = $CVSrepositories[2 * 0]; # The fi |
|
Line 94 $cvstreedefault = $CVSrepositories[2 * 0]; # The fi |
|
# ports |
# ports |
# sparc |
# sparc |
#); |
#); |
|
|
# |
|
#$prcgi = "http://www.FreeBSD.org/cgi/query-pr.cgi?pr=%s"; |
#$prcgi = "http://www.FreeBSD.org/cgi/query-pr.cgi?pr=%s"; |
# |
|
#$prkeyword = "PR"; |
#$prkeyword = "PR"; |
|
|
############## |
# Manual gateway linking. This will be done only for views for which |
# Manual gateway |
# $allow_*_extra below is true. |
############## |
# |
$mancgi = |
$mancgi = |
"http://www.FreeBSD.org/cgi/man.cgi?apropos=0&sektion=%s&query=%s&manpath=FreeBSD+5.0-current&format=html"; |
"http://www.FreeBSD.org/cgi/man.cgi?apropos=0&sektion=%s&query=%s&manpath=FreeBSD+7.0-current&format=html"; |
|
|
############## |
# Defaults for user definable options. |
# Defaults for UserSettings |
# |
############## |
|
%DEFAULTVALUE = ( |
%DEFAULTVALUE = ( |
|
|
# sortby: File sort order |
# sortby: File sort order |
# file Sort by filename |
# file Sort by filename |
# rev Sort by revision number |
# rev Sort by revision number |
# date Sort by commit date |
# date Sort by commit date |
# author Sort by author |
# author Sort by author |
# log Sort by log message |
# log Sort by log message |
|
"sortby" => "file", |
|
|
"sortby" => "file", |
# ignorecase: Ignore case in sorts (filenames, authors, log messages) |
|
# 0 Honor case |
|
# 1 Ignore case |
|
"ignorecase" => "0", |
|
|
# hideattic: Hide or show files in Attic |
# hideattic: Hide or show files in Attic |
# 1 Hide files in Attic |
# 1 Hide files in Attic |
# 0 Show files in Attic |
# 0 Show files in Attic |
|
"hideattic" => "1", |
|
|
"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" => "date", |
|
|
# logsort: Sort order for CVS logs |
# f: Default diff format |
# date Sort revisions by date |
# h Human readable |
# rev Sort revision by revision number |
# u Unified diff |
# cvs Don't sort them. Same order as CVS/RCS shows them. |
# 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", |
|
|
"logsort" => "date", |
# 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", |
|
|
# f: Default diff format |
# hidenonreadable: Don't show files and directories that cannot be read |
# h Human readable |
# in directory listings. |
# u Unified diff |
# 1 Hide non-readable entries |
# c Context diff |
# 0 Show non-readable entries |
# s Side by side |
"hidenonreadable" => "1", |
"f" => "u", |
|
|
|
# hidecvsroot: Don't show the CVSROOT directory |
# ln: Show line numbers in HTMLized views |
# 1 Hide CVSROOT directory |
# 1 Show line numbers |
# 0 Show CVSROOT directory |
# 0 Don't show line numbers |
"hidecvsroot" => "0", |
"ln" => "0", |
|
|
# hidenonreadable: Don't show entries which cannot be read |
|
# 1 Hide non-readable entries |
|
# 0 Show non-readable entries |
|
"hidenonreadable" => "1", |
|
); |
); |
|
|
############## |
# |
# some layout stuff |
# Layout options (see also the included CSS file) |
############## |
# |
|
|
# The body-tag for directory views and logs |
|
$body_tag = '<body text="#000000" bgcolor="#ffffff">'; |
|
|
|
# The body-tag for diffs and annotations |
|
$body_tag_for_src = '<body text="#000000" bgcolor="#eeeeee">'; |
|
|
|
# Wanna have a logo on the page ? |
# Wanna have a logo on the page ? |
$logo = '<img src="/icons/apache_pb.gif">'; |
# |
|
#$logo = '<p><img src="/icons/apache_pb.gif" alt="Powered by Apache" /></p>'; |
|
|
# The title of the Page on startup |
# The title of the Page on startup. This will be put inside <h1> and <title> |
|
# tags, and HTML escaped. |
|
# |
$defaulttitle = "CVS Repository"; |
$defaulttitle = "CVS Repository"; |
|
|
# The address is shown on the footer |
# The address is shown on the footer. This will be put inside a <address> tag. |
$address = "<font size=-1>CVSweb by <knu\@FreeBSD.org></font>"; |
# |
|
$address = '<span style="font-size: smaller">CVSweb</span>'; |
|
|
# color of navigation Header for |
|
# diffs and annotations |
|
$navigationHeaderColor = '#9999ee'; |
|
|
|
$long_intro = <<EOT; |
$long_intro = <<EOT; |
<p> |
<p> |
This is a WWW interface for CVS Repositories. |
This is a WWW interface for CVS repositories. |
You can browse the file hierarchy by picking directories |
You can browse the file hierarchy by following directory links (which |
(which have slashes after them, <i>e.g.</i>, <b>src/</b>). |
have slashes after them, e.g. <code>src/</code>). |
If you pick a file, you will see the revision history |
If you follow a link to a file, you will see its revision history. |
for that file. |
Following a link labeled with a revision number will display that |
Selecting a revision number will download that revision of |
revision of the file. In the revision history view, there is a link |
the file. There is a link at each revision to display |
near each revision to display diffs between that revision and the |
diffs between that revision and the previous one, and |
previous one, and a form at the bottom of the page that allows you to |
a form at the bottom of the page that allows you to |
|
display diffs between arbitrary revisions. |
display diffs between arbitrary revisions. |
</p> |
</p><p> |
<p> |
This script has been written by Bill Fenner and improved by Henner Zeller, |
This script has been written by Bill Fenner <<a |
Henrik Nordström, and Ken Coar, then Akinori MUSHA brought it |
href="mailto:fenner\@FreeBSD.org">fenner\@FreeBSD.org</a>> and |
|
improved by Henner Zeller <<a |
|
href="mailto:zeller\@think.de">zeller\@think.de</a>>, Henrik |
|
Nordström <<a |
|
href="mailto:hno\@hem.passagen.se">hno\@hem.passagen.se</a>>, and |
|
Ken Coar <<a |
|
href="mailto:Ken.Coar\@Golux.Com">Ken.Coar\@Golux.Com</a>>, then |
|
Akinori MUSHA <<a |
|
href="mailto:knu\@FreeBSD.org">knu\@FreeBSD.org</a>> brought it |
|
back to FreeBSD community and made further improvements; it is covered |
back to FreeBSD community and made further improvements; it is covered |
by the <a |
by <a |
href="http://www.opensource.org/licenses/bsd-license.html">BSD-Licence</a>. |
href="http://www.opensource.org/licenses/bsd-license.html">The BSD License</a>. |
</p> |
</p><p> |
<p> |
|
If you would like to use this CGI script on your own web server and |
If you would like to use this CGI script on your own web server and |
CVS tree, download the latest version <a |
CVS tree, download the latest version from |
href="http://www.idaemons.org/~knu/cvsweb/">here</a>, and also check |
<<a href="http://cvsweb.bsd.lv/">http://cvsweb.bsd.lv/</a>>. |
out Zeller's <a |
|
href="http://linux.fh-heilbronn.de/~zeller/cgi/cvsweb.cgi" >CVSweb |
|
distribution site</a>. Bill's original script can be found <a |
|
href="http://www.FreeBSD.org/~fenner/cvsweb/">here</a>. |
|
</p> |
</p> |
<p> |
|
Please send any suggestions, comments, etc. to |
|
<a href="mailto:fenner\@FreeBSD.org">Bill Fenner</a> or, regarding the |
|
modifications, to |
|
<a href="mailto:knu\@FreeBSD.org">Akinori MUSHA</a>, |
|
<a href="mailto:zeller\@think.de">Henner Zeller</a>, |
|
<a href="mailto:hno\@hem.passagen.se">Henrik Nordström</a>, or |
|
<a href="mailto:Ken.Coar\@Golux.Com">Ken Coar</a>. |
|
</p> |
|
EOT |
EOT |
|
|
$short_instruction = <<EOT; |
$short_instruction = <<EOT; |
<p> |
<p> |
Click on a directory to enter that directory. Click on a file to display |
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. |
</p> |
</p> |
EOT |
EOT |
|
|
# used icons; if icon-url is empty, the text representation is used; if |
# Icons for the web UI. If ICON-URL is empty, the TEXT representation is |
# you do not want to have an ugly tooltip for the icon, remove the |
# used. If you do not want to have a tool tip for an icon, set TEXT empty. |
# text-representation. |
# The width and height of the icon allow the browser to correctly display |
# The width and height of the icon allow the browser to correcly display |
# the table while still loading the icons. If these icons are too large, |
# the table while still loading the icons. |
# check out the "mini" versions in the icons/ directory; they have a |
# These default icons are coming with apache. |
# width/height of 16/16. |
# 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'; |
my $iconsdir = "/icons"; |
|
|
|
# format: TEXT ICON-URL width height |
# format: TEXT ICON-URL width height |
%ICONS = ( |
%ICONS = ( |
back => [("[BACK]", "$iconsdir/back.gif", 20, 22)], |
back => [('[BACK]', "$iconsdir/back.gif", 20, 22)], |
dir => [("[DIR]", "$iconsdir/dir.gif", 20, 22)], |
dir => [('[DIR]', "$iconsdir/dir.gif", 20, 22)], |
file => [("[TXT]", "$iconsdir/text.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; |
undef $iconsdir; |
|
|
# the length to which the last logentry should |
# An URL where to find the CSS. |
# be truncated when shown in the directory view |
# |
|
$cssurl = '/css/cvsweb.css'; |
|
|
|
# The length to which the last log entry should be truncated when shown |
|
# in the directory view. |
|
# |
$shortLogLen = 80; |
$shortLogLen = 80; |
|
|
# Show author of last change |
# Show author of last change? |
|
# |
$show_author = 1; |
$show_author = 1; |
|
|
############## |
# Cell padding for directory table. |
# 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'); |
|
$tablepadding = 2; |
$tablepadding = 2; |
|
|
# Color of Header |
# Regular expressions for files and directories which should be hidden. |
$columnHeaderColorDefault = '#ffffcc'; |
# Each regexp is compared against a path relative to a CVS root, after |
$columnHeaderColorSorted = '#ffcc66'; |
# stripping the trailing ",v" if present. Matching files and directories |
|
# are not displayed. |
# |
|
# If you want to have colored borders |
|
# around each row, uncomment this |
|
$tableBorderColor = '#cccccc'; |
|
|
|
# |
# |
# Modules in the repository that should not be displayed, either by default |
|
# nor by explicit path specification. |
|
# |
|
@HideModules = ( |
|
# "^my/secret/module", |
|
); |
|
|
|
# |
|
# Files matching these pathnames shouldn't be checked out with cvsweb, |
|
# since they may contain sensitive information. Simple file name based |
|
# filter. Often, the CVSROOT/passwd is exposed and some people tend |
|
# to check in their .cvspass, though this is a bad idea. These files |
|
# shouldn't be readable by default. Thanks to Damian Gryski to point |
|
# this out. |
|
@ForbiddenFiles = ( |
@ForbiddenFiles = ( |
"^CVSROOT/passwd\$", # CVSROOT/passwd should not be cvs add'ed, though |
qr|^CVSROOT/+passwd$|o, # CVSROOT/passwd should not be 'cvs add'ed though. |
"/\\.cvspass\$", # Ditto. Just in case. |
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; |
$use_descriptions = 0; |
|
|
############## |
# |
# Human Readable Diff |
# Human readable diff. |
############## |
# |
|
|
# (c) 1998 H. Zeller <zeller@think.de> |
# (c) 1998 H. Zeller <zeller@think.de> |
# |
# |
# Generates two columns of color encoded |
# Generates two columns of color encoded diff; much like xdiff or GNU Emacs' |
# diff; much like xdiff or emacs-ediff mode. |
# ediff-mode. |
# |
# |
# The diff-stuff is a piece of code I once made for |
# The diff-stuff is a piece of code I once made for cvs2html which is under |
# cvs2html which is under GPL, |
# GPL, see http://www.sslug.dk/cvs2html |
# see http://www.sslug.dk/cvs2html |
|
# (c) 1997/98 Peter Toft <pto@sslug.imm.dtu.dk> |
# (c) 1997/98 Peter Toft <pto@sslug.imm.dtu.dk> |
# |
|
# some parameters to screw: |
|
## |
|
|
|
# make lines breakable so that the columns do not |
# Make lines breakable so that the columns do not exceed the width of the |
# exceed the width of the browser |
# browser? |
|
# |
$hr_breakable = 1; |
$hr_breakable = 1; |
|
|
# give out function names in diffs |
# Print function names in diffs (unified and context only). |
# this just makes sense if we have C-files, otherwise |
# See the -p option in the diff(1) man page. |
# diff's heuristic doesn't work well .. |
# |
# ( '-p' option to diff) |
|
$showfunc = 1; |
$showfunc = 1; |
|
|
# For each pair of regexps, files that match the first regexp will be diff'ed |
# Ignore whitespace in human readable diffs? ('-w' option to diff) |
# 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) |
|
$hr_ignwhite = 0; |
$hr_ignwhite = 0; |
|
|
# ignore diffs which are caused by |
# Ignore diffs which are caused by keyword substitution, $Id and friends? |
# keyword-substitution like $Id - Stuff |
# ('-kk' option to rcsdiff) |
# ( '-kk' option to rcsdiff) |
# |
$hr_ignkeysubst = 1; |
$hr_ignkeysubst = 1; |
|
|
# Colors and font to show the diff type of code changes |
# The width of the textinput of the "request diff" form. |
$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 |
|
$inputTextSize = 12; |
$inputTextSize = 12; |
|
|
############## |
# Custom per MIME type diff tools, used for comparing binary files such as |
# Mime Types |
# 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 |
# Mime types |
# checkout; you can use the mime.types from |
# |
# apache here: |
|
$mime_types = '/usr/local/etc/apache/mime.types'; |
|
|
|
# quick mime-type lookup; maps file-suffices to |
# The MIME type lookup works like this: |
# mime-types for displaying checkouts in the browser. |
# 1) Look up from %MTYPES below with the file name extension (suffix). |
# Further MimeTypes will be found in the |
# 2) If not found, use the MIME::Types(3) module if it's available. |
# file $mime_types (apache style mime.types - file) |
# 3) If not found, lookup from the $mime_types file (see below). |
# - add common mappings here for faster lookup |
# 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 = ( |
%MTYPES = ( |
"html" => "text/html", |
"html" => "text/html", |
"shtml" => "text/html", |
"shtml" => "text/html", |
Line 361 $mime_types = '/usr/local/etc/apache/mime.types'; |
|
Line 341 $mime_types = '/usr/local/etc/apache/mime.types'; |
|
"jpg" => "image/jpeg", |
"jpg" => "image/jpeg", |
"png" => "image/png", |
"png" => "image/png", |
"xpm" => "image/xpm", |
"xpm" => "image/xpm", |
"*" => "text/plain", |
# "*" => "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 = ''; |
$charset = ''; |
|
|
# e.g. |
# e.g. |
|
|
# : $where =~ m,/ko[/_-], ? 'x-euc-kr' |
# : $where =~ m,/ko[/_-], ? 'x-euc-kr' |
# : 'iso-8859-1'; |
# : 'iso-8859-1'; |
|
|
|
# Output filter |
|
# |
|
$output_filter = ''; |
|
|
|
# e.g. |
|
## unify/convert Japanese code into EUC-JP |
|
#$output_filter= '/usr/local/bin/nkf -e'; |
|
|
############## |
############## |
# Misc |
# Misc |
############## |
############## |
# allow annotation of files |
|
# this requires rw-access to the |
# Allow annotation of files? See also @annotate_options below. |
# 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_annotate = 1; |
$allow_annotate = 1; |
|
|
# allow pretty-printed version of files |
# Allow HTMLized versions of files? |
|
# |
$allow_markup = 1; |
$allow_markup = 1; |
|
|
# allow compression with gzip |
# Allow CVSweb to create mailto: links from email addresses in various |
# of output if the Browser accepts |
# HTMLized views? Default: yes. |
# it (HTTP_ACCEPT_ENCODING=gzip) |
# |
# [make sure to have gzip in the path] |
#$allow_mailtos = 0; |
$allow_compress = 0; |
|
|
|
# Make use of javascript functions. |
## Extra hyperlinking means hyperlinks to bug tracking systems and manual page |
# This way you can select one of your CVSroot |
## gateways, see $prcgi and $mancgi and related options above. |
# without pressing 'Go' (.. if you do have more |
|
# than one CVSROOT defined) |
|
$use_java_script = 1; |
|
|
|
# open Download-Links in another window |
# Allow extra hyperlinking (such as PR cross-references) in logs? |
$open_extern_window = 1; |
# Default: yes. |
|
# |
|
#$allow_log_extra = 0; |
|
|
# The size of this extern window; this size option |
# Allow extra hyperlinking in directory views? |
# needs use_java_script to be defined |
# |
# just comment them if you don't want to have a fixed |
$allow_dir_extra = 1; |
# size |
|
#$extern_window_width = 600; |
|
#$extern_window_height = 440; |
|
|
|
# Edit Options |
# Allow extra hyperlinking in source code/formatted diff views? |
# Enable form to edit your options (hideattic,sortbydate) |
# |
# this isn't necessary if you've $dirtable defined 'cause |
$allow_source_extra = 1; |
# this allows editing of all your options more intuitive |
|
$edit_option_form = (not $dirtable); |
|
|
|
# If you have files which automatically refers to other files |
# Allow compression with gzip in general? Note that this also requires |
# (such as HTML) then this allows you to browse the checked |
# that the browser supports it, and will be disabled on the fly when necessary. |
# out files as if outside CVS. |
# |
$checkout_magic = 1; |
#$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 |
# The current implementation makes many assumptions and may show the |
# incorrect file at some times. The main assumption is that the last |
# incorrect file at some times. The main assumption is that the last |
# modified file has the newest filedate. But some CVS operations |
# modified file has the newest filedate. But some CVS operations |
# touches the file without even when a new version is't checked in, |
# touch the file even when a new version isn't checked in, and TAG |
# and TAG based browsing essientially puts this out of order, unless |
# based browsing essentially puts this out of order unless the last |
# the last checkin was on the same tag as you are viewing. |
# checkin was on the same tag as you are viewing. |
# Enable this if you like the feature, but don't rely on correct results. |
# 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 |
# Show CVS log when viewing file contents? |
$markupLogColor = "#ffffff"; |
# |
|
|
# Show CVS log when viewing file contents |
|
$show_log_in_markup = 1; |
$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 |
# when you have files in the repository that are in a multibyte |
# encoding which uses HTML special characters ([<>&"]) as part of a |
# 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. |
# 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 |
# Default tab width used to expand tabs to spaces in various HTMLized views. |
# tabs are always expanded to 8 spaces. |
# Note that CVSweb scans the first few lines of sources for some common editor |
$tabstop = 8; |
# 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, |
# If you wish to display absolute times in your local timezone, |
# then define mytz and fill in the strings for your standard and |
# then define @mytz and fill in the strings for your standard and |
# daylight time. Note that you must also make sure the system |
# daylight time. Note that you must also make sure the system |
# timezone is correctly set. |
# timezone is correctly set. |
# @mytz=("EST", "EDT"); |
# |
|
#@mytz=("EST", "EDT"); |
|
|
# cvsweb is friendly to caches by indicating a suitable |
# CVSweb is friendly to caches by sending the HTTP Last-Modified |
# last-modified timestamp. Doing this uses slightly more |
# header corresponding to the sent content. In the case of a |
# CPU so you might want to disable it if you have a slow |
# checkout, this may require running rcslog on the file solely for the |
# server |
# 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; |
$use_moddate = 1; |
|
|
# Allows downloading a tarball of the current directory if set. |
# Maximum number of filenames to pass to rlog(1) in one command. |
# Bear in mind that this allows downloading a tarball of your entire |
# If you see "Failed to spawn GNU rlog" errors with directories containing |
# repository, which can take a lot of time and disk space to create! |
# lots of files, experiment by setting this to different values and see if |
# If you enable this, you may need to make sure that cvsweb can write to |
# the error still occurs. A good value to start from would be eg. 200. |
# CVSROOT/val-tags, due to a bug in cvs. |
# Just comment this out if you're not bitten by the problem. |
$allow_tar = ''; |
# |
|
#$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). |
# 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(); |
@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. |
# 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(); |
@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. |
# Options to pass to zip(1) when compressing a zip archive to download. |
@zip_options = qw(); |
# 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); |
|
|
# e.g. @zip_options = qw(-3); |
|
# Try lower compression level than 6 (default) if you want faster |
|
# compression, or higher, for better compression. |
|
|
|
# Options to pass to cvs(1). |
# 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'); |
# 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; |
|
|
# Only FreeBSD's and OpenBSD's cvs(1) supports -R (read only access |
# Options to pass to rcsdiff(1). |
# mode) option, which considerably speeds up checkouts over NFS. |
# 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; |
1; |
|
|
#EOF |
# EOF |