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

Annotation of cvsweb/cvsweb.conf, Revision 4.26

4.2       schwarze    1: # -*- perl -*-
4.26    ! schwarze    2: # $Id: cvsweb.conf,v 4.25 2019/11/29 18:50:15 schwarze Exp $
4.2       schwarze    3: # $doc: cvsweb.conf,v 1.38 2006/01/19 19:53:38 ceri
                      4: # $knu: cvsweb.conf,v 1.97 2005/06/19 09:13:50 scop
                      5: #
3.76      scop        6: # Configuration of cvsweb.cgi, a web interface to CVS repositories.
3.1       knu         7: #
                      8: # (c) 1998-1999 H. Zeller    <zeller@think.de>
                      9: #     1999      H. Nordstrom <hno@hem.passagen.se>
3.30      knu        10: #     2000-2002 A. MUSHA     <knu@FreeBSD.org>
3.95      scop       11: #     2002-2005 V. Skyttä    <scop@FreeBSD.org>
3.1       knu        12: #          based on work by Bill Fenner  <fenner@FreeBSD.org>
                     13:
3.92      scop       14: #
                     15: # Unless otherwise noted, all boolean parameters here default to off
                     16: # when no value for them has been explicitly set.
                     17: #
3.19      knu        18:
3.53      scop       19: # CVS roots
                     20: #
                     21: # CVSweb can handle several CVS repositories at once.  Enter short (internal)
                     22: # symbolic repository names, their names in the UI and the actual locations
                     23: # here.  The repositories will be listed in the order they're specified here.
                     24: #
3.93      scop       25: # Obviously, CVSweb will need read access to these repository dirs.  If you
                     26: # receive an error that no valid CVS roots were found, double-check the file
                     27: # permissions and any other attributes your system may have for the repository
                     28: # directories, such as SELinux file contexts.
                     29: #
3.76      scop       30: # CVSweb will also load per-cvsroot configuration files if they exist.
                     31: # The symbolic_name (see below) of the CVS root will be concatenated into the
                     32: # name of the main (this) configuration file along with a hyphen, and that
                     33: # file will be loaded for that particular CVS root.  For examples, see
                     34: # cvsweb.conf-* in the CVSweb distribution.
                     35: #
3.53      scop       36: # Note that only local repositories are currently supported.  Things like
                     37: # :pserver:someone@xyz.com:/data/cvsroot won't work.
                     38: #
                     39: # 'symbolic_name' => ['Name to display',  '/path/to/cvsroot']
                     40: #
3.17      knu        41: @CVSrepositories = (
4.4       schwarze   42:         'local'   => ['Local Repository', '/cvs'],
3.26      knu        43: );
3.88      scop       44:
3.92      scop       45: # Manual gateway linking.  This will be done only for views for which
                     46: # $allow_*_extra below is true.
3.76      scop       47: #
3.26      knu        48: $mancgi =
3.98      ceri       49:     "http://www.FreeBSD.org/cgi/man.cgi?apropos=0&sektion=%s&query=%s&manpath=FreeBSD+7.0-current&format=html";
3.1       knu        50:
3.90      scop       51: # Defaults for user definable options.
3.76      scop       52: #
3.1       knu        53: %DEFAULTVALUE = (
3.26      knu        54:
3.76      scop       55:     # sortby: File sort order
                     56:     #   file   Sort by filename
                     57:     #   rev    Sort by revision number
                     58:     #   date   Sort by commit date
                     59:     #   author Sort by author
                     60:     #   log    Sort by log message
                     61:     "sortby" => "file",
                     62:
                     63:     # ignorecase: Ignore case in sorts (filenames, authors, log messages)
                     64:     #   0      Honor case
                     65:     #   1      Ignore case
                     66:     "ignorecase" => "0",
                     67:
                     68:     # hideattic: Hide or show files in Attic
                     69:     #   1      Hide files in Attic
                     70:     #   0      Show files in Attic
                     71:     "hideattic" => "1",
                     72:
                     73:     # logsort: Sort order for CVS logs
                     74:     #   date   Sort revisions by date
                     75:     #   rev    Sort revision by revision number
                     76:     #   cvs    Don't sort them. Same order as CVS/RCS shows them.
                     77:     "logsort" => "date",
                     78:
                     79:     # f: Default diff format
                     80:     #   h      Human readable
                     81:     #   u      Unified diff
                     82:     #   c      Context diff
                     83:     "f" => "u",
                     84:
3.90      scop       85:     # hidecvsroot: Don't show the CVSROOT directory.  Note that this is
                     86:     # just the default for a user settable option (like others in this
                     87:     # %DEFAULTVALUE hash); it won't really prevent access to CVSROOT.
                     88:     # See @ForbiddenFiles for that.
                     89:     #   1      Do not include the top-level CVSROOT directory in dir listings
                     90:     #   0      Treat the top-level CVSROOT directory just like all other dirs
3.76      scop       91:     "hidecvsroot" => "0",
                     92:
3.90      scop       93:     # hidenonreadable: Don't show files and directories that cannot be read
                     94:     # in directory listings.
3.76      scop       95:     #   1      Hide non-readable entries
                     96:     #   0      Show non-readable entries
                     97:     "hidenonreadable" => "1",
                     98:
                     99:     # ln: Show line numbers in HTMLized views
                    100:     #   1      Show line numbers
                    101:     #   0      Don't show line numbers
                    102:     "ln" => "0",
3.1       knu       103: );
                    104:
