# -*-perl-*-
# Configuration of cvsweb.cgi, the
# CGI interface to CVS Repositories.
#
# (c) 1998-1999 H. Zeller    <zeller@think.de>
#     1999      H. Nordstr�m <hno@hem.passagen.se>
#          based on work by Bill Fenner  <fenner@freebsd.org>
# $Id: cvsweb.conf,v 1.2 2001/08/13 16:49:24 lo-lan-do 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 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 = (
# Uncomment next line and modify the path if you have only one CVS repository.
	    'Sourceforge-CVS' => '/var/lib/sourceforge/chroot/cvsroot',
	    );

# This tree is enabled by default when
# you enter the page
$cvstreedefault = 'Sourceforge-CVS';

##############
# 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" => "h",	  

      # 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
##############

# color settings in the body-tag
$body_tag = '<body text="#000000" bgcolor="#ffffff" link="#0000ff" alink="#ff0000" vlink="#800080">';

# Wanna have a logo on the page ?
#$logo = '<img src="somelogo.jpg">';

# The title of the Page on startup
$defaulttitle = "CVS Repository";

# The address is shown on the footer
$address = "<font size=-1>CVSweb by &lt;zeller\@think.de&gt;</font>";

# Default page background color for the diffs
# and annotations
$backcolor = "#eeeeee";

# color of navigation Header for
# diffs and annotations
$navigationHeaderColor = '#9999ee';

$long_intro = <<EOT;
<p>
This is a WWW interface for CVS Repositories.
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
&lt;<a href="mailto:fenner\@freebsd.org">fenner\@freebsd.org</a>&gt;
and improved by Henner Zeller
&lt;<a href="mailto:zeller\@think.de">zeller\@think.de</a>&gt;,
Henrik Nordstr&ouml;m
&lt;<a href="mailto:hno\@hem.passagen.se">hno\@hem.passagen.se</a>&gt;, and
Ken Coar
&lt;<a href="mailto:Ken.Coar\@Golux.Com">Ken.Coar\@Golux.Com</a>&gt;;
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:zeller\@think.de">Henner Zeller</a>,
<a href="mailto:hno\@hem.passagen.se">Henrik Nordstr&ouml;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
# format:               TEXT      ICON-URL          width height
%ICONS  = (
	   back => [ ("[BACK]", "/icons/back.gif", 20,   22) ],
	   dir  => [ ("[DIR]",  "/icons/dir.gif",  20,   22) ],
	   file => [ ("[TXT]",  "/icons/text.gif", 20,   22) ],
	   );

# 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 = ('#ccccee', '#ffffff');
$tablepadding = 2;

# Color of Header
$columnHeaderColorDefault = '#cccccc';
$columnHeaderColorSorted = '#88ff88';

# 
# If you want to have colored borders 
# around each row, uncomment this
# $tableBorderColor = '#999999';

#
# 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 human readable diffs
# this just makes sense if we have C-files, otherwise
# diff's heuristic doesn't work well ..
# ( '-p' option to diff)
$hr_funout = 0;

# ignore whitespaces for human readable diffs
# (indendation and stuff ..)
# ( '-w' option to diff)
$hr_ignwhite = 1;

# 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='/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",
	   );

##############
# 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'} = '/bin:/usr/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;

# 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 = '';

#EOF
