Annotation of cvsweb/cvsweb.conf, Revision 3.88
3.76 scop 1: # -*- perl -*-
2: # Configuration of cvsweb.cgi, a web interface to CVS repositories.
3.1 knu 3: #
4: # (c) 1998-1999 H. Zeller <zeller@think.de>
5: # 1999 H. Nordstrom <hno@hem.passagen.se>
3.30 knu 6: # 2000-2002 A. MUSHA <knu@FreeBSD.org>
3.65 scop 7: # 2002-2004 V. Skyttä <scop@FreeBSD.org>
3.1 knu 8: # based on work by Bill Fenner <fenner@FreeBSD.org>
3.28 knu 9: #
3.30 knu 10: # $FreeBSD$
3.27 knu 11: # $Id: cvsweb.conf,v 3.29 2001/07/23 09:14:52 hzeller Exp $
3.28 knu 12: # $Idaemons: /home/cvs/cvsweb/cvsweb.conf,v 3.27 2001/08/01 09:48:39 knu Exp $
3.1 knu 13: #
14:
3.19 knu 15: # Set the path for the following commands:
3.47 scop 16: # cvs, rlog, rcsdiff
3.19 knu 17: # gzip (if you enable $allow_compress)
3.47 scop 18: # (g)tar, zip (if you enable $allow_tar)
3.42 scop 19: # cvsgraph (if you enable $allow_graph)
3.71 scop 20: # enscript (if you enable $allow_enscript)
3.58 scop 21: #
3.73 scop 22: @command_path = qw(/bin /usr/bin /usr/local/bin);
3.19 knu 23:
3.47 scop 24: # Search the above directories for each command (prefer gtar over tar).
3.58 scop 25: #
3.71 scop 26: for (qw(cvs rlog rcsdiff gzip gtar zip cvsgraph enscript)) {
3.26 knu 27: $CMD{$_} = search_path($_);
3.19 knu 28: }
3.47 scop 29: $CMD{tar} = delete($CMD{gtar}) if $CMD{gtar};
30: $CMD{tar} ||= search_path('tar');
3.19 knu 31:
3.53 scop 32: # CVS roots
33: #
34: # CVSweb can handle several CVS repositories at once. Enter short (internal)
35: # symbolic repository names, their names in the UI and the actual locations
36: # here. The repositories will be listed in the order they're specified here.
37: #
3.76 scop 38: # CVSweb will also load per-cvsroot configuration files if they exist.
39: # The symbolic_name (see below) of the CVS root will be concatenated into the
40: # name of the main (this) configuration file along with a hyphen, and that
41: # file will be loaded for that particular CVS root. For examples, see
42: # cvsweb.conf-* in the CVSweb distribution.
43: #
3.53 scop 44: # Note that only local repositories are currently supported. Things like
45: # :pserver:someone@xyz.com:/data/cvsroot won't work.
46: #
47: # 'symbolic_name' => ['Name to display', '/path/to/cvsroot']
48: #
3.17 knu 49: @CVSrepositories = (
3.78 scop 50: 'local' => ['Local Repository', '/var/cvs'],
51: # 'freebsd' => ['FreeBSD', '/var/ncvs'],
52: # 'openbsd' => ['OpenBSD', '/var/ncvs'],
53: # 'netbsd' => ['NetBSD', '/var/ncvs'],
3.53 scop 54: # 'ruby' => ['Ruby', '/var/anoncvs/ruby'],
3.26 knu 55: );
3.1 knu 56:
3.53 scop 57: # The default CVS root. Note that @CVSrepositories is list, not a hash,
58: # so you'll want to use 2 * 0-based-index-number here; or set this directly
59: # to the default's symbolic name. Unless specified, the first valid one in
60: # @CVSrepositories is used as the default.
61: #
62: # For example:
63: #
64: #$cvstreedefault = $CVSrepositories[2 * 0];
65: #$cvstreedefault = 'local';
3.1 knu 66:
3.88 ! scop 67: # Mirror sites. The keys will be used as link texts, and the values are
! 68: # URLs pointing to the corresponding mirrors.
! 69: #
! 70: #%MIRRORS = (
! 71: # 'Other location' => 'http://192.168.0.1/cgi-bin/cvsweb.cgi/',
! 72: # 'Yet another one' => 'http://192.168.0.2/cgi-bin/cvsweb.cgi/',
! 73: #);
! 74:
3.76 scop 75: # Bug tracking system linking options ("PR" means Problem Report, as in GNATS)
76: #
3.15 knu 77: #@prcategories = qw(
3.26 knu 78: # advocacy
79: # alpha
80: # bin
81: # conf
82: # docs
83: # gnu
84: # i386
85: # kern
86: # misc
87: # pending
88: # ports
89: # sparc
90: #);
3.15 knu 91: #$prcgi = "http://www.FreeBSD.org/cgi/query-pr.cgi?pr=%s";
92: #$prkeyword = "PR";
3.1 knu 93:
3.76 scop 94: # Manual gateway linking.
95: #
3.26 knu 96: $mancgi =
97: "http://www.FreeBSD.org/cgi/man.cgi?apropos=0&sektion=%s&query=%s&manpath=FreeBSD+5.0-current&format=html";
3.1 knu 98:
3.76 scop 99: # Defaults for user options.
100: #
3.1 knu 101: %DEFAULTVALUE = (
3.26 knu 102:
3.76 scop 103: # sortby: File sort order
104: # file Sort by filename
105: # rev Sort by revision number
106: # date Sort by commit date
107: # author Sort by author
108: # log Sort by log message
109: "sortby" => "file",
110:
111: # ignorecase: Ignore case in sorts (filenames, authors, log messages)
112: # 0 Honor case
113: # 1 Ignore case
114: "ignorecase" => "0",
115:
116: # hideattic: Hide or show files in Attic
117: # 1 Hide files in Attic
118: # 0 Show files in Attic
119: "hideattic" => "1",
120:
121: # logsort: Sort order for CVS logs
122: # date Sort revisions by date
123: # rev Sort revision by revision number
124: # cvs Don't sort them. Same order as CVS/RCS shows them.
125: "logsort" => "date",
126:
127: # f: Default diff format
128: # h Human readable
129: # u Unified diff
130: # c Context diff
131: # s Side by side
132: # uc Unified diff, enscript colored (falls back to "u" w/o enscript)
133: # cc Context diff, enscript colored (falls back to "c" w/o enscript)
134: # sc Side by side, enscript colored (falls back to "s" w/o enscript)
135: "f" => "u",
136:
137: # hidecvsroot: Don't show the CVSROOT directory
138: # 1 Hide CVSROOT directory
139: # 0 Show CVSROOT directory
140: "hidecvsroot" => "0",
141:
142: # hidenonreadable: Don't show entries which cannot be read
143: # 1 Hide non-readable entries
144: # 0 Show non-readable entries
145: "hidenonreadable" => "1",
146:
147: # ln: Show line numbers in HTMLized views
148: # 1 Show line numbers
149: # 0 Don't show line numbers
150: "ln" => "0",
3.1 knu 151: );
152:
3.76 scop 153: #
154: # Layout options (see also the included CSS file)
155: #
3.1 knu 156:
157: # Wanna have a logo on the page ?
3.58 scop 158: #
3.79 scop 159: #$logo = '<p><img src="/icons/apache_pb.gif" alt="Powered by Apache" /></p>';
3.1 knu 160:
3.79 scop 161: # The title of the Page on startup. This will be put inside <h1> and <title>
162: # tags, and HTML escaped.
3.58 scop 163: #
3.1 knu 164: $defaulttitle = "CVS Repository";
165:
3.34 scop 166: # The address is shown on the footer. This will be put inside a <address> tag.
3.58 scop 167: #
3.34 scop 168: $address = '<span style="font-size: smaller">FreeBSD-CVSweb <<a href="mailto:freebsd-cvsweb@FreeBSD.org">freebsd-cvsweb@FreeBSD.org</a>></span>';
3.1 knu 169:
170: $long_intro = <<EOT;
171: <p>
3.81 scop 172: This is a WWW interface for CVS repositories.
3.67 scop 173: You can browse the file hierarchy by following directory links (which
174: have slashes after them, e.g. <code>src/</code>).
175: If you follow a link to a file, you will see its revision history.
176: Following a link labeled with a revision number will display that
177: revision of the file. In the revision history view, there is a link
178: near each revision to display diffs between that revision and the
179: previous one, and a form at the bottom of the page that allows you to
3.1 knu 180: display diffs between arbitrary revisions.
3.67 scop 181: </p><p>
3.33 scop 182: This script has been written by Bill Fenner and improved by Henner Zeller,
183: Henrik Nordström, and Ken Coar, then Akinori MUSHA brought it
3.22 knu 184: back to FreeBSD community and made further improvements; it is covered
3.33 scop 185: by <a
186: href="http://www.opensource.org/licenses/bsd-license.html">The BSD Licence</a>.
3.67 scop 187: </p><p>
3.1 knu 188: If you would like to use this CGI script on your own web server and
3.67 scop 189: CVS tree, download the latest version from <<a
3.33 scop 190: href="http://www.FreeBSD.org/projects/cvsweb.html">http://www.FreeBSD.org/projects/cvsweb.html</a>>.
3.67 scop 191: </p><p>
3.33 scop 192: Feel free to send any patches, suggestions and comments to the FreeBSD-CVSweb
193: mailing list at
194: <<a
195: href="mailto:freebsd-cvsweb\@FreeBSD.org">freebsd-cvsweb\@FreeBSD.org</a>>.
3.1 knu 196: </p>
197: EOT
198:
199: $short_instruction = <<EOT;
200: <p>
201: Click on a directory to enter that directory. Click on a file to display
3.32 scop 202: its revision history and to get a chance to display diffs between revisions.
3.1 knu 203: </p>
204: EOT
205:
3.42 scop 206: # Icons for the web UI. If ICON-URL is empty, the TEXT representation is
207: # used. If you do not want to have a tool tip for an icon, set TEXT empty.
208: # The width and height of the icon allow the browser to correctly display
209: # the table while still loading the icons. If these icons are too large,
210: # check out the "mini" versions in the icons/ directory; they have a
211: # width/height of 16/16.
3.58 scop 212: #
3.42 scop 213: my $iconsdir = '/icons';
214:
3.51 scop 215: # format: TEXT ICON-URL width height
3.26 knu 216: %ICONS = (
3.51 scop 217: back => [('[BACK]', "$iconsdir/back.gif", 20, 22)],
218: dir => [('[DIR]', "$iconsdir/dir.gif", 20, 22)],
219: file => [('[TXT]', "$iconsdir/text.gif", 20, 22)],
3.87 scop 220: binfile => [('[BIN]', "$iconsdir/binary.gif", 20, 22)],
3.51 scop 221: graph => [('[GRAPH]', "$iconsdir/minigraph.png", 16, 16)],
3.26 knu 222: );
3.15 knu 223: undef $iconsdir;
3.1 knu 224:
3.43 scop 225: # An URL where to find the CSS.
3.58 scop 226: #
3.43 scop 227: $cssurl = '/css/cvsweb.css';
228:
3.76 scop 229: # The length to which the last log entry should be truncated when shown
230: # in the directory view.
3.58 scop 231: #
3.1 knu 232: $shortLogLen = 80;
233:
3.76 scop 234: # Show author of last change?
3.58 scop 235: #
3.1 knu 236: $show_author = 1;
237:
3.76 scop 238: # Cell padding for directory table.
3.58 scop 239: #
3.1 knu 240: $tablepadding = 2;
241:
3.75 scop 242: # Regular expresions for files and directories which should be hidden.
243: # Each regexp is compared against a path relative to a CVS root, after
244: # stripping the trailing ",v" if present. Matching files and directories
245: # are not displayed.
3.58 scop 246: #
3.27 knu 247: @ForbiddenFiles = (
3.74 scop 248: qr|^CVSROOT/+passwd$|o, # CVSROOT/passwd should not be 'cvs add'ed though.
249: qr|/\.cvspass$|o, # Ditto. Just in case.
3.75 scop 250: #qr|^my/+secret/+dir|o,
3.27 knu 251: );
3.1 knu 252:
3.77 scop 253: # Use CVSROOT/descriptions for describing the directories/modules?
3.69 scop 254: # See INSTALL, section 9.
3.1 knu 255: #
256: $use_descriptions = 0;
257:
3.76 scop 258: #
259: # Human readable diff.
260: #
3.1 knu 261: # (c) 1998 H. Zeller <zeller@think.de>
262: #
3.76 scop 263: # Generates two columns of color encoded diff; much like xdiff or GNU Emacs'
264: # ediff-mode.
3.1 knu 265: #
3.76 scop 266: # The diff-stuff is a piece of code I once made for cvs2html which is under
267: # GPL, see http://www.sslug.dk/cvs2html
3.1 knu 268: # (c) 1997/98 Peter Toft <pto@sslug.imm.dtu.dk>
269:
3.76 scop 270: # Make lines breakable so that the columns do not exceed the width of the
271: # browser?
3.58 scop 272: #
3.1 knu 273: $hr_breakable = 1;
274:
3.80 scop 275: # Print function names in diffs (unified and context only).
276: # See the -p option in the diff(1) man page.
3.58 scop 277: #
3.4 knu 278: $showfunc = 1;
3.1 knu 279:
280: # For each pair of regexps, files that match the first regexp will be diff'ed
3.80 scop 281: # with an -F option using the second regexp (unified and context only).
282: # See the -F option in the diff(1) man page.
3.58 scop 283: #
3.4 knu 284: %funcline_regexp = (
3.74 scop 285: qr/\.(?:4th|fr)$/o => "\\(^\\|[ \t]\\): ",
286: qr/\.rb$/o => "^[\t ]*\\(class\\|module\\|def\\) ",
3.26 knu 287: );
3.1 knu 288:
3.76 scop 289: # Ignore whitespace in human readable diffs? ('-w' option to diff)
3.58 scop 290: #
3.7 knu 291: $hr_ignwhite = 0;
3.1 knu 292:
3.76 scop 293: # Ignore diffs which are caused by keyword substitution, $Id and friends?
294: # ('-kk' option to rcsdiff)
3.58 scop 295: #
3.1 knu 296: $hr_ignkeysubst = 1;
297:
3.76 scop 298: # The width of the textinput of the "request diff" form.
3.58 scop 299: #
3.1 knu 300: $inputTextSize = 12;
3.70 scop 301:
302: # Custom per MIME type diff tools, used for comparing binary files such as
303: # spreadsheets, images etc. Each key is a MIME type in lowercase.
304: # Each value is an array ref of available diff tools for that type, each of
305: # which is a hash ref with values (mandatory where default not listed):
306: # name: the name to show in the UI for this diff type
307: # cmd: full path to executable
308: # args: arguments as an array ref (not string!, defaults to no arguments)
309: # type: output MIME type (defaults to text/plain)
310: #
311: %DIFF_COMMANDS = (
312: #'text/xml' => [
313: # { name => 'XMLdiff',
314: # cmd => $CMD{xmldiff},
315: # },
316: # { name => 'XMLdiff (XUpdate)',
317: # cmd => $CMD{xmldiff},
318: # args => [ qw(-x) ],
319: # type => 'text/xml',
320: # },
321: #],
322: );
3.1 knu 323:
3.76 scop 324: #
325: # Mime types
326: #
3.1 knu 327:
3.52 scop 328: # The MIME type lookup works like this:
329: # 1) Look up from %MTYPES below with the file name extension (suffix).
330: # 2) If not found, use the MIME::Types(3) module if it's available.
331: # 3) If not found, lookup from the $mime_types file (see below).
332: # 4) If not found, try %MTYPES{'*'}.
333: # 5) If not found, use 'application/octet-stream' if the file's keyword
334: # substitution mode is b (ie. the file was checked in as binary to CVS),
335: # 'text/plain' otherwise.
3.1 knu 336:
3.52 scop 337: # Quick MIME type lookup; maps filename extensions to MIME types.
338: # Add common mappings here for fast lookup. You can also use this
339: # to override MIME::Types(3) or the $mime_types file (see below).
3.58 scop 340: #
3.1 knu 341: %MTYPES = (
3.26 knu 342: "html" => "text/html",
343: "shtml" => "text/html",
344: "gif" => "image/gif",
345: "jpeg" => "image/jpeg",
346: "jpg" => "image/jpeg",
347: "png" => "image/png",
348: "xpm" => "image/xpm",
3.52 scop 349: # "*" => "text/plain",
3.26 knu 350: );
3.52 scop 351:
352: # The traditional mime.types file, eg. the one from Apache is fine.
353: # See above where this gets used.
3.58 scop 354: #
3.52 scop 355: $mime_types = '/usr/local/etc/apache/mime.types';
3.11 knu 356:
3.56 scop 357: # Charset appended to the Content-Type HTTP header for text/* MIME types.
358: # Note that the web server may default to some charset which may take effect
359: # if you leave this parameter empty or unset.
3.69 scop 360: # For Apache, see also the AddDefaultCharset directive.
3.56 scop 361: #
3.13 knu 362: $charset = '';
3.26 knu 363:
3.13 knu 364: # e.g.
365: #$charset = $where =~ m,/ru[/_-], ? 'koi8-r'
366: # : $where =~ m,/zh[/_-], ? 'big5'
367: # : $where =~ m,/ja[/_-], ? 'x-euc-jp'
368: # : $where =~ m,/ko[/_-], ? 'x-euc-kr'
369: # : 'iso-8859-1';
3.29 knu 370:
371: # Output filter
3.58 scop 372: #
3.29 knu 373: $output_filter = '';
374:
375: # e.g.
376: ## unify/convert Japanese code into EUC-JP
377: #$output_filter= '/usr/local/bin/nkf -e';
3.1 knu 378:
379: ##############
380: # Misc
381: ##############
3.58 scop 382:
3.76 scop 383: # Allow annotation of files? See also @annotate_options below.
3.58 scop 384: #
3.1 knu 385: $allow_annotate = 1;
386:
3.76 scop 387: # Allow HTMLized version of files?
3.58 scop 388: #
3.1 knu 389: $allow_markup = 1;
390:
3.76 scop 391: # Allow extra hyperlinking (such as PR cross-references) in logs?
3.58 scop 392: #
3.31 knu 393: $allow_log_extra = 1; # default: enabled
394:
3.76 scop 395: # Allow extra hyperlinking in directories?
3.58 scop 396: #
3.31 knu 397: $allow_dir_extra = 1;
398:
3.76 scop 399: # Allow extra hyperlinking in source code/formatted diff views?
3.58 scop 400: #
3.31 knu 401: $allow_source_extra = 1;
402:
3.76 scop 403: # Allow compression with gzip in general? Note that this also requires
404: # that the browser supports it, and will be disabled on the fly when necessary.
3.58 scop 405: #
3.16 knu 406: $allow_compress = 0;
3.1 knu 407:
3.76 scop 408: # Use JavaScript in the UI?
3.58 scop 409: #
3.1 knu 410: $use_java_script = 1;
411:
3.76 scop 412: # Show a form for setting options in the directory view?
3.58 scop 413: #
414: $edit_option_form = 1;
3.1 knu 415:
3.77 scop 416: # Show last changelog message for subdirectories?
3.1 knu 417: # The current implementation makes many assumptions and may show the
418: # incorrect file at some times. The main assumption is that the last
419: # modified file has the newest filedate. But some CVS operations
420: # touches the file without even when a new version is't checked in,
421: # and TAG based browsing essientially puts this out of order, unless
422: # the last checkin was on the same tag as you are viewing.
423: # Enable this if you like the feature, but don't rely on correct results.
3.58 scop 424: #
3.1 knu 425: $show_subdir_lastmod = 0;
426:
3.76 scop 427: # Show CVS log when viewing file contents?
3.58 scop 428: #
3.1 knu 429: $show_log_in_markup = 1;
430:
3.77 scop 431: # Preformat when viewing file contents? This should be turned off
3.13 knu 432: # when you have files in the repository that are in a multibyte
433: # encoding which uses HTML special characters ([<>&"]) as part of a
434: # multi-byte character. (such as iso-2022-jp, ShiftJIS, etc.)
435: # Otherwise those files will get screwed up in markup.
3.58 scop 436: #
3.59 scop 437: # Note: enscript(1) highlighting is preferred over the built-in preformatting,
438: # ie. this has no effect if $allow_enscript is true and enscript can highlight
439: # the file.
440: #
441: $preformat_in_markup = 0;
3.13 knu 442:
3.1 knu 443: # Tabstop used to expand tabs in colored diffs. If undefined then
444: # tabs are always expanded to 8 spaces.
3.58 scop 445: #
3.1 knu 446: $tabstop = 8;
447:
3.58 scop 448: # If you wish to display absolute times in your local timezone,
3.82 scop 449: # then define @mytz and fill in the strings for your standard and
3.1 knu 450: # daylight time. Note that you must also make sure the system
451: # timezone is correctly set.
3.58 scop 452: #
453: #@mytz=("EST", "EDT");
3.1 knu 454:
3.82 scop 455: # CVSweb is friendly to caches by sending the HTTP Last-Modified
456: # header corresponding to the sent content. In the case of a
457: # checkout, this may require running rcslog on the file solely for the
458: # purpose of retrieving the timestamp to be sent. If you have a slow
459: # server, you may turn this off for a small performance gain.
3.58 scop 460: #
3.1 knu 461: $use_moddate = 1;
462:
3.45 scop 463: # Maximum number of filenames to pass to rlog(1) in one command.
464: # If you see "Failed to spawn GNU rlog" errors with directories containing
465: # lots of files, experiment by setting this to different values and see if
466: # the error still occurs. A good value to start from would be eg. 200.
467: # Just comment this out if you're not bitten by the problem.
3.57 scop 468: #
3.45 scop 469: #$file_list_len = 200;
470:
3.79 scop 471: # Allow graphical representations of file revisions and branches with CvsGraph?
3.57 scop 472: #
473: $allow_cvsgraph = $CMD{cvsgraph} ? 1 : 0;
474:
3.42 scop 475: # Path to the CvsGraph configuration file. Only used if $allow_cvsgraph
476: # is true. Leave this empty or comment it out to make cvsgraph(1) use its
3.84 scop 477: # default configuration file. Note that CVSweb will override some of the
478: # settings in the configuration file with command line options, see
479: # doGraph() and doGraphView() in cvsweb.cgi for details.
3.57 scop 480: #
3.42 scop 481: #$cvsgraph_config = "/etc/cvsgraph.conf";
3.13 knu 482:
3.86 scop 483: # URL to the CVSHistory script. This should be absolute (but does not need
484: # to include the host and port if the script is on the same server as
485: # CVSweb).
486: #$cvshistory_url = "/cgi-bin/cvshistory.cgi";
487:
3.57 scop 488: # Whether to allow downloading a tarball or a zip of the current directory.
489: # While downloading of the entire repository is disallowed, depending on
490: # the directory this may take a lot of time and disk space. For some CVS
3.69 scop 491: # versions, the user account running CVSweb needs write access to
3.57 scop 492: # CVSROOT/val-tags. See also the tar, gzip and zip options below.
493: #
494: #$allow_tar = (($CMD{tar} && $CMD{gzip}) || $CMD{zip}) ? 1 : 0;
495:
3.13 knu 496: # Options to pass to tar(1).
3.57 scop 497: # For example: @tar_options = qw(--ignore-failed-read);
498: # GNU tar has some useful options against unexpected errors.
499: # Other useful options include "--owner=0" and "--group=0", see
500: # the tar(1) (or gtar(1)) manpage for details.
501: #
3.15 knu 502: @tar_options = qw();
3.26 knu 503:
3.19 knu 504: # Options to pass to gzip(1) when compressing a tarball to download.
3.57 scop 505: # For example: @gzip_options = qw(-3);
506: # Try lower compression level than 6 (default) if you want faster
507: # compression, or higher for better compression.
508: #
3.19 knu 509: @gzip_options = qw();
3.26 knu 510:
3.25 knu 511: # Options to pass to zip(1) when compressing a zip archive to download.
3.57 scop 512: # For example: @zip_options = qw(-3);
513: # Try lower compression level than 6 (default) if you want faster
514: # compression, or higher for better compression.
515: #
3.47 scop 516: @zip_options = qw(-q);
3.26 knu 517:
3.13 knu 518: # Options to pass to cvs(1).
3.63 scop 519: # For cvs versions 1.11 to 1.11.6 (broken in < 1.11, removed in 1.11.7), you
520: # can use the '-l' option to prevent cvs from writing to the history file.
521: # For other cvs versions, either suppress history logging by using the
3.69 scop 522: # LogHistory parameter in CVSROOT/config or make sure that the CVSweb user
3.63 scop 523: # can read and write to CVSROOT/history.
3.61 scop 524: # FreeBSD's and OpenBSD's cvs(1) has long since supported -R (read only access
525: # mode) option, which considerably speeds up checkouts over NFS. For other
3.62 scop 526: # platforms, the -R option and the CVSREADONLYFS environment variable are
527: # available in cvs >= 1.12.1. A similar effect is provided by -u on NetBSD.
3.57 scop 528: #
3.85 scop 529: @cvs_options = qw(-f);
3.47 scop 530: push @cvs_options, '-R' if ($^O eq 'freebsd' || $^O eq 'openbsd');
531: push @cvs_options, '-u' if ($^O eq 'netbsd');
3.62 scop 532: # Only affects cvs >= 1.12.1, but doesn't hurt older ones.
533: $ENV{CVSREADONLYFS} = 1 unless exists($ENV{CVSREADONLYFS});
3.26 knu 534:
3.39 scop 535: # Options to pass to the 'cvs annotate' command, usually the normal
536: # @cvs_options are good enough here.
3.57 scop 537: # To make annotate work against a read only repository, add -n, ie.:
538: # @annotate_options = (@cvs_options, '-n');
539: #
3.39 scop 540: @annotate_options = @cvs_options;
541:
3.54 scop 542: # Options to pass to rcsdiff(1).
543: # Probably the only useful one here is -q (suppress diagnostic output).
3.57 scop 544: #
3.54 scop 545: @rcsdiff_options = qw(-q);
3.48 scop 546:
547: # Enables syntax highlighting using GNU Enscript if set.
3.64 scop 548: # You will need GNU Enscript version 1.6.3 or newer for this to work.
3.57 scop 549: #
3.48 scop 550: #$allow_enscript = $CMD{enscript} ? 1 : 0;
551:
552: # Options to pass to enscript(1).
3.54 scop 553: # Do not set the -q, --language, -o or --highlight options here.
3.48 scop 554: # Most useful styles are probably emacs, emacs_verbose and msvc.
3.57 scop 555: #
3.48 scop 556: @enscript_options = qw(--style=emacs --color=1);
557:
558: # Enscript highlight rule to filename regex mappings. The set of useful
559: # mappings depends on what highlight rules the system has installed.
3.57 scop 560: #
3.48 scop 561: %enscript_types =
562: (
563: 'ada' => qr/\.ad(s|b|a)$/o,
564: 'asm' => qr/\.[Ss]$/o,
565: 'awk' => qr/\.awk$/o,
566: 'bash' => qr/\.(bash(_profile|rc)|inputrc)$/o,
567: 'c' => qr/\.(c|h)$/o,
568: 'changelog' => qr/^changelog$/io,
569: 'cpp' => qr/\.(c\+\+|C|H|cpp|cc|cxx)$/o,
570: 'csh' => qr/\.(csh(rc)?|log(in|out)|history)$/o,
571: 'elisp' => qr/\.e(l|macs)$/o,
572: 'fortran' => qr/\.[fF]$/o,
573: 'haskell' => qr/\.(l?h|l?g)s$/o,
574: 'html' => qr/\.x?html?$/o,
575: 'idl' => qr/\.idl$/o,
576: 'inf' => qr/\.inf$/io,
577: 'java' => qr/\.java$/o,
3.83 scop 578: 'javascript' => qr/\.(js|pac)$/o,
3.48 scop 579: 'ksh' => qr/\.ksh$/o,
580: 'm4' => qr/\.m4$/o,
3.83 scop 581: 'makefile' => qr/(GNU)?[Mm]akefile(?!\.PL\b)|\.(ma?ke?|am)$/o,
3.48 scop 582: 'matlab' => qr/\.m$/o,
583: 'nroff' => qr/\.man$/o,
584: 'pascal' => qr/\.p(as|p)?$/io,
3.83 scop 585: 'perl' => qr/\.p(m|(er)?l)$/io,
3.48 scop 586: 'postscript' => qr/\.e?ps$/io,
587: 'python' => qr/\.py$/o,
588: 'rfc' => qr/\b((rfc|draft)\..*\.txt)$/o,
589: 'scheme' => qr/\.(scm|scheme)$/o,
590: 'sh' => qr/\.sh$/o,
591: 'skill' => qr/\.il$/o,
592: 'sql' => qr/\.sql$/o,
593: 'states' => qr/\.st$/o,
594: 'synopsys' => qr/\.s(cr|yn(th)?)$/o,
595: 'tcl' => qr/\.tcl$/o,
596: 'tcsh' => qr/\.tcshrc$/o,
597: 'tex' => qr/\.tex$/o,
598: 'vba' => qr/\.vba$/o,
599: 'verilog' => qr/\.(v|vh)$/o,
600: 'vhdl' => qr/\.vhdl?$/o,
601: 'vrml' => qr/\.wrl$/o,
602: 'wmlscript' => qr/\.wmls(cript)?$/o,
603: 'zsh' => qr/\.(zsh(env|rc)|z(profile|log(in|out)))$/o,
604: );
3.39 scop 605:
3.12 knu 606: 1;
3.26 knu 607:
3.57 scop 608: # EOF
CVSweb