3.76      scop      105: #
                    106: # Layout options (see also the included CSS file)
                    107: #
3.1       knu       108:
                    109: # Wanna have a logo on the page ?
3.58      scop      110: #
3.79      scop      111: #$logo = '<p><img src="/icons/apache_pb.gif" alt="Powered by Apache" /></p>';
3.1       knu       112:
3.79      scop      113: # The title of the Page on startup.  This will be put inside <h1> and <title>
                    114: # tags, and HTML escaped.
3.58      scop      115: #
3.1       knu       116: $defaulttitle = "CVS Repository";
                    117:
3.34      scop      118: # The address is shown on the footer.  This will be put inside a <address> tag.
3.58      scop      119: #
4.5       schwarze  120: $address = '<span style="font-size: smaller">CVSweb</span>';
3.1       knu       121:
4.21      schwarze  122: # Icons for the web UI.
3.42      scop      123: my $iconsdir = '/icons';
3.1       knu       124:
3.43      scop      125: # An URL where to find the CSS.
3.58      scop      126: #
3.43      scop      127: $cssurl = '/css/cvsweb.css';
                    128:
3.76      scop      129: # The length to which the last log entry should be truncated when shown
                    130: # in the directory view.
3.58      scop      131: #
3.1       knu       132: $shortLogLen = 80;
                    133:
3.76      scop      134: # Show author of last change?
3.58      scop      135: #
3.1       knu       136: $show_author = 1;
                    137:
3.91      scop      138: # Regular expressions for files and directories which should be hidden.
3.75      scop      139: # Each regexp is compared against a path relative to a CVS root, after
                    140: # stripping the trailing ",v" if present.  Matching files and directories
                    141: # are not displayed.
3.58      scop      142: #
3.27      knu       143: @ForbiddenFiles = (
3.74      scop      144:     qr|^CVSROOT/+passwd$|o, # CVSROOT/passwd should not be 'cvs add'ed though.
                    145:     qr|/\.cvspass$|o,       # Ditto.  Just in case.
3.75      scop      146:    #qr|^my/+secret/+dir|o,
3.27      knu       147: );
3.1       knu       148:
3.77      scop      149: # Use CVSROOT/descriptions for describing the directories/modules?
3.69      scop      150: # See INSTALL, section 9.
3.1       knu       151: #
                    152: $use_descriptions = 0;
                    153:
3.76      scop      154: #
                    155: # Human readable diff.
                    156: #
3.1       knu       157: # (c) 1998 H. Zeller <zeller@think.de>
                    158: #
3.76      scop      159: # Generates two columns of color encoded diff; much like xdiff or GNU Emacs'
                    160: # ediff-mode.
3.1       knu       161: #
3.76      scop      162: # The diff-stuff is a piece of code I once made for cvs2html which is under
                    163: # GPL, see http://www.sslug.dk/cvs2html
3.1       knu       164: # (c) 1997/98 Peter Toft <pto@sslug.imm.dtu.dk>
                    165:
3.76      scop      166: # Make lines breakable so that the columns do not exceed the width of the
                    167: # browser?
3.58      scop      168: #
3.1       knu       169: $hr_breakable = 1;
                    170:
3.76      scop      171: # Ignore whitespace in human readable diffs? ('-w' option to diff)
3.58      scop      172: #
3.7       knu       173: $hr_ignwhite = 0;
3.1       knu       174:
3.76      scop      175: # Ignore diffs which are caused by keyword substitution, $Id and friends?
                    176: # ('-kk' option to rcsdiff)
3.58      scop      177: #
3.1       knu       178: $hr_ignkeysubst = 1;
                    179:
