2001-01-02 08:15 knu * cvsweb.cgi, cvsweb.conf, cvsweb.conf-freebsd, cvsweb.conf-netbsd, cvsweb.conf-openbsd, cvsweb.conf-ruby: Add $prkeyword variable to allow user to use (e.g.) `Bug' instead of `PR' as the bug report identifier. Add cvsweb.conf-{freebsd,openbsd,netbsd,ruby} files, and move rather FreeBSD specific configuration values to cvsweb.conf-freebsd. Add a %funcline_regexp entry for Ruby. (*.rb) 2001-01-02 06:24 knu * cvsweb.conf: Add `pending' to the list of PR categories. 2001-01-02 05:57 knu * cvsweb.cgi: Reduce 'Use of uninitialized value' warnings. Noticed by: Wolfram Schneider <wosch@schneider.org> 2000-12-30 08:56 knu * cvsweb.cgi: Oops, I forgot "cvs export" always need a -r/-D. Specify -rHEAD when no tag/branch is defaulted. 2000-12-30 08:35 knu * cvsweb.cgi, cvsweb.conf: Add $preformat_in_markup variable and turn it off by default. This option 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.) Otherwise those files will get screwed up in markup. Fix for those systems which tar(1)'s are not GNU tar(1). - Add @@tar_options variable and make the --ignore-failed-read flag optional. - Use cvs export instead of cvs checkout, so the --exclude 'CVS' flag isn't needed. Noticed by: Christian Weisgerber <naddy@mips.inka.de> Fix for those systems which cvs(1)'s don't support -R option. (Actually, only FreeBSD's and OpenBSD's cvs(1) support it) - Add @@cvs_options and make the -R flag optional. 2000-12-29 22:29 knu * cvsweb.cgi: Add charset to all text/* output, including diffs. Submitted by: Alexey Zelkin <phantom@cris.net> 2000-12-29 18:12 knu * cvsweb.cgi: The use of `do "file"' is obsolete. Use require instead. 2000-12-29 17:47 knu * cvsweb.cgi: Add the prototype declaration for hrefquote().
471 lines
14 KiB
Perl
471 lines
14 KiB
Perl
# -*-perl-*-
|
|
# Configuration of cvsweb.cgi, the
|
|
# CGI interface to CVS Repositories.
|
|
#
|
|
# (c) 1998-1999 H. Zeller <zeller@think.de>
|
|
# 1999 H. Nordstrom <hno@hem.passagen.se>
|
|
# 2000 A. MUSHA <knu@FreeBSD.org>
|
|
# based on work by Bill Fenner <fenner@FreeBSD.org>
|
|
# $zId: cvsweb.conf,v 1.27 2000/07/27 10:16:39 kcoar Exp $
|
|
# $Id: cvsweb.conf,v 1.11 2001-01-02 00:03:51 knu Exp $
|
|
# $FreeBSD: www/en/cgi/cvsweb.conf,v 1.10 2000/12/28 18:42:21 knu Exp $
|
|
#
|
|
###
|
|
|
|
##############
|
|
# 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' => 'path_to_the_actual_repository'
|
|
%CVSROOT = (
|
|
'freebsd' => '/home/ncvs',
|
|
'learn' => '/c/learncvs',
|
|
'openbsd' => '/usr/local/www/cvsroot/OpenBSD',
|
|
'netbsd' => '/usr/local/www/cvsroot/NetBSD',
|
|
'44bsdlite' => '/e/4.4BSD-Lite/4.4BSD-Lite-CVS',
|
|
);
|
|
|
|
# 'symbolic_name' => 'name_to_display'
|
|
%CVSROOTdescr = (
|
|
'freebsd' => 'FreeBSD',
|
|
'learn' => 'Learn',
|
|
'openbsd' => 'OpenBSD',
|
|
'netbsd' => 'NetBSD',
|
|
'44bsdlite' => '4.4BSD-Lite',
|
|
);
|
|
|
|
# This tree is enabled by default when
|
|
# you enter the page
|
|
$cvstreedefault = 'freebsd';
|
|
|
|
##############
|
|
# Mirror Sites
|
|
##############
|
|
%MIRRORS = (
|
|
'Germany' => 'http://www.de.FreeBSD.org/cgi/cvsweb.cgi',
|
|
'Portugal' => 'http://cvsup.pt.freebsd.org/cgi-bin/cvsweb/cvsweb.cgi',
|
|
'Russia' => 'http://www.FreeBSD.org.ua/cgi/cvsweb.cgi?cvsroot=freebsd',
|
|
'Spain' => 'http://www.es.FreeBSD.org/cgi/cvsweb.cgi',
|
|
'USA, California' => 'http://www.FreeBSD.org/cgi/cvsweb.cgi',
|
|
'Japan' => 'http://www.jp.FreeBSD.org/cgi/cvsweb.cgi',
|
|
);
|
|
|
|
##############
|
|
# 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
|
|
# );
|
|
#
|
|
#$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";
|
|
|
|
##############
|
|
# Defaults for UserSettings
|
|
##############
|
|
%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",
|
|
|
|
# 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" => "date",
|
|
|
|
# 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
|
|
# 1 Hide CVSROOT directory
|
|
# 0 Show CVSROOT directory
|
|
"hidecvsroot" => "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
|
|
##############
|
|
|
|
# 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 ?
|
|
$logo = '';
|
|
|
|
# The title of the Page on startup
|
|
$defaulttitle = "CVS Repository";
|
|
|
|
# The address is shown on the footer
|
|
$address = "<font size=-1>CVSweb by <knu\@FreeBSD.org></font>";
|
|
|
|
# color of navigation Header for
|
|
# diffs and annotations
|
|
$navigationHeaderColor = '#9999ee';
|
|
|
|
$long_intro = <<EOT;
|
|
<p>
|
|
This is a WWW interface to the !!CVSROOTdescr!! CVS tree.
|
|
You can browse the file hierarchy by picking directories
|
|
(which have slashes after them, <i>e.g.</i>, <b>src/</b>).
|
|
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
|
|
display diffs between arbitrary revisions.
|
|
</p>
|
|
<p>
|
|
This script has been written by Bill Fenner
|
|
<<a 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 added more facilities;
|
|
it is covered by the
|
|
<a href="http://www.opensource.org/licenses/bsd-license.html">BSD-Licence</a>.
|
|
</p>
|
|
<p>
|
|
If you would like to use this CGI script on your own web server and
|
|
CVS tree, see 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>
|
|
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
|
|
|
|
$short_instruction = <<EOT;
|
|
<p>
|
|
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.
|
|
</p>
|
|
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) ],
|
|
);
|
|
undef $iconsdir;
|
|
|
|
# the length to which the last logentry should
|
|
# be truncated when shown in the directory view
|
|
$shortLogLen = 80;
|
|
|
|
# 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');
|
|
$tablepadding = 2;
|
|
|
|
# Color of Header
|
|
$columnHeaderColorDefault = '#ffffcc';
|
|
$columnHeaderColorSorted = '#ffcc66';
|
|
|
|
#
|
|
# 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 = (
|
|
);
|
|
|
|
#
|
|
# Use CVSROOT/CVSROOT/descriptions for describing the directories/modules
|
|
# See INSTALL section 8
|
|
#
|
|
$use_descriptions = 0;
|
|
|
|
##############
|
|
# Human Readable Diff
|
|
##############
|
|
|
|
# (c) 1998 H. Zeller <zeller@think.de>
|
|
#
|
|
# Generates two columns of color encoded
|
|
# diff; much like xdiff or 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
|
|
# (c) 1997/98 Peter Toft <pto@sslug.imm.dtu.dk>
|
|
#
|
|
# some parameters to screw:
|
|
##
|
|
|
|
# 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)
|
|
$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)
|
|
$hr_ignwhite = 0;
|
|
|
|
# ignore diffs which are caused by
|
|
# keyword-substitution like $Id - Stuff
|
|
# ( '-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
|
|
$inputTextSize = 12;
|
|
|
|
##############
|
|
# Mime Types
|
|
##############
|
|
|
|
# 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';
|
|
|
|
# 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
|
|
%MTYPES = (
|
|
"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
|
|
$charset = '';
|
|
# e.g.
|
|
#$charset = $where =~ m,/ru[/_-], ? 'koi8-r'
|
|
# : $where =~ m,/zh[/_-], ? 'big5'
|
|
# : $where =~ m,/ja[/_-], ? 'x-euc-jp'
|
|
# : $where =~ m,/ko[/_-], ? 'x-euc-kr'
|
|
# : 'iso-8859-1';
|
|
|
|
##############
|
|
# 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_annotate = 1;
|
|
|
|
# allow pretty-printed version 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 = 1;
|
|
|
|
# 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;
|
|
|
|
# open Download-Links in another window
|
|
$open_extern_window = 1;
|
|
|
|
# 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;
|
|
|
|
# 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);
|
|
|
|
# remember to set the path to your
|
|
# rcsutils: rlog, rcsdiff (gzip if you use compression)
|
|
#$ENV{'PATH'} = '/usr/local/bin';
|
|
|
|
# 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;
|
|
|
|
# Show last changelog message for sub directories
|
|
# 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.
|
|
# Enable this if you like the feature, but don't rely on correct results.
|
|
$show_subdir_lastmod = 0;
|
|
|
|
# Background color of logentry in markup
|
|
$markupLogColor = "#ffffff";
|
|
|
|
# Show CVS log when viewing file contents
|
|
$show_log_in_markup = 1;
|
|
|
|
# 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.)
|
|
# Otherwise those files will get screwed up in markup.
|
|
$preformat_in_markup = '';
|
|
|
|
# Tabstop used to expand tabs in colored diffs. If undefined then
|
|
# tabs are always expanded to 8 spaces.
|
|
$tabstop = 8;
|
|
|
|
# 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");
|
|
|
|
# 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
|
|
$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 = '';
|
|
|
|
# Options to pass to tar(1).
|
|
@tar_options = qw(--ignore-failed-read);
|
|
# e.g. @tar_options = qw(--ignore-failed-read);
|
|
# GNU tar has some useful options against unexpected errors.
|
|
|
|
# Options to pass to cvs(1).
|
|
@cvs_options = qw(-R -l);
|
|
# e.g. @cvs_options = qw(-R -l);
|
|
# -R (read only access mode) is implemented only in FreeBSD's and
|
|
# OpenBSD's cvs(1).
|
|
|
|
1;
|
|
#EOF
|