summaryrefslogtreecommitdiff
path: root/doc/hgrc.5
diff options
context:
space:
mode:
Diffstat (limited to 'doc/hgrc.5')
-rw-r--r--doc/hgrc.51793
1 files changed, 1793 insertions, 0 deletions
diff --git a/doc/hgrc.5 b/doc/hgrc.5
new file mode 100644
index 0000000..8d17bef
--- /dev/null
+++ b/doc/hgrc.5
@@ -0,0 +1,1793 @@
+.\" Man page generated from reStructeredText.
+.
+.TH HGRC 5 "" "" "Mercurial Manual"
+.SH NAME
+hgrc \- configuration files for Mercurial
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.SH SYNOPSIS
+.sp
+The Mercurial system uses a set of configuration files to control
+aspects of its behavior.
+.sp
+The configuration files use a simple ini\-file format. A configuration
+file consists of sections, led by a \fB[section]\fP header and followed
+by \fBname = value\fP entries:
+.sp
+.nf
+.ft C
+[ui]
+username = Firstname Lastname <firstname.lastname@example.net>
+verbose = True
+.ft P
+.fi
+.sp
+The above entries will be referred to as \fBui.username\fP and
+\fBui.verbose\fP, respectively. See the Syntax section below.
+.SH FILES
+.sp
+Mercurial reads configuration data from several files, if they exist.
+These files do not exist by default and you will have to create the
+appropriate configuration files yourself: global configuration like
+the username setting is typically put into
+\fB%USERPROFILE%\emercurial.ini\fP or \fB$HOME/.hgrc\fP and local
+configuration is put into the per\-repository \fB<repo>/.hg/hgrc\fP file.
+.sp
+The names of these files depend on the system on which Mercurial is
+installed. \fB*.rc\fP files from a single directory are read in
+alphabetical order, later ones overriding earlier ones. Where multiple
+paths are given below, settings from earlier paths override later
+ones.
+.sp
+.nf
+(All) \fB<repo>/.hg/hgrc\fP
+.fi
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Per\-repository configuration options that only apply in a
+particular repository. This file is not version\-controlled, and
+will not get transferred during a "clone" operation. Options in
+this file override options in all other configuration files. On
+Plan 9 and Unix, most of this file will be ignored if it doesn\(aqt
+belong to a trusted user or to a trusted group. See the documentation
+for the \fB[trusted]\fP section below for more details.
+.UNINDENT
+.UNINDENT
+.sp
+.nf
+(Plan 9) \fB$home/lib/hgrc\fP
+(Unix) \fB$HOME/.hgrc\fP
+(Windows) \fB%USERPROFILE%\e.hgrc\fP
+(Windows) \fB%USERPROFILE%\eMercurial.ini\fP
+(Windows) \fB%HOME%\e.hgrc\fP
+(Windows) \fB%HOME%\eMercurial.ini\fP
+.fi
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Per\-user configuration file(s), for the user running Mercurial. On
+Windows 9x, \fB%HOME%\fP is replaced by \fB%APPDATA%\fP. Options in these
+files apply to all Mercurial commands executed by this user in any
+directory. Options in these files override per\-system and per\-installation
+options.
+.UNINDENT
+.UNINDENT
+.sp
+.nf
+(Plan 9) \fB/lib/mercurial/hgrc\fP
+(Plan 9) \fB/lib/mercurial/hgrc.d/*.rc\fP
+(Unix) \fB/etc/mercurial/hgrc\fP
+(Unix) \fB/etc/mercurial/hgrc.d/*.rc\fP
+.fi
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Per\-system configuration files, for the system on which Mercurial
+is running. Options in these files apply to all Mercurial commands
+executed by any user in any directory. Options in these files
+override per\-installation options.
+.UNINDENT
+.UNINDENT
+.sp
+.nf
+(Plan 9) \fB<install\-root>/lib/mercurial/hgrc\fP
+(Plan 9) \fB<install\-root>/lib/mercurial/hgrc.d/*.rc\fP
+(Unix) \fB<install\-root>/etc/mercurial/hgrc\fP
+(Unix) \fB<install\-root>/etc/mercurial/hgrc.d/*.rc\fP
+.fi
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Per\-installation configuration files, searched for in the
+directory where Mercurial is installed. \fB<install\-root>\fP is the
+parent directory of the \fBhg\fP executable (or symlink) being run. For
+example, if installed in \fB/shared/tools/bin/hg\fP, Mercurial will look
+in \fB/shared/tools/etc/mercurial/hgrc\fP. Options in these files apply
+to all Mercurial commands executed by any user in any directory.
+.UNINDENT
+.UNINDENT
+.sp
+.nf
+(Windows) \fB<install\-dir>\eMercurial.ini\fP \fBor\fP
+(Windows) \fB<install\-dir>\ehgrc.d\e*.rc\fP \fBor\fP
+(Windows) \fBHKEY_LOCAL_MACHINE\eSOFTWARE\eMercurial\fP
+.fi
+.sp
+.INDENT 0.0
+.INDENT 3.5
+.sp
+Per\-installation/system configuration files, for the system on
+which Mercurial is running. Options in these files apply to all
+Mercurial commands executed by any user in any directory. Registry
+keys contain PATH\-like strings, every part of which must reference
+a \fBMercurial.ini\fP file or be a directory where \fB*.rc\fP files will
+be read. Mercurial checks each of these locations in the specified
+order until one or more configuration files are detected.
+.UNINDENT
+.UNINDENT
+.SH SYNTAX
+.sp
+A configuration file consists of sections, led by a \fB[section]\fP header
+and followed by \fBname = value\fP entries (sometimes called
+\fBconfiguration keys\fP):
+.sp
+.nf
+.ft C
+[spam]
+eggs=ham
+green=
+ eggs
+.ft P
+.fi
+.sp
+Each line contains one entry. If the lines that follow are indented,
+they are treated as continuations of that entry. Leading whitespace is
+removed from values. Empty lines are skipped. Lines beginning with
+\fB#\fP or \fB;\fP are ignored and may be used to provide comments.
+.sp
+Configuration keys can be set multiple times, in which case Mercurial
+will use the value that was configured last. As an example:
+.sp
+.nf
+.ft C
+[spam]
+eggs=large
+ham=serrano
+eggs=small
+.ft P
+.fi
+.sp
+This would set the configuration key named \fBeggs\fP to \fBsmall\fP.
+.sp
+It is also possible to define a section multiple times. A section can
+be redefined on the same and/or on different configuration files. For
+example:
+.sp
+.nf
+.ft C
+[foo]
+eggs=large
+ham=serrano
+eggs=small
+
+[bar]
+eggs=ham
+green=
+ eggs
+
+[foo]
+ham=prosciutto
+eggs=medium
+bread=toasted
+.ft P
+.fi
+.sp
+This would set the \fBeggs\fP, \fBham\fP, and \fBbread\fP configuration keys
+of the \fBfoo\fP section to \fBmedium\fP, \fBprosciutto\fP, and \fBtoasted\fP,
+respectively. As you can see there only thing that matters is the last
+value that was set for each of the configuration keys.
+.sp
+If a configuration key is set multiple times in different
+configuration files the final value will depend on the order in which
+the different configuration files are read, with settings from earlier
+paths overriding later ones as described on the \fBFiles\fP section
+above.
+.sp
+A line of the form \fB%include file\fP will include \fBfile\fP into the
+current configuration file. The inclusion is recursive, which means
+that included files can include other files. Filenames are relative to
+the configuration file in which the \fB%include\fP directive is found.
+Environment variables and \fB~user\fP constructs are expanded in
+\fBfile\fP. This lets you do something like:
+.sp
+.nf
+.ft C
+%include ~/.hgrc.d/$HOST.rc
+.ft P
+.fi
+.sp
+to include a different configuration file on each computer you use.
+.sp
+A line with \fB%unset name\fP will remove \fBname\fP from the current
+section, if it has been set previously.
+.sp
+The values are either free\-form text strings, lists of text strings,
+or Boolean values. Boolean values can be set to true using any of "1",
+"yes", "true", or "on" and to false using "0", "no", "false", or "off"
+(all case insensitive).
+.sp
+List values are separated by whitespace or comma, except when values are
+placed in double quotation marks:
+.sp
+.nf
+.ft C
+allow_read = "John Doe, PhD", brian, betty
+.ft P
+.fi
+.sp
+Quotation marks can be escaped by prefixing them with a backslash. Only
+quotation marks at the beginning of a word is counted as a quotation
+(e.g., \fBfoo"bar baz\fP is the list of \fBfoo"bar\fP and \fBbaz\fP).
+.SH SECTIONS
+.sp
+This section describes the different sections that may appear in a
+Mercurial configuration file, the purpose of each section, its possible
+keys, and their possible values.
+.SS \fBalias\fP
+.sp
+Defines command aliases.
+Aliases allow you to define your own commands in terms of other
+commands (or aliases), optionally including arguments. Positional
+arguments in the form of \fB$1\fP, \fB$2\fP, etc in the alias definition
+are expanded by Mercurial before execution. Positional arguments not
+already used by \fB$N\fP in the definition are put at the end of the
+command to be executed.
+.sp
+Alias definitions consist of lines of the form:
+.sp
+.nf
+.ft C
+<alias> = <command> [<argument>]...
+.ft P
+.fi
+.sp
+For example, this definition:
+.sp
+.nf
+.ft C
+latest = log \-\-limit 5
+.ft P
+.fi
+.sp
+creates a new command \fBlatest\fP that shows only the five most recent
+changesets. You can define subsequent aliases using earlier ones:
+.sp
+.nf
+.ft C
+stable5 = latest \-b stable
+.ft P
+.fi
+.IP Note
+.
+It is possible to create aliases with the same names as
+existing commands, which will then override the original
+definitions. This is almost always a bad idea!
+.RE
+.sp
+An alias can start with an exclamation point (\fB!\fP) to make it a
+shell alias. A shell alias is executed with the shell and will let you
+run arbitrary commands. As an example,
+.sp
+.nf
+.ft C
+echo = !echo $@
+.ft P
+.fi
+.sp
+will let you do \fBhg echo foo\fP to have \fBfoo\fP printed in your
+terminal. A better example might be:
+.sp
+.nf
+.ft C
+purge = !$HG status \-\-no\-status \-\-unknown \-0 | xargs \-0 rm
+.ft P
+.fi
+.sp
+which will make \fBhg purge\fP delete all unknown files in the
+repository in the same manner as the purge extension.
+.sp
+Positional arguments like \fB$1\fP, \fB$2\fP, etc. in the alias definition
+expand to the command arguments. Unmatched arguments are
+removed. \fB$0\fP expands to the alias name and \fB$@\fP expands to all
+arguments separated by a space. These expansions happen before the
+command is passed to the shell.
+.sp
+Shell aliases are executed in an environment where \fB$HG\fP expands to
+the path of the Mercurial that was used to execute the alias. This is
+useful when you want to call further Mercurial commands in a shell
+alias, as was done above for the purge alias. In addition,
+\fB$HG_ARGS\fP expands to the arguments given to Mercurial. In the \fBhg
+echo foo\fP call above, \fB$HG_ARGS\fP would expand to \fBecho foo\fP.
+.IP Note
+.
+Some global configuration options such as \fB\-R\fP are
+processed before shell aliases and will thus not be passed to
+aliases.
+.RE
+.SS \fBannotate\fP
+.sp
+Settings used when displaying file annotations. All values are
+Booleans and default to False. See \fBdiff\fP section for related
+options for the diff command.
+.INDENT 0.0
+.TP
+.B \fBignorews\fP
+.sp
+Ignore white space when comparing lines.
+.TP
+.B \fBignorewsamount\fP
+.sp
+Ignore changes in the amount of white space.
+.TP
+.B \fBignoreblanklines\fP
+.sp
+Ignore changes whose lines are all blank.
+.UNINDENT
+.SS \fBauth\fP
+.sp
+Authentication credentials for HTTP authentication. This section
+allows you to store usernames and passwords for use when logging
+\fIinto\fP HTTP servers. See the \fB[web]\fP configuration section if
+you want to configure \fIwho\fP can login to your HTTP server.
+.sp
+Each line has the following format:
+.sp
+.nf
+.ft C
+<name>.<argument> = <value>
+.ft P
+.fi
+.sp
+where \fB<name>\fP is used to group arguments into authentication
+entries. Example:
+.sp
+.nf
+.ft C
+foo.prefix = hg.intevation.org/mercurial
+foo.username = foo
+foo.password = bar
+foo.schemes = http https
+
+bar.prefix = secure.example.org
+bar.key = path/to/file.key
+bar.cert = path/to/file.cert
+bar.schemes = https
+.ft P
+.fi
+.sp
+Supported arguments:
+.INDENT 0.0
+.TP
+.B \fBprefix\fP
+.sp
+Either \fB*\fP or a URI prefix with or without the scheme part.
+The authentication entry with the longest matching prefix is used
+(where \fB*\fP matches everything and counts as a match of length
+1). If the prefix doesn\(aqt include a scheme, the match is performed
+against the URI with its scheme stripped as well, and the schemes
+argument, q.v., is then subsequently consulted.
+.TP
+.B \fBusername\fP
+.sp
+Optional. Username to authenticate with. If not given, and the
+remote site requires basic or digest authentication, the user will
+be prompted for it. Environment variables are expanded in the
+username letting you do \fBfoo.username = $USER\fP. If the URI
+includes a username, only \fB[auth]\fP entries with a matching
+username or without a username will be considered.
+.TP
+.B \fBpassword\fP
+.sp
+Optional. Password to authenticate with. If not given, and the
+remote site requires basic or digest authentication, the user
+will be prompted for it.
+.TP
+.B \fBkey\fP
+.sp
+Optional. PEM encoded client certificate key file. Environment
+variables are expanded in the filename.
+.TP
+.B \fBcert\fP
+.sp
+Optional. PEM encoded client certificate chain file. Environment
+variables are expanded in the filename.
+.TP
+.B \fBschemes\fP
+.sp
+Optional. Space separated list of URI schemes to use this
+authentication entry with. Only used if the prefix doesn\(aqt include
+a scheme. Supported schemes are http and https. They will match
+static\-http and static\-https respectively, as well.
+Default: https.
+.UNINDENT
+.sp
+If no suitable authentication entry is found, the user is prompted
+for credentials as usual if required by the remote.
+.SS \fBdecode/encode\fP
+.sp
+Filters for transforming files on checkout/checkin. This would
+typically be used for newline processing or other
+localization/canonicalization of files.
+.sp
+Filters consist of a filter pattern followed by a filter command.
+Filter patterns are globs by default, rooted at the repository root.
+For example, to match any file ending in \fB.txt\fP in the root
+directory only, use the pattern \fB*.txt\fP. To match any file ending
+in \fB.c\fP anywhere in the repository, use the pattern \fB**.c\fP.
+For each file only the first matching filter applies.
+.sp
+The filter command can start with a specifier, either \fBpipe:\fP or
+\fBtempfile:\fP. If no specifier is given, \fBpipe:\fP is used by default.
+.sp
+A \fBpipe:\fP command must accept data on stdin and return the transformed
+data on stdout.
+.sp
+Pipe example:
+.sp
+.nf
+.ft C
+[encode]
+# uncompress gzip files on checkin to improve delta compression
+# note: not necessarily a good idea, just an example
+*.gz = pipe: gunzip
+
+[decode]
+# recompress gzip files when writing them to the working dir (we
+# can safely omit "pipe:", because it\(aqs the default)
+*.gz = gzip
+.ft P
+.fi
+.sp
+A \fBtempfile:\fP command is a template. The string \fBINFILE\fP is replaced
+with the name of a temporary file that contains the data to be
+filtered by the command. The string \fBOUTFILE\fP is replaced with the name
+of an empty temporary file, where the filtered data must be written by
+the command.
+.IP Note
+.
+The tempfile mechanism is recommended for Windows systems,
+where the standard shell I/O redirection operators often have
+strange effects and may corrupt the contents of your files.
+.RE
+.sp
+This filter mechanism is used internally by the \fBeol\fP extension to
+translate line ending characters between Windows (CRLF) and Unix (LF)
+format. We suggest you use the \fBeol\fP extension for convenience.
+.SS \fBdefaults\fP
+.sp
+(defaults are deprecated. Don\(aqt use them. Use aliases instead)
+.sp
+Use the \fB[defaults]\fP section to define command defaults, i.e. the
+default options/arguments to pass to the specified commands.
+.sp
+The following example makes \%\fBhg log\fP\: run in verbose mode, and
+\%\fBhg status\fP\: show only the modified files, by default:
+.sp
+.nf
+.ft C
+[defaults]
+log = \-v
+status = \-m
+.ft P
+.fi
+.sp
+The actual commands, instead of their aliases, must be used when
+defining command defaults. The command defaults will also be applied
+to the aliases of the commands defined.
+.SS \fBdiff\fP
+.sp
+Settings used when displaying diffs. Everything except for \fBunified\fP
+is a Boolean and defaults to False. See \fBannotate\fP section for
+related options for the annotate command.
+.INDENT 0.0
+.TP
+.B \fBgit\fP
+.sp
+Use git extended diff format.
+.TP
+.B \fBnodates\fP
+.sp
+Don\(aqt include dates in diff headers.
+.TP
+.B \fBshowfunc\fP
+.sp
+Show which function each change is in.
+.TP
+.B \fBignorews\fP
+.sp
+Ignore white space when comparing lines.
+.TP
+.B \fBignorewsamount\fP
+.sp
+Ignore changes in the amount of white space.
+.TP
+.B \fBignoreblanklines\fP
+.sp
+Ignore changes whose lines are all blank.
+.TP
+.B \fBunified\fP
+.sp
+Number of lines of context to show.
+.UNINDENT
+.SS \fBemail\fP
+.sp
+Settings for extensions that send email messages.
+.INDENT 0.0
+.TP
+.B \fBfrom\fP
+.sp
+Optional. Email address to use in "From" header and SMTP envelope
+of outgoing messages.
+.TP
+.B \fBto\fP
+.sp
+Optional. Comma\-separated list of recipients\(aq email addresses.
+.TP
+.B \fBcc\fP
+.sp
+Optional. Comma\-separated list of carbon copy recipients\(aq
+email addresses.
+.TP
+.B \fBbcc\fP
+.sp
+Optional. Comma\-separated list of blind carbon copy recipients\(aq
+email addresses.
+.TP
+.B \fBmethod\fP
+.sp
+Optional. Method to use to send email messages. If value is \fBsmtp\fP
+(default), use SMTP (see the \fB[smtp]\fP section for configuration).
+Otherwise, use as name of program to run that acts like sendmail
+(takes \fB\-f\fP option for sender, list of recipients on command line,
+message on stdin). Normally, setting this to \fBsendmail\fP or
+\fB/usr/sbin/sendmail\fP is enough to use sendmail to send messages.
+.TP
+.B \fBcharsets\fP
+.sp
+Optional. Comma\-separated list of character sets considered
+convenient for recipients. Addresses, headers, and parts not
+containing patches of outgoing messages will be encoded in the
+first character set to which conversion from local encoding
+(\fB$HGENCODING\fP, \fBui.fallbackencoding\fP) succeeds. If correct
+conversion fails, the text in question is sent as is. Defaults to
+empty (explicit) list.
+.sp
+Order of outgoing email character sets:
+.INDENT 7.0
+.IP 1. 3
+.
+\fBus\-ascii\fP: always first, regardless of settings
+.IP 2. 3
+.
+\fBemail.charsets\fP: in order given by user
+.IP 3. 3
+.
+\fBui.fallbackencoding\fP: if not in email.charsets
+.IP 4. 3
+.
+\fB$HGENCODING\fP: if not in email.charsets
+.IP 5. 3
+.
+\fButf\-8\fP: always last, regardless of settings
+.UNINDENT
+.UNINDENT
+.sp
+Email example:
+.sp
+.nf
+.ft C
+[email]
+from = Joseph User <joe.user@example.com>
+method = /usr/sbin/sendmail
+# charsets for western Europeans
+# us\-ascii, utf\-8 omitted, as they are tried first and last
+charsets = iso\-8859\-1, iso\-8859\-15, windows\-1252
+.ft P
+.fi
+.SS \fBextensions\fP
+.sp
+Mercurial has an extension mechanism for adding new features. To
+enable an extension, create an entry for it in this section.
+.sp
+If you know that the extension is already in Python\(aqs search path,
+you can give the name of the module, followed by \fB=\fP, with nothing
+after the \fB=\fP.
+.sp
+Otherwise, give a name that you choose, followed by \fB=\fP, followed by
+the path to the \fB.py\fP file (including the file name extension) that
+defines the extension.
+.sp
+To explicitly disable an extension that is enabled in an hgrc of
+broader scope, prepend its path with \fB!\fP, as in \fBfoo = !/ext/path\fP
+or \fBfoo = !\fP when path is not supplied.
+.sp
+Example for \fB~/.hgrc\fP:
+.sp
+.nf
+.ft C
+[extensions]
+# (the mq extension will get loaded from Mercurial\(aqs path)
+mq =
+# (this extension will get loaded from the file specified)
+myfeature = ~/.hgext/myfeature.py
+.ft P
+.fi
+.SS \fBformat\fP
+.INDENT 0.0
+.TP
+.B \fBusestore\fP
+.sp
+Enable or disable the "store" repository format which improves
+compatibility with systems that fold case or otherwise mangle
+filenames. Enabled by default. Disabling this option will allow
+you to store longer filenames in some situations at the expense of
+compatibility and ensures that the on\-disk format of newly created
+repositories will be compatible with Mercurial before version 0.9.4.
+.TP
+.B \fBusefncache\fP
+.sp
+Enable or disable the "fncache" repository format which enhances
+the "store" repository format (which has to be enabled to use
+fncache) to allow longer filenames and avoids using Windows
+reserved names, e.g. "nul". Enabled by default. Disabling this
+option ensures that the on\-disk format of newly created
+repositories will be compatible with Mercurial before version 1.1.
+.TP
+.B \fBdotencode\fP
+.sp
+Enable or disable the "dotencode" repository format which enhances
+the "fncache" repository format (which has to be enabled to use
+dotencode) to avoid issues with filenames starting with ._ on
+Mac OS X and spaces on Windows. Enabled by default. Disabling this
+option ensures that the on\-disk format of newly created
+repositories will be compatible with Mercurial before version 1.7.
+.UNINDENT
+.SS \fBgraph\fP
+.sp
+Web graph view configuration. This section let you change graph
+elements display properties by branches, for instance to make the
+\fBdefault\fP branch stand out.
+.sp
+Each line has the following format:
+.sp
+.nf
+.ft C
+<branch>.<argument> = <value>
+.ft P
+.fi
+.sp
+where \fB<branch>\fP is the name of the branch being
+customized. Example:
+.sp
+.nf
+.ft C
+[graph]
+# 2px width
+default.width = 2
+# red color
+default.color = FF0000
+.ft P
+.fi
+.sp
+Supported arguments:
+.INDENT 0.0
+.TP
+.B \fBwidth\fP
+.sp
+Set branch edges width in pixels.
+.TP
+.B \fBcolor\fP
+.sp
+Set branch edges color in hexadecimal RGB notation.
+.UNINDENT
+.SS \fBhooks\fP
+.sp
+Commands or Python functions that get automatically executed by
+various actions such as starting or finishing a commit. Multiple
+hooks can be run for the same action by appending a suffix to the
+action. Overriding a site\-wide hook can be done by changing its
+value or setting it to an empty string. Hooks can be prioritized
+by adding a prefix of \fBpriority\fP to the hook name on a new line
+and setting the priority. The default priority is 0 if
+not specified.
+.sp
+Example \fB.hg/hgrc\fP:
+.sp
+.nf
+.ft C
+[hooks]
+# update working directory after adding changesets
+changegroup.update = hg update
+# do not use the site\-wide hook
+incoming =
+incoming.email = /my/email/hook
+incoming.autobuild = /my/build/hook
+# force autobuild hook to run before other incoming hooks
+priority.incoming.autobuild = 1
+.ft P
+.fi
+.sp
+Most hooks are run with environment variables set that give useful
+additional information. For each hook below, the environment
+variables it is passed are listed with names of the form \fB$HG_foo\fP.
+.INDENT 0.0
+.TP
+.B \fBchangegroup\fP
+.sp
+Run after a changegroup has been added via push, pull or unbundle.
+ID of the first new changeset is in \fB$HG_NODE\fP. URL from which
+changes came is in \fB$HG_URL\fP.
+.TP
+.B \fBcommit\fP
+.sp
+Run after a changeset has been created in the local repository. ID
+of the newly created changeset is in \fB$HG_NODE\fP. Parent changeset
+IDs are in \fB$HG_PARENT1\fP and \fB$HG_PARENT2\fP.
+.TP
+.B \fBincoming\fP
+.sp
+Run after a changeset has been pulled, pushed, or unbundled into
+the local repository. The ID of the newly arrived changeset is in
+\fB$HG_NODE\fP. URL that was source of changes came is in \fB$HG_URL\fP.
+.TP
+.B \fBoutgoing\fP
+.sp
+Run after sending changes from local repository to another. ID of
+first changeset sent is in \fB$HG_NODE\fP. Source of operation is in
+\fB$HG_SOURCE\fP; see "preoutgoing" hook for description.
+.TP
+.B \fBpost\-<command>\fP
+.sp
+Run after successful invocations of the associated command. The
+contents of the command line are passed as \fB$HG_ARGS\fP and the result
+code in \fB$HG_RESULT\fP. Parsed command line arguments are passed as
+\fB$HG_PATS\fP and \fB$HG_OPTS\fP. These contain string representations of
+the python data internally passed to <command>. \fB$HG_OPTS\fP is a
+dictionary of options (with unspecified options set to their defaults).
+\fB$HG_PATS\fP is a list of arguments. Hook failure is ignored.
+.TP
+.B \fBpre\-<command>\fP
+.sp
+Run before executing the associated command. The contents of the
+command line are passed as \fB$HG_ARGS\fP. Parsed command line arguments
+are passed as \fB$HG_PATS\fP and \fB$HG_OPTS\fP. These contain string
+representations of the data internally passed to <command>. \fB$HG_OPTS\fP
+is a dictionary of options (with unspecified options set to their
+defaults). \fB$HG_PATS\fP is a list of arguments. If the hook returns
+failure, the command doesn\(aqt execute and Mercurial returns the failure
+code.
+.TP
+.B \fBprechangegroup\fP
+.sp
+Run before a changegroup is added via push, pull or unbundle. Exit
+status 0 allows the changegroup to proceed. Non\-zero status will
+cause the push, pull or unbundle to fail. URL from which changes
+will come is in \fB$HG_URL\fP.
+.TP
+.B \fBprecommit\fP
+.sp
+Run before starting a local commit. Exit status 0 allows the
+commit to proceed. Non\-zero status will cause the commit to fail.
+Parent changeset IDs are in \fB$HG_PARENT1\fP and \fB$HG_PARENT2\fP.
+.TP
+.B \fBprelistkeys\fP
+.sp
+Run before listing pushkeys (like bookmarks) in the
+repository. Non\-zero status will cause failure. The key namespace is
+in \fB$HG_NAMESPACE\fP.
+.TP
+.B \fBpreoutgoing\fP
+.sp
+Run before collecting changes to send from the local repository to
+another. Non\-zero status will cause failure. This lets you prevent
+pull over HTTP or SSH. Also prevents against local pull, push
+(outbound) or bundle commands, but not effective, since you can
+just copy files instead then. Source of operation is in
+\fB$HG_SOURCE\fP. If "serve", operation is happening on behalf of remote
+SSH or HTTP repository. If "push", "pull" or "bundle", operation
+is happening on behalf of repository on same system.
+.TP
+.B \fBprepushkey\fP
+.sp
+Run before a pushkey (like a bookmark) is added to the
+repository. Non\-zero status will cause the key to be rejected. The
+key namespace is in \fB$HG_NAMESPACE\fP, the key is in \fB$HG_KEY\fP,
+the old value (if any) is in \fB$HG_OLD\fP, and the new value is in
+\fB$HG_NEW\fP.
+.TP
+.B \fBpretag\fP
+.sp
+Run before creating a tag. Exit status 0 allows the tag to be
+created. Non\-zero status will cause the tag to fail. ID of
+changeset to tag is in \fB$HG_NODE\fP. Name of tag is in \fB$HG_TAG\fP. Tag is
+local if \fB$HG_LOCAL=1\fP, in repository if \fB$HG_LOCAL=0\fP.
+.TP
+.B \fBpretxnchangegroup\fP
+.sp
+Run after a changegroup has been added via push, pull or unbundle,
+but before the transaction has been committed. Changegroup is
+visible to hook program. This lets you validate incoming changes
+before accepting them. Passed the ID of the first new changeset in
+\fB$HG_NODE\fP. Exit status 0 allows the transaction to commit. Non\-zero
+status will cause the transaction to be rolled back and the push,
+pull or unbundle will fail. URL that was source of changes is in
+\fB$HG_URL\fP.
+.TP
+.B \fBpretxncommit\fP
+.sp
+Run after a changeset has been created but the transaction not yet
+committed. Changeset is visible to hook program. This lets you
+validate commit message and changes. Exit status 0 allows the
+commit to proceed. Non\-zero status will cause the transaction to
+be rolled back. ID of changeset is in \fB$HG_NODE\fP. Parent changeset
+IDs are in \fB$HG_PARENT1\fP and \fB$HG_PARENT2\fP.
+.TP
+.B \fBpreupdate\fP
+.sp
+Run before updating the working directory. Exit status 0 allows
+the update to proceed. Non\-zero status will prevent the update.
+Changeset ID of first new parent is in \fB$HG_PARENT1\fP. If merge, ID
+of second new parent is in \fB$HG_PARENT2\fP.
+.TP
+.B \fBlistkeys\fP
+.sp
+Run after listing pushkeys (like bookmarks) in the repository. The
+key namespace is in \fB$HG_NAMESPACE\fP. \fB$HG_VALUES\fP is a
+dictionary containing the keys and values.
+.TP
+.B \fBpushkey\fP
+.sp
+Run after a pushkey (like a bookmark) is added to the
+repository. The key namespace is in \fB$HG_NAMESPACE\fP, the key is in
+\fB$HG_KEY\fP, the old value (if any) is in \fB$HG_OLD\fP, and the new
+value is in \fB$HG_NEW\fP.
+.TP
+.B \fBtag\fP
+.sp
+Run after a tag is created. ID of tagged changeset is in \fB$HG_NODE\fP.
+Name of tag is in \fB$HG_TAG\fP. Tag is local if \fB$HG_LOCAL=1\fP, in
+repository if \fB$HG_LOCAL=0\fP.
+.TP
+.B \fBupdate\fP
+.sp
+Run after updating the working directory. Changeset ID of first
+new parent is in \fB$HG_PARENT1\fP. If merge, ID of second new parent is
+in \fB$HG_PARENT2\fP. If the update succeeded, \fB$HG_ERROR=0\fP. If the
+update failed (e.g. because conflicts not resolved), \fB$HG_ERROR=1\fP.
+.UNINDENT
+.IP Note
+.
+It is generally better to use standard hooks rather than the
+generic pre\- and post\- command hooks as they are guaranteed to be
+called in the appropriate contexts for influencing transactions.
+Also, hooks like "commit" will be called in all contexts that
+generate a commit (e.g. tag) and not just the commit command.
+.RE
+.IP Note
+.
+Environment variables with empty values may not be passed to
+hooks on platforms such as Windows. As an example, \fB$HG_PARENT2\fP
+will have an empty value under Unix\-like platforms for non\-merge
+changesets, while it will not be available at all under Windows.
+.RE
+.sp
+The syntax for Python hooks is as follows:
+.sp
+.nf
+.ft C
+hookname = python:modulename.submodule.callable
+hookname = python:/path/to/python/module.py:callable
+.ft P
+.fi
+.sp
+Python hooks are run within the Mercurial process. Each hook is
+called with at least three keyword arguments: a ui object (keyword
+\fBui\fP), a repository object (keyword \fBrepo\fP), and a \fBhooktype\fP
+keyword that tells what kind of hook is used. Arguments listed as
+environment variables above are passed as keyword arguments, with no
+\fBHG_\fP prefix, and names in lower case.
+.sp
+If a Python hook returns a "true" value or raises an exception, this
+is treated as a failure.
+.SS \fBhostfingerprints\fP
+.sp
+Fingerprints of the certificates of known HTTPS servers.
+A HTTPS connection to a server with a fingerprint configured here will
+only succeed if the servers certificate matches the fingerprint.
+This is very similar to how ssh known hosts works.
+The fingerprint is the SHA\-1 hash value of the DER encoded certificate.
+The CA chain and web.cacerts is not used for servers with a fingerprint.
+.sp
+For example:
+.sp
+.nf
+.ft C
+[hostfingerprints]
+hg.intevation.org = 38:76:52:7c:87:26:9a:8f:4a:f8:d3:de:08:45:3b:ea:d6:4b:ee:cc
+.ft P
+.fi
+.sp
+This feature is only supported when using Python 2.6 or later.
+.SS \fBhttp_proxy\fP
+.sp
+Used to access web\-based Mercurial repositories through a HTTP
+proxy.
+.INDENT 0.0
+.TP
+.B \fBhost\fP
+.sp
+Host name and (optional) port of the proxy server, for example
+"myproxy:8000".
+.TP
+.B \fBno\fP
+.sp
+Optional. Comma\-separated list of host names that should bypass
+the proxy.
+.TP
+.B \fBpasswd\fP
+.sp
+Optional. Password to authenticate with at the proxy server.
+.TP
+.B \fBuser\fP
+.sp
+Optional. User name to authenticate with at the proxy server.
+.TP
+.B \fBalways\fP
+.sp
+Optional. Always use the proxy, even for localhost and any entries
+in \fBhttp_proxy.no\fP. True or False. Default: False.
+.UNINDENT
+.SS \fBmerge\-patterns\fP
+.sp
+This section specifies merge tools to associate with particular file
+patterns. Tools matched here will take precedence over the default
+merge tool. Patterns are globs by default, rooted at the repository
+root.
+.sp
+Example:
+.sp
+.nf
+.ft C
+[merge\-patterns]
+**.c = kdiff3
+**.jpg = myimgmerge
+.ft P
+.fi
+.SS \fBmerge\-tools\fP
+.sp
+This section configures external merge tools to use for file\-level
+merges.
+.sp
+Example \fB~/.hgrc\fP:
+.sp
+.nf
+.ft C
+[merge\-tools]
+# Override stock tool location
+kdiff3.executable = ~/bin/kdiff3
+# Specify command line
+kdiff3.args = $base $local $other \-o $output
+# Give higher priority
+kdiff3.priority = 1
+
+# Define new tool
+myHtmlTool.args = \-m $local $other $base $output
+myHtmlTool.regkey = Software\eFooSoftware\eHtmlMerge
+myHtmlTool.priority = 1
+.ft P
+.fi
+.sp
+Supported arguments:
+.INDENT 0.0
+.TP
+.B \fBpriority\fP
+.sp
+The priority in which to evaluate this tool.
+Default: 0.
+.TP
+.B \fBexecutable\fP
+.sp
+Either just the name of the executable or its pathname. On Windows,
+the path can use environment variables with ${ProgramFiles} syntax.
+Default: the tool name.
+.TP
+.B \fBargs\fP
+.sp
+The arguments to pass to the tool executable. You can refer to the
+files being merged as well as the output file through these
+variables: \fB$base\fP, \fB$local\fP, \fB$other\fP, \fB$output\fP.
+Default: \fB$local $base $other\fP
+.TP
+.B \fBpremerge\fP
+.sp
+Attempt to run internal non\-interactive 3\-way merge tool before
+launching external tool. Options are \fBtrue\fP, \fBfalse\fP, or \fBkeep\fP
+to leave markers in the file if the premerge fails.
+Default: True
+.TP
+.B \fBbinary\fP
+.sp
+This tool can merge binary files. Defaults to False, unless tool
+was selected by file pattern match.
+.TP
+.B \fBsymlink\fP
+.sp
+This tool can merge symlinks. Defaults to False, even if tool was
+selected by file pattern match.
+.TP
+.B \fBcheck\fP
+.sp
+A list of merge success\-checking options:
+.INDENT 7.0
+.TP
+.B \fBchanged\fP
+.sp
+Ask whether merge was successful when the merged file shows no changes.
+.TP
+.B \fBconflicts\fP
+.sp
+Check whether there are conflicts even though the tool reported success.
+.TP
+.B \fBprompt\fP
+.sp
+Always prompt for merge success, regardless of success reported by tool.
+.UNINDENT
+.TP
+.B \fBcheckchanged\fP
+.sp
+True is equivalent to \fBcheck = changed\fP.
+Default: False
+.TP
+.B \fBcheckconflicts\fP
+.sp
+True is equivalent to \fBcheck = conflicts\fP.
+Default: False
+.TP
+.B \fBfixeol\fP
+.sp
+Attempt to fix up EOL changes caused by the merge tool.
+Default: False
+.TP
+.B \fBgui\fP
+.sp
+This tool requires a graphical interface to run. Default: False
+.TP
+.B \fBregkey\fP
+.sp
+Windows registry key which describes install location of this
+tool. Mercurial will search for this key first under
+\fBHKEY_CURRENT_USER\fP and then under \fBHKEY_LOCAL_MACHINE\fP.
+Default: None
+.TP
+.B \fBregkeyalt\fP
+.sp
+An alternate Windows registry key to try if the first key is not
+found. The alternate key uses the same \fBregname\fP and \fBregappend\fP
+semantics of the primary key. The most common use for this key
+is to search for 32bit applications on 64bit operating systems.
+Default: None
+.TP
+.B \fBregname\fP
+.sp
+Name of value to read from specified registry key. Defaults to the
+unnamed (default) value.
+.TP
+.B \fBregappend\fP
+.sp
+String to append to the value read from the registry, typically
+the executable name of the tool.
+Default: None
+.UNINDENT
+.SS \fBpatch\fP
+.sp
+Settings used when applying patches, for instance through the \(aqimport\(aq
+command or with Mercurial Queues extension.
+.INDENT 0.0
+.TP
+.B \fBeol\fP
+.sp
+When set to \(aqstrict\(aq patch content and patched files end of lines
+are preserved. When set to \fBlf\fP or \fBcrlf\fP, both files end of
+lines are ignored when patching and the result line endings are
+normalized to either LF (Unix) or CRLF (Windows). When set to
+\fBauto\fP, end of lines are again ignored while patching but line
+endings in patched files are normalized to their original setting
+on a per\-file basis. If target file does not exist or has no end
+of line, patch line endings are preserved.
+Default: strict.
+.UNINDENT
+.SS \fBpaths\fP
+.sp
+Assigns symbolic names to repositories. The left side is the
+symbolic name, and the right gives the directory or URL that is the
+location of the repository. Default paths can be declared by setting
+the following entries.
+.INDENT 0.0
+.TP
+.B \fBdefault\fP
+.sp
+Directory or URL to use when pulling if no source is specified.
+Default is set to repository from which the current repository was
+cloned.
+.TP
+.B \fBdefault\-push\fP
+.sp
+Optional. Directory or URL to use when pushing if no destination
+is specified.
+.UNINDENT
+.SS \fBphases\fP
+.sp
+Specifies default handling of phases. See \%\fBhg help phases\fP\: for more
+information about working with phases.
+.INDENT 0.0
+.TP
+.B \fBpublish\fP
+.sp
+Controls draft phase behavior when working as a server. When true,
+pushed changesets are set to public in both client and server and
+pulled or cloned changesets are set to public in the client.
+Default: True
+.TP
+.B \fBnew\-commit\fP
+.sp
+Phase of newly\-created commits.
+Default: draft
+.UNINDENT
+.SS \fBprofiling\fP
+.sp
+Specifies profiling type, format, and file output. Two profilers are
+supported: an instrumenting profiler (named \fBls\fP), and a sampling
+profiler (named \fBstat\fP).
+.sp
+In this section description, \(aqprofiling data\(aq stands for the raw data
+collected during profiling, while \(aqprofiling report\(aq stands for a
+statistical text report generated from the profiling data. The
+profiling is done using lsprof.
+.INDENT 0.0
+.TP
+.B \fBtype\fP
+.sp
+The type of profiler to use.
+Default: ls.
+.INDENT 7.0
+.TP
+.B \fBls\fP
+.sp
+Use Python\(aqs built\-in instrumenting profiler. This profiler
+works on all platforms, but each line number it reports is the
+first line of a function. This restriction makes it difficult to
+identify the expensive parts of a non\-trivial function.
+.TP
+.B \fBstat\fP
+.sp
+Use a third\-party statistical profiler, statprof. This profiler
+currently runs only on Unix systems, and is most useful for
+profiling commands that run for longer than about 0.1 seconds.
+.UNINDENT
+.TP
+.B \fBformat\fP
+.sp
+Profiling format. Specific to the \fBls\fP instrumenting profiler.
+Default: text.
+.INDENT 7.0
+.TP
+.B \fBtext\fP
+.sp
+Generate a profiling report. When saving to a file, it should be
+noted that only the report is saved, and the profiling data is
+not kept.
+.TP
+.B \fBkcachegrind\fP
+.sp
+Format profiling data for kcachegrind use: when saving to a
+file, the generated file can directly be loaded into
+kcachegrind.
+.UNINDENT
+.TP
+.B \fBfrequency\fP
+.sp
+Sampling frequency. Specific to the \fBstat\fP sampling profiler.
+Default: 1000.
+.TP
+.B \fBoutput\fP
+.sp
+File path where profiling data or report should be saved. If the
+file exists, it is replaced. Default: None, data is printed on
+stderr
+.UNINDENT
+.SS \fBrevsetalias\fP
+.sp
+Alias definitions for revsets. See \%\fBhg help revsets\fP\: for details.
+.SS \fBserver\fP
+.sp
+Controls generic server settings.
+.INDENT 0.0
+.TP
+.B \fBuncompressed\fP
+.sp
+Whether to allow clients to clone a repository using the
+uncompressed streaming protocol. This transfers about 40% more
+data than a regular clone, but uses less memory and CPU on both
+server and client. Over a LAN (100 Mbps or better) or a very fast
+WAN, an uncompressed streaming clone is a lot faster (~10x) than a
+regular clone. Over most WAN connections (anything slower than
+about 6 Mbps), uncompressed streaming is slower, because of the
+extra data transfer overhead. This mode will also temporarily hold
+the write lock while determining what data to transfer.
+Default is True.
+.TP
+.B \fBpreferuncompressed\fP
+.sp
+When set, clients will try to use the uncompressed streaming
+protocol. Default is False.
+.TP
+.B \fBvalidate\fP
+.sp
+Whether to validate the completeness of pushed changesets by
+checking that all new file revisions specified in manifests are
+present. Default is False.
+.UNINDENT
+.SS \fBsmtp\fP
+.sp
+Configuration for extensions that need to send email messages.
+.INDENT 0.0
+.TP
+.B \fBhost\fP
+.sp
+Host name of mail server, e.g. "mail.example.com".
+.TP
+.B \fBport\fP
+.sp
+Optional. Port to connect to on mail server. Default: 25.
+.TP
+.B \fBtls\fP
+.sp
+Optional. Method to enable TLS when connecting to mail server: starttls,
+smtps or none. Default: none.
+.TP
+.B \fBusername\fP
+.sp
+Optional. User name for authenticating with the SMTP server.
+Default: none.
+.TP
+.B \fBpassword\fP
+.sp
+Optional. Password for authenticating with the SMTP server. If not
+specified, interactive sessions will prompt the user for a
+password; non\-interactive sessions will fail. Default: none.
+.TP
+.B \fBlocal_hostname\fP
+.sp
+Optional. It\(aqs the hostname that the sender can use to identify
+itself to the MTA.
+.UNINDENT
+.SS \fBsubpaths\fP
+.sp
+Subrepository source URLs can go stale if a remote server changes name
+or becomes temporarily unavailable. This section lets you define
+rewrite rules of the form:
+.sp
+.nf
+.ft C
+<pattern> = <replacement>
+.ft P
+.fi
+.sp
+where \fBpattern\fP is a regular expression matching a subrepository
+source URL and \fBreplacement\fP is the replacement string used to
+rewrite it. Groups can be matched in \fBpattern\fP and referenced in
+\fBreplacements\fP. For instance:
+.sp
+.nf
+.ft C
+http://server/(.*)\-hg/ = http://hg.server/\e1/
+.ft P
+.fi
+.sp
+rewrites \fBhttp://server/foo\-hg/\fP into \fBhttp://hg.server/foo/\fP.
+.sp
+Relative subrepository paths are first made absolute, and the
+rewrite rules are then applied on the full (absolute) path. The rules
+are applied in definition order.
+.SS \fBtrusted\fP
+.sp
+Mercurial will not use the settings in the
+\fB.hg/hgrc\fP file from a repository if it doesn\(aqt belong to a trusted
+user or to a trusted group, as various hgrc features allow arbitrary
+commands to be run. This issue is often encountered when configuring
+hooks or extensions for shared repositories or servers. However,
+the web interface will use some safe settings from the \fB[web]\fP
+section.
+.sp
+This section specifies what users and groups are trusted. The
+current user is always trusted. To trust everybody, list a user or a
+group with name \fB*\fP. These settings must be placed in an
+\fIalready\-trusted file\fP to take effect, such as \fB$HOME/.hgrc\fP of the
+user or service running Mercurial.
+.INDENT 0.0
+.TP
+.B \fBusers\fP
+.sp
+Comma\-separated list of trusted users.
+.TP
+.B \fBgroups\fP
+.sp
+Comma\-separated list of trusted groups.
+.UNINDENT
+.SS \fBui\fP
+.sp
+User interface controls.
+.INDENT 0.0
+.TP
+.B \fBarchivemeta\fP
+.sp
+Whether to include the .hg_archival.txt file containing meta data
+(hashes for the repository base and for tip) in archives created
+by the \%\fBhg archive\fP\: command or downloaded via hgweb.
+Default is True.
+.TP
+.B \fBaskusername\fP
+.sp
+Whether to prompt for a username when committing. If True, and
+neither \fB$HGUSER\fP nor \fB$EMAIL\fP has been specified, then the user will
+be prompted to enter a username. If no username is entered, the
+default \fBUSER@HOST\fP is used instead.
+Default is False.
+.TP
+.B \fBcommitsubrepos\fP
+.sp
+Whether to commit modified subrepositories when committing the
+parent repository. If False and one subrepository has uncommitted
+changes, abort the commit.
+Default is False.
+.TP
+.B \fBdebug\fP
+.sp
+Print debugging information. True or False. Default is False.
+.TP
+.B \fBeditor\fP
+.sp
+The editor to use during a commit. Default is \fB$EDITOR\fP or \fBvi\fP.
+.TP
+.B \fBfallbackencoding\fP
+.sp
+Encoding to try if it\(aqs not possible to decode the changelog using
+UTF\-8. Default is ISO\-8859\-1.
+.TP
+.B \fBignore\fP
+.sp
+A file to read per\-user ignore patterns from. This file should be
+in the same format as a repository\-wide .hgignore file. This
+option supports hook syntax, so if you want to specify multiple
+ignore files, you can do so by setting something like
+\fBignore.other = ~/.hgignore2\fP. For details of the ignore file
+format, see the \fBhgignore(5)\fP man page.
+.TP
+.B \fBinteractive\fP
+.sp
+Allow to prompt the user. True or False. Default is True.
+.TP
+.B \fBlogtemplate\fP
+.sp
+Template string for commands that print changesets.
+.TP
+.B \fBmerge\fP
+.sp
+The conflict resolution program to use during a manual merge.
+For more information on merge tools see \%\fBhg help merge\-tools\fP\:.
+For configuring merge tools see the \fB[merge\-tools]\fP section.
+.TP
+.B \fBportablefilenames\fP
+.sp
+Check for portable filenames. Can be \fBwarn\fP, \fBignore\fP or \fBabort\fP.
+Default is \fBwarn\fP.
+If set to \fBwarn\fP (or \fBtrue\fP), a warning message is printed on POSIX
+platforms, if a file with a non\-portable filename is added (e.g. a file
+with a name that can\(aqt be created on Windows because it contains reserved
+parts like \fBAUX\fP, reserved characters like \fB:\fP, or would cause a case
+collision with an existing file).
+If set to \fBignore\fP (or \fBfalse\fP), no warning is printed.
+If set to \fBabort\fP, the command is aborted.
+On Windows, this configuration option is ignored and the command aborted.
+.TP
+.B \fBquiet\fP
+.sp
+Reduce the amount of output printed. True or False. Default is False.
+.TP
+.B \fBremotecmd\fP
+.sp
+remote command to use for clone/push/pull operations. Default is \fBhg\fP.
+.TP
+.B \fBreportoldssl\fP
+.sp
+Warn if an SSL certificate is unable to be due to using Python
+2.5 or earlier. True or False. Default is True.
+.TP
+.B \fBreport_untrusted\fP
+.sp
+Warn if a \fB.hg/hgrc\fP file is ignored due to not being owned by a
+trusted user or group. True or False. Default is True.
+.TP
+.B \fBslash\fP
+.sp
+Display paths using a slash (\fB/\fP) as the path separator. This
+only makes a difference on systems where the default path
+separator is not the slash character (e.g. Windows uses the
+backslash character (\fB\e\fP)).
+Default is False.
+.TP
+.B \fBssh\fP
+.sp
+command to use for SSH connections. Default is \fBssh\fP.
+.TP
+.B \fBstrict\fP
+.sp
+Require exact command names, instead of allowing unambiguous
+abbreviations. True or False. Default is False.
+.TP
+.B \fBstyle\fP
+.sp
+Name of style to use for command output.
+.TP
+.B \fBtimeout\fP
+.sp
+The timeout used when a lock is held (in seconds), a negative value
+means no timeout. Default is 600.
+.TP
+.B \fBtraceback\fP
+.sp
+Mercurial always prints a traceback when an unknown exception
+occurs. Setting this to True will make Mercurial print a traceback
+on all exceptions, even those recognized by Mercurial (such as
+IOError or MemoryError). Default is False.
+.TP
+.B \fBusername\fP
+.sp
+The committer of a changeset created when running "commit".
+Typically a person\(aqs name and email address, e.g. \fBFred Widget
+<fred@example.com>\fP. Default is \fB$EMAIL\fP or \fBusername@hostname\fP. If
+the username in hgrc is empty, it has to be specified manually or
+in a different hgrc file (e.g. \fB$HOME/.hgrc\fP, if the admin set
+\fBusername =\fP in the system hgrc). Environment variables in the
+username are expanded.
+.TP
+.B \fBverbose\fP
+.sp
+Increase the amount of output printed. True or False. Default is False.
+.UNINDENT
+.SS \fBweb\fP
+.sp
+Web interface configuration. The settings in this section apply to
+both the builtin webserver (started by \%\fBhg serve\fP\:) and the script you
+run through a webserver (\fBhgweb.cgi\fP and the derivatives for FastCGI
+and WSGI).
+.sp
+The Mercurial webserver does no authentication (it does not prompt for
+usernames and passwords to validate \fIwho\fP users are), but it does do
+authorization (it grants or denies access for \fIauthenticated users\fP
+based on settings in this section). You must either configure your
+webserver to do authentication for you, or disable the authorization
+checks.
+.sp
+For a quick setup in a trusted environment, e.g., a private LAN, where
+you want it to accept pushes from anybody, you can use the following
+command line:
+.sp
+.nf
+.ft C
+$ hg \-\-config web.allow_push=* \-\-config web.push_ssl=False serve
+.ft P
+.fi
+.sp
+Note that this will allow anybody to push anything to the server and
+that this should not be used for public servers.
+.sp
+The full set of options is:
+.INDENT 0.0
+.TP
+.B \fBaccesslog\fP
+.sp
+Where to output the access log. Default is stdout.
+.TP
+.B \fBaddress\fP
+.sp
+Interface address to bind to. Default is all.
+.TP
+.B \fBallow_archive\fP
+.sp
+List of archive format (bz2, gz, zip) allowed for downloading.
+Default is empty.
+.TP
+.B \fBallowbz2\fP
+.sp
+(DEPRECATED) Whether to allow .tar.bz2 downloading of repository
+revisions.
+Default is False.
+.TP
+.B \fBallowgz\fP
+.sp
+(DEPRECATED) Whether to allow .tar.gz downloading of repository
+revisions.
+Default is False.
+.TP
+.B \fBallowpull\fP
+.sp
+Whether to allow pulling from the repository. Default is True.
+.TP
+.B \fBallow_push\fP
+.sp
+Whether to allow pushing to the repository. If empty or not set,
+push is not allowed. If the special value \fB*\fP, any remote user can
+push, including unauthenticated users. Otherwise, the remote user
+must have been authenticated, and the authenticated user name must
+be present in this list. The contents of the allow_push list are
+examined after the deny_push list.
+.TP
+.B \fBallow_read\fP
+.sp
+If the user has not already been denied repository access due to
+the contents of deny_read, this list determines whether to grant
+repository access to the user. If this list is not empty, and the
+user is unauthenticated or not present in the list, then access is
+denied for the user. If the list is empty or not set, then access
+is permitted to all users by default. Setting allow_read to the
+special value \fB*\fP is equivalent to it not being set (i.e. access
+is permitted to all users). The contents of the allow_read list are
+examined after the deny_read list.
+.TP
+.B \fBallowzip\fP
+.sp
+(DEPRECATED) Whether to allow .zip downloading of repository
+revisions. Default is False. This feature creates temporary files.
+.TP
+.B \fBbaseurl\fP
+.sp
+Base URL to use when publishing URLs in other locations, so
+third\-party tools like email notification hooks can construct
+URLs. Example: \fBhttp://hgserver/repos/\fP.
+.TP
+.B \fBcacerts\fP
+.sp
+Path to file containing a list of PEM encoded certificate
+authority certificates. Environment variables and \fB~user\fP
+constructs are expanded in the filename. If specified on the
+client, then it will verify the identity of remote HTTPS servers
+with these certificates.
+.sp
+This feature is only supported when using Python 2.6 or later. If you wish
+to use it with earlier versions of Python, install the backported
+version of the ssl library that is available from
+\fBhttp://pypi.python.org\fP.
+.sp
+To disable SSL verification temporarily, specify \fB\-\-insecure\fP from
+command line.
+.sp
+You can use OpenSSL\(aqs CA certificate file if your platform has
+one. On most Linux systems this will be
+\fB/etc/ssl/certs/ca\-certificates.crt\fP. Otherwise you will have to
+generate this file manually. The form must be as follows:
+.sp
+.nf
+.ft C
+\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\-
+\&... (certificate in base64 PEM encoding) ...
+\-\-\-\-\-END CERTIFICATE\-\-\-\-\-
+\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\-
+\&... (certificate in base64 PEM encoding) ...
+\-\-\-\-\-END CERTIFICATE\-\-\-\-\-
+.ft P
+.fi
+.TP
+.B \fBcache\fP
+.sp
+Whether to support caching in hgweb. Defaults to True.
+.TP
+.B \fBcollapse\fP
+.sp
+With \fBdescend\fP enabled, repositories in subdirectories are shown at
+a single level alongside repositories in the current path. With
+\fBcollapse\fP also enabled, repositories residing at a deeper level than
+the current path are grouped behind navigable directory entries that
+lead to the locations of these repositories. In effect, this setting
+collapses each collection of repositories found within a subdirectory
+into a single entry for that subdirectory. Default is False.
+.TP
+.B \fBcomparisoncontext\fP
+.sp
+Number of lines of context to show in side\-by\-side file comparison. If
+negative or the value \fBfull\fP, whole files are shown. Default is 5.
+This setting can be overridden by a \fBcontext\fP request parameter to the
+\fBcomparison\fP command, taking the same values.
+.TP
+.B \fBcontact\fP
+.sp
+Name or email address of the person in charge of the repository.
+Defaults to ui.username or \fB$EMAIL\fP or "unknown" if unset or empty.
+.TP
+.B \fBdeny_push\fP
+.sp
+Whether to deny pushing to the repository. If empty or not set,
+push is not denied. If the special value \fB*\fP, all remote users are
+denied push. Otherwise, unauthenticated users are all denied, and
+any authenticated user name present in this list is also denied. The
+contents of the deny_push list are examined before the allow_push list.
+.TP
+.B \fBdeny_read\fP
+.sp
+Whether to deny reading/viewing of the repository. If this list is
+not empty, unauthenticated users are all denied, and any
+authenticated user name present in this list is also denied access to
+the repository. If set to the special value \fB*\fP, all remote users
+are denied access (rarely needed ;). If deny_read is empty or not set,
+the determination of repository access depends on the presence and
+content of the allow_read list (see description). If both
+deny_read and allow_read are empty or not set, then access is
+permitted to all users by default. If the repository is being
+served via hgwebdir, denied users will not be able to see it in
+the list of repositories. The contents of the deny_read list have
+priority over (are examined before) the contents of the allow_read
+list.
+.TP
+.B \fBdescend\fP
+.sp
+hgwebdir indexes will not descend into subdirectories. Only repositories
+directly in the current path will be shown (other repositories are still
+available from the index corresponding to their containing path).
+.TP
+.B \fBdescription\fP
+.sp
+Textual description of the repository\(aqs purpose or contents.
+Default is "unknown".
+.TP
+.B \fBencoding\fP
+.sp
+Character encoding name. Default is the current locale charset.
+Example: "UTF\-8"
+.TP
+.B \fBerrorlog\fP
+.sp
+Where to output the error log. Default is stderr.
+.TP
+.B \fBguessmime\fP
+.sp
+Control MIME types for raw download of file content.
+Set to True to let hgweb guess the content type from the file
+extension. This will serve HTML files as \fBtext/html\fP and might
+allow cross\-site scripting attacks when serving untrusted
+repositories. Default is False.
+.TP
+.B \fBhidden\fP
+.sp
+Whether to hide the repository in the hgwebdir index.
+Default is False.
+.TP
+.B \fBipv6\fP
+.sp
+Whether to use IPv6. Default is False.
+.TP
+.B \fBlogoimg\fP
+.sp
+File name of the logo image that some templates display on each page.
+The file name is relative to \fBstaticurl\fP. That is, the full path to
+the logo image is "staticurl/logoimg".
+If unset, \fBhglogo.png\fP will be used.
+.TP
+.B \fBlogourl\fP
+.sp
+Base URL to use for logos. If unset, \fBhttp://mercurial.selenic.com/\fP
+will be used.
+.TP
+.B \fBmaxchanges\fP
+.sp
+Maximum number of changes to list on the changelog. Default is 10.
+.TP
+.B \fBmaxfiles\fP
+.sp
+Maximum number of files to list per changeset. Default is 10.
+.TP
+.B \fBmaxshortchanges\fP
+.sp
+Maximum number of changes to list on the shortlog, graph or filelog
+pages. Default is 60.
+.TP
+.B \fBname\fP
+.sp
+Repository name to use in the web interface. Default is current
+working directory.
+.TP
+.B \fBport\fP
+.sp
+Port to listen on. Default is 8000.
+.TP
+.B \fBprefix\fP
+.sp
+Prefix path to serve from. Default is \(aq\(aq (server root).
+.TP
+.B \fBpush_ssl\fP
+.sp
+Whether to require that inbound pushes be transported over SSL to
+prevent password sniffing. Default is True.
+.TP
+.B \fBstaticurl\fP
+.sp
+Base URL to use for static files. If unset, static files (e.g. the
+hgicon.png favicon) will be served by the CGI script itself. Use
+this setting to serve them directly with the HTTP server.
+Example: \fBhttp://hgserver/static/\fP.
+.TP
+.B \fBstripes\fP
+.sp
+How many lines a "zebra stripe" should span in multiline output.
+Default is 1; set to 0 to disable.
+.TP
+.B \fBstyle\fP
+.sp
+Which template map style to use.
+.TP
+.B \fBtemplates\fP
+.sp
+Where to find the HTML templates. Default is install path.
+.UNINDENT
+.SH AUTHOR
+.sp
+Bryan O\(aqSullivan <\%bos@serpentine.com\:>.
+.sp
+Mercurial was written by Matt Mackall <\%mpm@selenic.com\:>.
+.SH SEE ALSO
+.sp
+\%\fBhg\fP(1)\:, \%\fBhgignore\fP(5)\:
+.SH COPYING
+.sp
+This manual page is copyright 2005 Bryan O\(aqSullivan.
+Mercurial is copyright 2005\-2012 Matt Mackall.
+Free use of this software is granted under the terms of the GNU General
+Public License version 2 or any later version.
+.\" Common link and substitution definitions.
+.
+.SH AUTHOR
+Bryan O'Sullivan <bos@serpentine.com>
+
+Organization: Mercurial
+.\" Generated by docutils manpage writer.
+.\"
+.