3.76      scop      180: #
                    181: # Mime types
                    182: #
3.1       knu       183:
3.52      scop      184: # The MIME type lookup works like this:
                    185: # 1) Look up from %MTYPES below with the file name extension (suffix).
                    186: # 2) If not found, use the MIME::Types(3) module if it's available.
                    187: # 3) If not found, lookup from the $mime_types file (see below).
                    188: # 4) If not found, try %MTYPES{'*'}.
                    189: # 5) If not found, use 'application/octet-stream' if the file's keyword
                    190: #    substitution mode is b (ie. the file was checked in as binary to CVS),
                    191: #    'text/plain' otherwise.
3.1       knu       192:
3.52      scop      193: # Quick MIME type lookup; maps filename extensions to MIME types.
                    194: # Add common mappings here for fast lookup.  You can also use this
                    195: # to override MIME::Types(3) or the $mime_types file (see below).
3.58      scop      196: #
3.1       knu       197: %MTYPES = (
3.26      knu       198:        "html"  => "text/html",
                    199:        "shtml" => "text/html",
                    200:        "gif"   => "image/gif",
                    201:        "jpeg"  => "image/jpeg",
                    202:        "jpg"   => "image/jpeg",
                    203:        "png"   => "image/png",
                    204:        "xpm"   => "image/xpm",
3.52      scop      205: #      "*"     => "text/plain",
3.26      knu       206: );
3.52      scop      207:
                    208: # The traditional mime.types file, eg. the one from Apache is fine.
                    209: # See above where this gets used.
3.58      scop      210: #
4.3       schwarze  211: $mime_types = '/conf/mime.types';
3.1       knu       212:
                    213: ##############
                    214: # Misc
                    215: ##############
3.58      scop      216:
3.76      scop      217: # Allow annotation of files?  See also @annotate_options below.
3.58      scop      218: #
3.1       knu       219: $allow_annotate = 1;
                    220:
3.96      scop      221: # Allow HTMLized versions of files?
3.58      scop      222: #
3.1       knu       223: $allow_markup = 1;
                    224:
3.96      scop      225: # Allow CVSweb to create mailto: links from email addresses in various
                    226: # HTMLized views?  Default: yes.
                    227: #
                    228: #$allow_mailtos = 0;
                    229:
4.8       schwarze  230: ## Extra hyperlinking means hyperlinks to manual page
                    231: ## gateways, see $mancgi above.
3.92      scop      232:
3.76      scop      233: # Allow extra hyperlinking (such as PR cross-references) in logs?
3.92      scop      234: # Default: yes.
3.58      scop      235: #
3.92      scop      236: #$allow_log_extra = 0;
3.31      knu       237:
3.92      scop      238: # Allow extra hyperlinking in directory views?
3.58      scop      239: #
3.31      knu       240: $allow_dir_extra = 1;
                    241:
3.76      scop      242: # Allow extra hyperlinking in source code/formatted diff views?
3.58      scop      243: #
3.31      knu       244: $allow_source_extra = 1;
                    245:
3.76      scop      246: # Allow compression with gzip in general?  Note that this also requires
                    247: # that the browser supports it, and will be disabled on the fly when necessary.
3.58      scop      248: #
3.92      scop      249: #$allow_compress = 1;
3.1       knu       250:
3.76      scop      251: # Show a form for setting options in the directory view?
3.58      scop      252: #
                    253: $edit_option_form = 1;
3.1       knu       254:
3.77      scop      255: # Show last changelog message for subdirectories?
3.1       knu       256: # The current implementation makes many assumptions and may show the
                    257: # incorrect file at some times. The main assumption is that the last
                    258: # modified file has the newest filedate. But some CVS operations
3.97      scop      259: # touch the file even when a new version isn't checked in, and TAG
                    260: # based browsing essentially puts this out of order unless the last
                    261: # checkin was on the same tag as you are viewing.
3.1       knu       262: # Enable this if you like the feature, but don't rely on correct results.
3.58      scop      263: #
3.92      scop      264: #$show_subdir_lastmod = 1;
3.1       knu       265:
3.76      scop      266: # Show CVS log when viewing file contents?
3.58      scop      267: #
3.1       knu       268: $show_log_in_markup = 1;
                    269:
3.77      scop      270: # Preformat when viewing file contents?  This should be turned off
3.13      knu       271: # when you have files in the repository that are in a multibyte
                    272: # encoding which uses HTML special characters ([<>&"]) as part of a
