# -*- perl -*- # $Id: cvsweb.conf,v 4.22 2019/11/29 16:30:06 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-2002 A. MUSHA # 2002-2005 V. Skyttä # based on work by Bill Fenner # # Unless otherwise noted, all boolean parameters here default to off # when no value for them has been explicitly set. # # 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', '/cvs'], ); # 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 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", # ignorecase: Ignore case in sorts (filenames, authors, log messages) # 0 Honor case # 1 Ignore case "ignorecase" => "0", # 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 "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", # 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", # ln: Show line numbers in HTMLized views # 1 Show line numbers # 0 Don't show line numbers "ln" => "0", ); # # Layout options (see also the included CSS file) # # Wanna have a logo on the page ? # #$logo = '

Powered by Apache

'; # 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. This will be put inside a <address> tag. # $address = '<span style="font-size: smaller">CVSweb</span>'; # Icons for the web UI. my $iconsdir = '/icons'; # 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 = 1; # 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. # @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_descriptions = 0; # # Human readable diff. # # (c) 1998 H. Zeller <zeller@think.de> # # 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 # (c) 1997/98 Peter Toft <pto@sslug.imm.dtu.dk> # Make lines breakable so that the columns do not exceed the width of the # browser? # $hr_breakable = 1; # Print function names in diffs (unified and context only). # See the -p option in the diff(1) man page. # $showfunc = 1; # Ignore whitespace in human readable diffs? ('-w' option to diff) # $hr_ignwhite = 0; # Ignore diffs which are caused by keyword substitution, $Id and friends? # ('-kk' option to rcsdiff) # $hr_ignkeysubst = 1; # The width of the textinput of the "request diff" form. # $inputTextSize = 12; # 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', # }, #], ); # # Mime types # # 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", ); # 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' # : $where =~ m,/ja[/_-], ? 'x-euc-jp' # : $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? See also @annotate_options below. # $allow_annotate = 1; # Allow HTMLized versions of files? # $allow_markup = 1; # Allow CVSweb to create mailto: links from email addresses in various # HTMLized views? Default: yes. # #$allow_mailtos = 0; ## Extra hyperlinking means hyperlinks to manual page ## gateways, see $mancgi above. # Allow extra hyperlinking (such as PR cross-references) in logs? # Default: yes. # #$allow_log_extra = 0; # Allow extra hyperlinking in directory views? # $allow_dir_extra = 1; # Allow extra hyperlinking in source code/formatted diff views? # $allow_source_extra = 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 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 # 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 = 1; # 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 # multibyte character. (such as iso-2022-jp, ShiftJIS, etc.) # Otherwise those files will get screwed up in markup. # #$preformat_in_markup = 1; # 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; # 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; # Maximum number of filenames to pass to rlog(1) in one command. # If you see "Failed to spawn 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; # Whether to allow downloading a tarball 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 options below. # $allow_tar = 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(); # Options to pass to cvs(1). # 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 is 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'); # 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); # 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; 1; # EOF