3.97      scop      273: # multibyte character. (such as iso-2022-jp, ShiftJIS, etc.)
3.13      knu       274: # Otherwise those files will get screwed up in markup.
3.58      scop      275: #
3.92      scop      276: #$preformat_in_markup = 1;
3.13      knu       277:
3.92      scop      278: # Default tab width used to expand tabs to spaces in various HTMLized views.
                    279: # Note that CVSweb scans the first few lines of sources for some common editor
                    280: # directives controlling the tab width.  It uses the value from them if found,
                    281: # falling back to the value of $tabstop if not.  Default: 8.
3.58      scop      282: #
3.92      scop      283: #$tabstop = 4;
3.1       knu       284:
3.82      scop      285: # CVSweb is friendly to caches by sending the HTTP Last-Modified
                    286: # header corresponding to the sent content.  In the case of a
                    287: # checkout, this may require running rcslog on the file solely for the
                    288: # purpose of retrieving the timestamp to be sent.  If you have a slow
3.92      scop      289: # server, you may want to turn this off for a small performance gain.
3.58      scop      290: #
3.1       knu       291: $use_moddate = 1;
                    292:
3.45      scop      293: # Maximum number of filenames to pass to rlog(1) in one command.
4.16      schwarze  294: # If you see "Failed to spawn rlog" errors with directories containing
3.45      scop      295: # lots of files, experiment by setting this to different values and see if
                    296: # the error still occurs.  A good value to start from would be eg. 200.
                    297: # Just comment this out if you're not bitten by the problem.
3.57      scop      298: #
3.45      scop      299: #$file_list_len = 200;
3.86      scop      300:
4.13      schwarze  301: # Whether to allow downloading a tarball of the current directory.
3.57      scop      302: # While downloading of the entire repository is disallowed, depending on
                    303: # the directory this may take a lot of time and disk space.  For some CVS
3.69      scop      304: # versions, the user account running CVSweb needs write access to
4.18      schwarze  305: # CVSROOT/val-tags.  See also the tar options below.
3.57      scop      306: #
4.18      schwarze  307: $allow_tar = 0;
3.57      scop      308:
3.13      knu       309: # Options to pass to tar(1).
3.57      scop      310: # For example: @tar_options = qw(--ignore-failed-read);
                    311: # GNU tar has some useful options against unexpected errors.
                    312: # Other useful options include "--owner=0" and "--group=0", see
                    313: # the tar(1) (or gtar(1)) manpage for details.
                    314: #
3.15      knu       315: @tar_options = qw();
3.26      knu       316:
3.13      knu       317: # Options to pass to cvs(1).
3.63      scop      318: # For cvs versions 1.11 to 1.11.6 (broken in < 1.11, removed in 1.11.7), you
                    319: # can use the '-l' option to prevent cvs from writing to the history file.
                    320: # For other cvs versions, either suppress history logging by using the
3.69      scop      321: # LogHistory parameter in CVSROOT/config or make sure that the CVSweb user
3.63      scop      322: # can read and write to CVSROOT/history.
3.61      scop      323: # FreeBSD's and OpenBSD's cvs(1) has long since supported -R (read only access
                    324: # mode) option, which considerably speeds up checkouts over NFS.  For other
4.19      schwarze  325: # platforms, the -R option is available in cvs >= 1.12.1.
                    326: # A similar effect is provided by -u on NetBSD.
3.57      scop      327: #
3.85      scop      328: @cvs_options = qw(-f);
3.47      scop      329: push @cvs_options, '-R' if ($^O eq 'freebsd' || $^O eq 'openbsd');
                    330: push @cvs_options, '-u' if ($^O eq 'netbsd');
3.26      knu       331:
3.39      scop      332: # Options to pass to the 'cvs annotate' command, usually the normal
                    333: # @cvs_options are good enough here.
3.57      scop      334: # To make annotate work against a read only repository, add -n, ie.:
                    335: # @annotate_options = (@cvs_options, '-n');
                    336: #
3.39      scop      337: @annotate_options = @cvs_options;
                    338:
3.54      scop      339: # Options to pass to rcsdiff(1).
                    340: # Probably the only useful one here is -q (suppress diagnostic output).
3.57      scop      341: #
3.54      scop      342: @rcsdiff_options = qw(-q);
3.39      scop      343:
3.89      scop      344: # Troubleshooting: in case of problems, setting this to 1 will cause more
                    345: # error output into your web server error log.  Under normal operation,
                    346: # this should be set to 0 or commented out.
                    347: #
                    348: #$DEBUG = 1;
3.94      scop      349:
3.12      knu       350: 1;
3.26      knu       351:
3.57      scop      352: # EOF

CVSweb