summaryrefslogtreecommitdiff
path: root/doc/hgrc.5.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/hgrc.5.html')
-rw-r--r--doc/hgrc.5.html1366
1 files changed, 1366 insertions, 0 deletions
diff --git a/doc/hgrc.5.html b/doc/hgrc.5.html
new file mode 100644
index 0000000..c9c0222
--- /dev/null
+++ b/doc/hgrc.5.html
@@ -0,0 +1,1366 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.8.1: http://docutils.sourceforge.net/" />
+<title>hgrc</title>
+<meta name="author" content="Bryan O'Sullivan &lt;bos&#64;serpentine.com&gt;" />
+<meta name="organization" content="Mercurial" />
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+<body>
+<div class="document" id="hgrc">
+<h1 class="title">hgrc</h1>
+<h2 class="subtitle" id="configuration-files-for-mercurial">configuration files for Mercurial</h2>
+<table class="docinfo" frame="void" rules="none">
+<col class="docinfo-name" />
+<col class="docinfo-content" />
+<tbody valign="top">
+<tr><th class="docinfo-name">Author:</th>
+<td>Bryan O'Sullivan &lt;<a class="reference external" href="mailto:bos&#64;serpentine.com">bos&#64;serpentine.com</a>&gt;</td></tr>
+<tr><th class="docinfo-name">Organization:</th>
+<td>Mercurial</td></tr>
+<tr class="field"><th class="docinfo-name">Manual section:</th><td class="field-body">5</td>
+</tr>
+<tr class="field"><th class="docinfo-name">Manual group:</th><td class="field-body">Mercurial Manual</td>
+</tr>
+</tbody>
+</table>
+<div class="contents htmlonly topic" id="contents">
+<p class="topic-title first">Contents</p>
+<ul class="simple">
+<li><a class="reference internal" href="#synopsis" id="id1">Synopsis</a></li>
+<li><a class="reference internal" href="#files" id="id2">Files</a></li>
+<li><a class="reference internal" href="#syntax" id="id3">Syntax</a></li>
+<li><a class="reference internal" href="#sections" id="id4">Sections</a><ul>
+<li><a class="reference internal" href="#alias" id="id5"><tt class="docutils literal">alias</tt></a></li>
+<li><a class="reference internal" href="#annotate" id="id6"><tt class="docutils literal">annotate</tt></a></li>
+<li><a class="reference internal" href="#auth" id="id7"><tt class="docutils literal">auth</tt></a></li>
+<li><a class="reference internal" href="#decode-encode" id="id8"><tt class="docutils literal">decode/encode</tt></a></li>
+<li><a class="reference internal" href="#defaults" id="id9"><tt class="docutils literal">defaults</tt></a></li>
+<li><a class="reference internal" href="#diff" id="id10"><tt class="docutils literal">diff</tt></a></li>
+<li><a class="reference internal" href="#email" id="id11"><tt class="docutils literal">email</tt></a></li>
+<li><a class="reference internal" href="#extensions" id="id12"><tt class="docutils literal">extensions</tt></a></li>
+<li><a class="reference internal" href="#format" id="id13"><tt class="docutils literal">format</tt></a></li>
+<li><a class="reference internal" href="#graph" id="id14"><tt class="docutils literal">graph</tt></a></li>
+<li><a class="reference internal" href="#hooks" id="id15"><tt class="docutils literal">hooks</tt></a></li>
+<li><a class="reference internal" href="#hostfingerprints" id="id16"><tt class="docutils literal">hostfingerprints</tt></a></li>
+<li><a class="reference internal" href="#http-proxy" id="id17"><tt class="docutils literal">http_proxy</tt></a></li>
+<li><a class="reference internal" href="#merge-patterns" id="id18"><tt class="docutils literal"><span class="pre">merge-patterns</span></tt></a></li>
+<li><a class="reference internal" href="#merge-tools" id="id19"><tt class="docutils literal"><span class="pre">merge-tools</span></tt></a></li>
+<li><a class="reference internal" href="#patch" id="id20"><tt class="docutils literal">patch</tt></a></li>
+<li><a class="reference internal" href="#paths" id="id21"><tt class="docutils literal">paths</tt></a></li>
+<li><a class="reference internal" href="#phases" id="id22"><tt class="docutils literal">phases</tt></a></li>
+<li><a class="reference internal" href="#profiling" id="id23"><tt class="docutils literal">profiling</tt></a></li>
+<li><a class="reference internal" href="#revsetalias" id="id24"><tt class="docutils literal">revsetalias</tt></a></li>
+<li><a class="reference internal" href="#server" id="id25"><tt class="docutils literal">server</tt></a></li>
+<li><a class="reference internal" href="#smtp" id="id26"><tt class="docutils literal">smtp</tt></a></li>
+<li><a class="reference internal" href="#subpaths" id="id27"><tt class="docutils literal">subpaths</tt></a></li>
+<li><a class="reference internal" href="#trusted" id="id28"><tt class="docutils literal">trusted</tt></a></li>
+<li><a class="reference internal" href="#ui" id="id29"><tt class="docutils literal">ui</tt></a></li>
+<li><a class="reference internal" href="#web" id="id30"><tt class="docutils literal">web</tt></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#author" id="id31">Author</a></li>
+<li><a class="reference internal" href="#see-also" id="id32">See Also</a></li>
+<li><a class="reference internal" href="#copying" id="id33">Copying</a></li>
+</ul>
+</div>
+<div class="section" id="synopsis">
+<h1><a class="toc-backref" href="#contents">Synopsis</a></h1>
+<p>The Mercurial system uses a set of configuration files to control
+aspects of its behavior.</p>
+<p>The configuration files use a simple ini-file format. A configuration
+file consists of sections, led by a <tt class="docutils literal">[section]</tt> header and followed
+by <tt class="docutils literal">name = value</tt> entries:</p>
+<pre class="literal-block">
+[ui]
+username = Firstname Lastname &lt;firstname.lastname&#64;example.net&gt;
+verbose = True
+</pre>
+<p>The above entries will be referred to as <tt class="docutils literal">ui.username</tt> and
+<tt class="docutils literal">ui.verbose</tt>, respectively. See the Syntax section below.</p>
+</div>
+<div class="section" id="files">
+<h1><a class="toc-backref" href="#contents">Files</a></h1>
+<p>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
+<tt class="docutils literal"><span class="pre">%USERPROFILE%\mercurial.ini</span></tt> or <tt class="docutils literal"><span class="pre">$HOME/.hgrc</span></tt> and local
+configuration is put into the per-repository <tt class="docutils literal"><span class="pre">&lt;repo&gt;/.hg/hgrc</span></tt> file.</p>
+<p>The names of these files depend on the system on which Mercurial is
+installed. <tt class="docutils literal">*.rc</tt> 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.</p>
+<div class="line-block">
+<div class="line">(All) <tt class="docutils literal"><span class="pre">&lt;repo&gt;/.hg/hgrc</span></tt></div>
+</div>
+<blockquote>
+Per-repository configuration options that only apply in a
+particular repository. This file is not version-controlled, and
+will not get transferred during a &quot;clone&quot; 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't
+belong to a trusted user or to a trusted group. See the documentation
+for the <tt class="docutils literal">[trusted]</tt> section below for more details.</blockquote>
+<div class="line-block">
+<div class="line">(Plan 9) <tt class="docutils literal">$home/lib/hgrc</tt></div>
+<div class="line">(Unix) <tt class="docutils literal"><span class="pre">$HOME/.hgrc</span></tt></div>
+<div class="line">(Windows) <tt class="docutils literal"><span class="pre">%USERPROFILE%\.hgrc</span></tt></div>
+<div class="line">(Windows) <tt class="docutils literal"><span class="pre">%USERPROFILE%\Mercurial.ini</span></tt></div>
+<div class="line">(Windows) <tt class="docutils literal"><span class="pre">%HOME%\.hgrc</span></tt></div>
+<div class="line">(Windows) <tt class="docutils literal"><span class="pre">%HOME%\Mercurial.ini</span></tt></div>
+</div>
+<blockquote>
+Per-user configuration file(s), for the user running Mercurial. On
+Windows 9x, <tt class="docutils literal">%HOME%</tt> is replaced by <tt class="docutils literal">%APPDATA%</tt>. 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.</blockquote>
+<div class="line-block">
+<div class="line">(Plan 9) <tt class="docutils literal">/lib/mercurial/hgrc</tt></div>
+<div class="line">(Plan 9) <tt class="docutils literal"><span class="pre">/lib/mercurial/hgrc.d/*.rc</span></tt></div>
+<div class="line">(Unix) <tt class="docutils literal">/etc/mercurial/hgrc</tt></div>
+<div class="line">(Unix) <tt class="docutils literal"><span class="pre">/etc/mercurial/hgrc.d/*.rc</span></tt></div>
+</div>
+<blockquote>
+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.</blockquote>
+<div class="line-block">
+<div class="line">(Plan 9) <tt class="docutils literal"><span class="pre">&lt;install-root&gt;/lib/mercurial/hgrc</span></tt></div>
+<div class="line">(Plan 9) <tt class="docutils literal"><span class="pre">&lt;install-root&gt;/lib/mercurial/hgrc.d/*.rc</span></tt></div>
+<div class="line">(Unix) <tt class="docutils literal"><span class="pre">&lt;install-root&gt;/etc/mercurial/hgrc</span></tt></div>
+<div class="line">(Unix) <tt class="docutils literal"><span class="pre">&lt;install-root&gt;/etc/mercurial/hgrc.d/*.rc</span></tt></div>
+</div>
+<blockquote>
+Per-installation configuration files, searched for in the
+directory where Mercurial is installed. <tt class="docutils literal"><span class="pre">&lt;install-root&gt;</span></tt> is the
+parent directory of the <strong>hg</strong> executable (or symlink) being run. For
+example, if installed in <tt class="docutils literal">/shared/tools/bin/hg</tt>, Mercurial will look
+in <tt class="docutils literal">/shared/tools/etc/mercurial/hgrc</tt>. Options in these files apply
+to all Mercurial commands executed by any user in any directory.</blockquote>
+<div class="line-block">
+<div class="line">(Windows) <tt class="docutils literal"><span class="pre">&lt;install-dir&gt;\Mercurial.ini</span></tt> <strong>or</strong></div>
+<div class="line">(Windows) <tt class="docutils literal"><span class="pre">&lt;install-dir&gt;\hgrc.d\*.rc</span></tt> <strong>or</strong></div>
+<div class="line">(Windows) <tt class="docutils literal">HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial</tt></div>
+</div>
+<blockquote>
+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 <tt class="docutils literal">Mercurial.ini</tt> file or be a directory where <tt class="docutils literal">*.rc</tt> files will
+be read. Mercurial checks each of these locations in the specified
+order until one or more configuration files are detected.</blockquote>
+</div>
+<div class="section" id="syntax">
+<h1><a class="toc-backref" href="#contents">Syntax</a></h1>
+<p>A configuration file consists of sections, led by a <tt class="docutils literal">[section]</tt> header
+and followed by <tt class="docutils literal">name = value</tt> entries (sometimes called
+<tt class="docutils literal">configuration keys</tt>):</p>
+<pre class="literal-block">
+[spam]
+eggs=ham
+green=
+ eggs
+</pre>
+<p>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
+<tt class="docutils literal">#</tt> or <tt class="docutils literal">;</tt> are ignored and may be used to provide comments.</p>
+<p>Configuration keys can be set multiple times, in which case Mercurial
+will use the value that was configured last. As an example:</p>
+<pre class="literal-block">
+[spam]
+eggs=large
+ham=serrano
+eggs=small
+</pre>
+<p>This would set the configuration key named <tt class="docutils literal">eggs</tt> to <tt class="docutils literal">small</tt>.</p>
+<p>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:</p>
+<pre class="literal-block">
+[foo]
+eggs=large
+ham=serrano
+eggs=small
+
+[bar]
+eggs=ham
+green=
+ eggs
+
+[foo]
+ham=prosciutto
+eggs=medium
+bread=toasted
+</pre>
+<p>This would set the <tt class="docutils literal">eggs</tt>, <tt class="docutils literal">ham</tt>, and <tt class="docutils literal">bread</tt> configuration keys
+of the <tt class="docutils literal">foo</tt> section to <tt class="docutils literal">medium</tt>, <tt class="docutils literal">prosciutto</tt>, and <tt class="docutils literal">toasted</tt>,
+respectively. As you can see there only thing that matters is the last
+value that was set for each of the configuration keys.</p>
+<p>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 <tt class="docutils literal">Files</tt> section
+above.</p>
+<p>A line of the form <tt class="docutils literal">%include file</tt> will include <tt class="docutils literal">file</tt> 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 <tt class="docutils literal">%include</tt> directive is found.
+Environment variables and <tt class="docutils literal">~user</tt> constructs are expanded in
+<tt class="docutils literal">file</tt>. This lets you do something like:</p>
+<pre class="literal-block">
+%include ~/.hgrc.d/$HOST.rc
+</pre>
+<p>to include a different configuration file on each computer you use.</p>
+<p>A line with <tt class="docutils literal">%unset name</tt> will remove <tt class="docutils literal">name</tt> from the current
+section, if it has been set previously.</p>
+<p>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 &quot;1&quot;,
+&quot;yes&quot;, &quot;true&quot;, or &quot;on&quot; and to false using &quot;0&quot;, &quot;no&quot;, &quot;false&quot;, or &quot;off&quot;
+(all case insensitive).</p>
+<p>List values are separated by whitespace or comma, except when values are
+placed in double quotation marks:</p>
+<pre class="literal-block">
+allow_read = &quot;John Doe, PhD&quot;, brian, betty
+</pre>
+<p>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., <tt class="docutils literal">foo&quot;bar baz</tt> is the list of <tt class="docutils literal">foo&quot;bar</tt> and <tt class="docutils literal">baz</tt>).</p>
+</div>
+<div class="section" id="sections">
+<h1><a class="toc-backref" href="#contents">Sections</a></h1>
+<p>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.</p>
+<div class="section" id="alias">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">alias</tt></a></h2>
+<p>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 <tt class="docutils literal">$1</tt>, <tt class="docutils literal">$2</tt>, etc in the alias definition
+are expanded by Mercurial before execution. Positional arguments not
+already used by <tt class="docutils literal">$N</tt> in the definition are put at the end of the
+command to be executed.</p>
+<p>Alias definitions consist of lines of the form:</p>
+<pre class="literal-block">
+&lt;alias&gt; = &lt;command&gt; [&lt;argument&gt;]...
+</pre>
+<p>For example, this definition:</p>
+<pre class="literal-block">
+latest = log --limit 5
+</pre>
+<p>creates a new command <tt class="docutils literal">latest</tt> that shows only the five most recent
+changesets. You can define subsequent aliases using earlier ones:</p>
+<pre class="literal-block">
+stable5 = latest -b stable
+</pre>
+<div class="note">
+<p class="first admonition-title">Note</p>
+<p class="last">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!</p>
+</div>
+<p>An alias can start with an exclamation point (<tt class="docutils literal">!</tt>) to make it a
+shell alias. A shell alias is executed with the shell and will let you
+run arbitrary commands. As an example,</p>
+<pre class="literal-block">
+echo = !echo $&#64;
+</pre>
+<p>will let you do <tt class="docutils literal">hg echo foo</tt> to have <tt class="docutils literal">foo</tt> printed in your
+terminal. A better example might be:</p>
+<pre class="literal-block">
+purge = !$HG status --no-status --unknown -0 | xargs -0 rm
+</pre>
+<p>which will make <tt class="docutils literal">hg purge</tt> delete all unknown files in the
+repository in the same manner as the purge extension.</p>
+<p>Positional arguments like <tt class="docutils literal">$1</tt>, <tt class="docutils literal">$2</tt>, etc. in the alias definition
+expand to the command arguments. Unmatched arguments are
+removed. <tt class="docutils literal">$0</tt> expands to the alias name and <tt class="docutils literal">$&#64;</tt> expands to all
+arguments separated by a space. These expansions happen before the
+command is passed to the shell.</p>
+<p>Shell aliases are executed in an environment where <tt class="docutils literal">$HG</tt> 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,
+<tt class="docutils literal">$HG_ARGS</tt> expands to the arguments given to Mercurial. In the <tt class="docutils literal">hg
+echo foo</tt> call above, <tt class="docutils literal">$HG_ARGS</tt> would expand to <tt class="docutils literal">echo foo</tt>.</p>
+<div class="note">
+<p class="first admonition-title">Note</p>
+<p class="last">Some global configuration options such as <tt class="docutils literal"><span class="pre">-R</span></tt> are
+processed before shell aliases and will thus not be passed to
+aliases.</p>
+</div>
+</div>
+<div class="section" id="annotate">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">annotate</tt></a></h2>
+<p>Settings used when displaying file annotations. All values are
+Booleans and default to False. See <tt class="docutils literal">diff</tt> section for related
+options for the diff command.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">ignorews</tt></dt>
+<dd>Ignore white space when comparing lines.</dd>
+<dt><tt class="docutils literal">ignorewsamount</tt></dt>
+<dd>Ignore changes in the amount of white space.</dd>
+<dt><tt class="docutils literal">ignoreblanklines</tt></dt>
+<dd>Ignore changes whose lines are all blank.</dd>
+</dl>
+</div>
+<div class="section" id="auth">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">auth</tt></a></h2>
+<p>Authentication credentials for HTTP authentication. This section
+allows you to store usernames and passwords for use when logging
+<em>into</em> HTTP servers. See the <tt class="docutils literal">[web]</tt> configuration section if
+you want to configure <em>who</em> can login to your HTTP server.</p>
+<p>Each line has the following format:</p>
+<pre class="literal-block">
+&lt;name&gt;.&lt;argument&gt; = &lt;value&gt;
+</pre>
+<p>where <tt class="docutils literal">&lt;name&gt;</tt> is used to group arguments into authentication
+entries. Example:</p>
+<pre class="literal-block">
+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
+</pre>
+<p>Supported arguments:</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">prefix</tt></dt>
+<dd>Either <tt class="docutils literal">*</tt> or a URI prefix with or without the scheme part.
+The authentication entry with the longest matching prefix is used
+(where <tt class="docutils literal">*</tt> matches everything and counts as a match of length
+1). If the prefix doesn't 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.</dd>
+<dt><tt class="docutils literal">username</tt></dt>
+<dd>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 <tt class="docutils literal">foo.username = $USER</tt>. If the URI
+includes a username, only <tt class="docutils literal">[auth]</tt> entries with a matching
+username or without a username will be considered.</dd>
+<dt><tt class="docutils literal">password</tt></dt>
+<dd>Optional. Password to authenticate with. If not given, and the
+remote site requires basic or digest authentication, the user
+will be prompted for it.</dd>
+<dt><tt class="docutils literal">key</tt></dt>
+<dd>Optional. PEM encoded client certificate key file. Environment
+variables are expanded in the filename.</dd>
+<dt><tt class="docutils literal">cert</tt></dt>
+<dd>Optional. PEM encoded client certificate chain file. Environment
+variables are expanded in the filename.</dd>
+<dt><tt class="docutils literal">schemes</tt></dt>
+<dd>Optional. Space separated list of URI schemes to use this
+authentication entry with. Only used if the prefix doesn't include
+a scheme. Supported schemes are http and https. They will match
+static-http and static-https respectively, as well.
+Default: https.</dd>
+</dl>
+<p>If no suitable authentication entry is found, the user is prompted
+for credentials as usual if required by the remote.</p>
+</div>
+<div class="section" id="decode-encode">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">decode/encode</tt></a></h2>
+<p>Filters for transforming files on checkout/checkin. This would
+typically be used for newline processing or other
+localization/canonicalization of files.</p>
+<p>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 <tt class="docutils literal">.txt</tt> in the root
+directory only, use the pattern <tt class="docutils literal">*.txt</tt>. To match any file ending
+in <tt class="docutils literal">.c</tt> anywhere in the repository, use the pattern <tt class="docutils literal"><span class="pre">**.c</span></tt>.
+For each file only the first matching filter applies.</p>
+<p>The filter command can start with a specifier, either <tt class="docutils literal">pipe:</tt> or
+<tt class="docutils literal">tempfile:</tt>. If no specifier is given, <tt class="docutils literal">pipe:</tt> is used by default.</p>
+<p>A <tt class="docutils literal">pipe:</tt> command must accept data on stdin and return the transformed
+data on stdout.</p>
+<p>Pipe example:</p>
+<pre class="literal-block">
+[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 &quot;pipe:&quot;, because it's the default)
+*.gz = gzip
+</pre>
+<p>A <tt class="docutils literal">tempfile:</tt> command is a template. The string <tt class="docutils literal">INFILE</tt> is replaced
+with the name of a temporary file that contains the data to be
+filtered by the command. The string <tt class="docutils literal">OUTFILE</tt> is replaced with the name
+of an empty temporary file, where the filtered data must be written by
+the command.</p>
+<div class="note">
+<p class="first admonition-title">Note</p>
+<p class="last">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.</p>
+</div>
+<p>This filter mechanism is used internally by the <tt class="docutils literal">eol</tt> extension to
+translate line ending characters between Windows (CRLF) and Unix (LF)
+format. We suggest you use the <tt class="docutils literal">eol</tt> extension for convenience.</p>
+</div>
+<div class="section" id="defaults">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">defaults</tt></a></h2>
+<p>(defaults are deprecated. Don't use them. Use aliases instead)</p>
+<p>Use the <tt class="docutils literal">[defaults]</tt> section to define command defaults, i.e. the
+default options/arguments to pass to the specified commands.</p>
+<p>The following example makes <a class="reference external" href="hg.1.html#log"><tt class="docutils literal">hg log</tt></a> run in verbose mode, and
+<a class="reference external" href="hg.1.html#status"><tt class="docutils literal">hg status</tt></a> show only the modified files, by default:</p>
+<pre class="literal-block">
+[defaults]
+log = -v
+status = -m
+</pre>
+<p>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.</p>
+</div>
+<div class="section" id="diff">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">diff</tt></a></h2>
+<p>Settings used when displaying diffs. Everything except for <tt class="docutils literal">unified</tt>
+is a Boolean and defaults to False. See <tt class="docutils literal">annotate</tt> section for
+related options for the annotate command.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">git</tt></dt>
+<dd>Use git extended diff format.</dd>
+<dt><tt class="docutils literal">nodates</tt></dt>
+<dd>Don't include dates in diff headers.</dd>
+<dt><tt class="docutils literal">showfunc</tt></dt>
+<dd>Show which function each change is in.</dd>
+<dt><tt class="docutils literal">ignorews</tt></dt>
+<dd>Ignore white space when comparing lines.</dd>
+<dt><tt class="docutils literal">ignorewsamount</tt></dt>
+<dd>Ignore changes in the amount of white space.</dd>
+<dt><tt class="docutils literal">ignoreblanklines</tt></dt>
+<dd>Ignore changes whose lines are all blank.</dd>
+<dt><tt class="docutils literal">unified</tt></dt>
+<dd>Number of lines of context to show.</dd>
+</dl>
+</div>
+<div class="section" id="email">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">email</tt></a></h2>
+<p>Settings for extensions that send email messages.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">from</tt></dt>
+<dd>Optional. Email address to use in &quot;From&quot; header and SMTP envelope
+of outgoing messages.</dd>
+<dt><tt class="docutils literal">to</tt></dt>
+<dd>Optional. Comma-separated list of recipients' email addresses.</dd>
+<dt><tt class="docutils literal">cc</tt></dt>
+<dd>Optional. Comma-separated list of carbon copy recipients'
+email addresses.</dd>
+<dt><tt class="docutils literal">bcc</tt></dt>
+<dd>Optional. Comma-separated list of blind carbon copy recipients'
+email addresses.</dd>
+<dt><tt class="docutils literal">method</tt></dt>
+<dd>Optional. Method to use to send email messages. If value is <tt class="docutils literal">smtp</tt>
+(default), use SMTP (see the <tt class="docutils literal">[smtp]</tt> section for configuration).
+Otherwise, use as name of program to run that acts like sendmail
+(takes <tt class="docutils literal"><span class="pre">-f</span></tt> option for sender, list of recipients on command line,
+message on stdin). Normally, setting this to <tt class="docutils literal">sendmail</tt> or
+<tt class="docutils literal">/usr/sbin/sendmail</tt> is enough to use sendmail to send messages.</dd>
+<dt><tt class="docutils literal">charsets</tt></dt>
+<dd><p class="first">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
+(<tt class="docutils literal">$HGENCODING</tt>, <tt class="docutils literal">ui.fallbackencoding</tt>) succeeds. If correct
+conversion fails, the text in question is sent as is. Defaults to
+empty (explicit) list.</p>
+<p>Order of outgoing email character sets:</p>
+<ol class="last arabic simple">
+<li><tt class="docutils literal"><span class="pre">us-ascii</span></tt>: always first, regardless of settings</li>
+<li><tt class="docutils literal">email.charsets</tt>: in order given by user</li>
+<li><tt class="docutils literal">ui.fallbackencoding</tt>: if not in email.charsets</li>
+<li><tt class="docutils literal">$HGENCODING</tt>: if not in email.charsets</li>
+<li><tt class="docutils literal"><span class="pre">utf-8</span></tt>: always last, regardless of settings</li>
+</ol>
+</dd>
+</dl>
+<p>Email example:</p>
+<pre class="literal-block">
+[email]
+from = Joseph User &lt;joe.user&#64;example.com&gt;
+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
+</pre>
+</div>
+<div class="section" id="extensions">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">extensions</tt></a></h2>
+<p>Mercurial has an extension mechanism for adding new features. To
+enable an extension, create an entry for it in this section.</p>
+<p>If you know that the extension is already in Python's search path,
+you can give the name of the module, followed by <tt class="docutils literal">=</tt>, with nothing
+after the <tt class="docutils literal">=</tt>.</p>
+<p>Otherwise, give a name that you choose, followed by <tt class="docutils literal">=</tt>, followed by
+the path to the <tt class="docutils literal">.py</tt> file (including the file name extension) that
+defines the extension.</p>
+<p>To explicitly disable an extension that is enabled in an hgrc of
+broader scope, prepend its path with <tt class="docutils literal">!</tt>, as in <tt class="docutils literal">foo = !/ext/path</tt>
+or <tt class="docutils literal">foo = !</tt> when path is not supplied.</p>
+<p>Example for <tt class="docutils literal"><span class="pre">~/.hgrc</span></tt>:</p>
+<pre class="literal-block">
+[extensions]
+# (the mq extension will get loaded from Mercurial's path)
+mq =
+# (this extension will get loaded from the file specified)
+myfeature = ~/.hgext/myfeature.py
+</pre>
+</div>
+<div class="section" id="format">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">format</tt></a></h2>
+<dl class="docutils">
+<dt><tt class="docutils literal">usestore</tt></dt>
+<dd>Enable or disable the &quot;store&quot; 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.</dd>
+<dt><tt class="docutils literal">usefncache</tt></dt>
+<dd>Enable or disable the &quot;fncache&quot; repository format which enhances
+the &quot;store&quot; repository format (which has to be enabled to use
+fncache) to allow longer filenames and avoids using Windows
+reserved names, e.g. &quot;nul&quot;. 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.</dd>
+<dt><tt class="docutils literal">dotencode</tt></dt>
+<dd>Enable or disable the &quot;dotencode&quot; repository format which enhances
+the &quot;fncache&quot; 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.</dd>
+</dl>
+</div>
+<div class="section" id="graph">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">graph</tt></a></h2>
+<p>Web graph view configuration. This section let you change graph
+elements display properties by branches, for instance to make the
+<tt class="docutils literal">default</tt> branch stand out.</p>
+<p>Each line has the following format:</p>
+<pre class="literal-block">
+&lt;branch&gt;.&lt;argument&gt; = &lt;value&gt;
+</pre>
+<p>where <tt class="docutils literal">&lt;branch&gt;</tt> is the name of the branch being
+customized. Example:</p>
+<pre class="literal-block">
+[graph]
+# 2px width
+default.width = 2
+# red color
+default.color = FF0000
+</pre>
+<p>Supported arguments:</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">width</tt></dt>
+<dd>Set branch edges width in pixels.</dd>
+<dt><tt class="docutils literal">color</tt></dt>
+<dd>Set branch edges color in hexadecimal RGB notation.</dd>
+</dl>
+</div>
+<div class="section" id="hooks">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">hooks</tt></a></h2>
+<p>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 <tt class="docutils literal">priority</tt> to the hook name on a new line
+and setting the priority. The default priority is 0 if
+not specified.</p>
+<p>Example <tt class="docutils literal">.hg/hgrc</tt>:</p>
+<pre class="literal-block">
+[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
+</pre>
+<p>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 <tt class="docutils literal">$HG_foo</tt>.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">changegroup</tt></dt>
+<dd>Run after a changegroup has been added via push, pull or unbundle.
+ID of the first new changeset is in <tt class="docutils literal">$HG_NODE</tt>. URL from which
+changes came is in <tt class="docutils literal">$HG_URL</tt>.</dd>
+<dt><tt class="docutils literal">commit</tt></dt>
+<dd>Run after a changeset has been created in the local repository. ID
+of the newly created changeset is in <tt class="docutils literal">$HG_NODE</tt>. Parent changeset
+IDs are in <tt class="docutils literal">$HG_PARENT1</tt> and <tt class="docutils literal">$HG_PARENT2</tt>.</dd>
+<dt><tt class="docutils literal">incoming</tt></dt>
+<dd>Run after a changeset has been pulled, pushed, or unbundled into
+the local repository. The ID of the newly arrived changeset is in
+<tt class="docutils literal">$HG_NODE</tt>. URL that was source of changes came is in <tt class="docutils literal">$HG_URL</tt>.</dd>
+<dt><tt class="docutils literal">outgoing</tt></dt>
+<dd>Run after sending changes from local repository to another. ID of
+first changeset sent is in <tt class="docutils literal">$HG_NODE</tt>. Source of operation is in
+<tt class="docutils literal">$HG_SOURCE</tt>; see &quot;preoutgoing&quot; hook for description.</dd>
+<dt><tt class="docutils literal"><span class="pre">post-&lt;command&gt;</span></tt></dt>
+<dd>Run after successful invocations of the associated command. The
+contents of the command line are passed as <tt class="docutils literal">$HG_ARGS</tt> and the result
+code in <tt class="docutils literal">$HG_RESULT</tt>. Parsed command line arguments are passed as
+<tt class="docutils literal">$HG_PATS</tt> and <tt class="docutils literal">$HG_OPTS</tt>. These contain string representations of
+the python data internally passed to &lt;command&gt;. <tt class="docutils literal">$HG_OPTS</tt> is a
+dictionary of options (with unspecified options set to their defaults).
+<tt class="docutils literal">$HG_PATS</tt> is a list of arguments. Hook failure is ignored.</dd>
+<dt><tt class="docutils literal"><span class="pre">pre-&lt;command&gt;</span></tt></dt>
+<dd>Run before executing the associated command. The contents of the
+command line are passed as <tt class="docutils literal">$HG_ARGS</tt>. Parsed command line arguments
+are passed as <tt class="docutils literal">$HG_PATS</tt> and <tt class="docutils literal">$HG_OPTS</tt>. These contain string
+representations of the data internally passed to &lt;command&gt;. <tt class="docutils literal">$HG_OPTS</tt>
+is a dictionary of options (with unspecified options set to their
+defaults). <tt class="docutils literal">$HG_PATS</tt> is a list of arguments. If the hook returns
+failure, the command doesn't execute and Mercurial returns the failure
+code.</dd>
+<dt><tt class="docutils literal">prechangegroup</tt></dt>
+<dd>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 <tt class="docutils literal">$HG_URL</tt>.</dd>
+<dt><tt class="docutils literal">precommit</tt></dt>
+<dd>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 <tt class="docutils literal">$HG_PARENT1</tt> and <tt class="docutils literal">$HG_PARENT2</tt>.</dd>
+<dt><tt class="docutils literal">prelistkeys</tt></dt>
+<dd>Run before listing pushkeys (like bookmarks) in the
+repository. Non-zero status will cause failure. The key namespace is
+in <tt class="docutils literal">$HG_NAMESPACE</tt>.</dd>
+<dt><tt class="docutils literal">preoutgoing</tt></dt>
+<dd>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
+<tt class="docutils literal">$HG_SOURCE</tt>. If &quot;serve&quot;, operation is happening on behalf of remote
+SSH or HTTP repository. If &quot;push&quot;, &quot;pull&quot; or &quot;bundle&quot;, operation
+is happening on behalf of repository on same system.</dd>
+<dt><tt class="docutils literal">prepushkey</tt></dt>
+<dd>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 <tt class="docutils literal">$HG_NAMESPACE</tt>, the key is in <tt class="docutils literal">$HG_KEY</tt>,
+the old value (if any) is in <tt class="docutils literal">$HG_OLD</tt>, and the new value is in
+<tt class="docutils literal">$HG_NEW</tt>.</dd>
+<dt><tt class="docutils literal">pretag</tt></dt>
+<dd>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 <tt class="docutils literal">$HG_NODE</tt>. Name of tag is in <tt class="docutils literal">$HG_TAG</tt>. Tag is
+local if <tt class="docutils literal">$HG_LOCAL=1</tt>, in repository if <tt class="docutils literal">$HG_LOCAL=0</tt>.</dd>
+<dt><tt class="docutils literal">pretxnchangegroup</tt></dt>
+<dd>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
+<tt class="docutils literal">$HG_NODE</tt>. 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
+<tt class="docutils literal">$HG_URL</tt>.</dd>
+<dt><tt class="docutils literal">pretxncommit</tt></dt>
+<dd>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 <tt class="docutils literal">$HG_NODE</tt>. Parent changeset
+IDs are in <tt class="docutils literal">$HG_PARENT1</tt> and <tt class="docutils literal">$HG_PARENT2</tt>.</dd>
+<dt><tt class="docutils literal">preupdate</tt></dt>
+<dd>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 <tt class="docutils literal">$HG_PARENT1</tt>. If merge, ID
+of second new parent is in <tt class="docutils literal">$HG_PARENT2</tt>.</dd>
+<dt><tt class="docutils literal">listkeys</tt></dt>
+<dd>Run after listing pushkeys (like bookmarks) in the repository. The
+key namespace is in <tt class="docutils literal">$HG_NAMESPACE</tt>. <tt class="docutils literal">$HG_VALUES</tt> is a
+dictionary containing the keys and values.</dd>
+<dt><tt class="docutils literal">pushkey</tt></dt>
+<dd>Run after a pushkey (like a bookmark) is added to the
+repository. The key namespace is in <tt class="docutils literal">$HG_NAMESPACE</tt>, the key is in
+<tt class="docutils literal">$HG_KEY</tt>, the old value (if any) is in <tt class="docutils literal">$HG_OLD</tt>, and the new
+value is in <tt class="docutils literal">$HG_NEW</tt>.</dd>
+<dt><tt class="docutils literal">tag</tt></dt>
+<dd>Run after a tag is created. ID of tagged changeset is in <tt class="docutils literal">$HG_NODE</tt>.
+Name of tag is in <tt class="docutils literal">$HG_TAG</tt>. Tag is local if <tt class="docutils literal">$HG_LOCAL=1</tt>, in
+repository if <tt class="docutils literal">$HG_LOCAL=0</tt>.</dd>
+<dt><tt class="docutils literal">update</tt></dt>
+<dd>Run after updating the working directory. Changeset ID of first
+new parent is in <tt class="docutils literal">$HG_PARENT1</tt>. If merge, ID of second new parent is
+in <tt class="docutils literal">$HG_PARENT2</tt>. If the update succeeded, <tt class="docutils literal">$HG_ERROR=0</tt>. If the
+update failed (e.g. because conflicts not resolved), <tt class="docutils literal">$HG_ERROR=1</tt>.</dd>
+</dl>
+<div class="note">
+<p class="first admonition-title">Note</p>
+<p class="last">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 &quot;commit&quot; will be called in all contexts that
+generate a commit (e.g. tag) and not just the commit command.</p>
+</div>
+<div class="note">
+<p class="first admonition-title">Note</p>
+<p class="last">Environment variables with empty values may not be passed to
+hooks on platforms such as Windows. As an example, <tt class="docutils literal">$HG_PARENT2</tt>
+will have an empty value under Unix-like platforms for non-merge
+changesets, while it will not be available at all under Windows.</p>
+</div>
+<p>The syntax for Python hooks is as follows:</p>
+<pre class="literal-block">
+hookname = python:modulename.submodule.callable
+hookname = python:/path/to/python/module.py:callable
+</pre>
+<p>Python hooks are run within the Mercurial process. Each hook is
+called with at least three keyword arguments: a ui object (keyword
+<tt class="docutils literal">ui</tt>), a repository object (keyword <tt class="docutils literal">repo</tt>), and a <tt class="docutils literal">hooktype</tt>
+keyword that tells what kind of hook is used. Arguments listed as
+environment variables above are passed as keyword arguments, with no
+<tt class="docutils literal">HG_</tt> prefix, and names in lower case.</p>
+<p>If a Python hook returns a &quot;true&quot; value or raises an exception, this
+is treated as a failure.</p>
+</div>
+<div class="section" id="hostfingerprints">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">hostfingerprints</tt></a></h2>
+<p>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.</p>
+<p>For example:</p>
+<pre class="literal-block">
+[hostfingerprints]
+hg.intevation.org = 38:76:52:7c:87:26:9a:8f:4a:f8:d3:de:08:45:3b:ea:d6:4b:ee:cc
+</pre>
+<p>This feature is only supported when using Python 2.6 or later.</p>
+</div>
+<div class="section" id="http-proxy">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">http_proxy</tt></a></h2>
+<p>Used to access web-based Mercurial repositories through a HTTP
+proxy.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">host</tt></dt>
+<dd>Host name and (optional) port of the proxy server, for example
+&quot;myproxy:8000&quot;.</dd>
+<dt><tt class="docutils literal">no</tt></dt>
+<dd>Optional. Comma-separated list of host names that should bypass
+the proxy.</dd>
+<dt><tt class="docutils literal">passwd</tt></dt>
+<dd>Optional. Password to authenticate with at the proxy server.</dd>
+<dt><tt class="docutils literal">user</tt></dt>
+<dd>Optional. User name to authenticate with at the proxy server.</dd>
+<dt><tt class="docutils literal">always</tt></dt>
+<dd>Optional. Always use the proxy, even for localhost and any entries
+in <tt class="docutils literal">http_proxy.no</tt>. True or False. Default: False.</dd>
+</dl>
+</div>
+<div class="section" id="merge-patterns">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal"><span class="pre">merge-patterns</span></tt></a></h2>
+<p>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.</p>
+<p>Example:</p>
+<pre class="literal-block">
+[merge-patterns]
+**.c = kdiff3
+**.jpg = myimgmerge
+</pre>
+</div>
+<div class="section" id="merge-tools">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal"><span class="pre">merge-tools</span></tt></a></h2>
+<p>This section configures external merge tools to use for file-level
+merges.</p>
+<p>Example <tt class="docutils literal"><span class="pre">~/.hgrc</span></tt>:</p>
+<pre class="literal-block">
+[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\FooSoftware\HtmlMerge
+myHtmlTool.priority = 1
+</pre>
+<p>Supported arguments:</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">priority</tt></dt>
+<dd>The priority in which to evaluate this tool.
+Default: 0.</dd>
+<dt><tt class="docutils literal">executable</tt></dt>
+<dd>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.</dd>
+<dt><tt class="docutils literal">args</tt></dt>
+<dd>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: <tt class="docutils literal">$base</tt>, <tt class="docutils literal">$local</tt>, <tt class="docutils literal">$other</tt>, <tt class="docutils literal">$output</tt>.
+Default: <tt class="docutils literal">$local $base $other</tt></dd>
+<dt><tt class="docutils literal">premerge</tt></dt>
+<dd>Attempt to run internal non-interactive 3-way merge tool before
+launching external tool. Options are <tt class="docutils literal">true</tt>, <tt class="docutils literal">false</tt>, or <tt class="docutils literal">keep</tt>
+to leave markers in the file if the premerge fails.
+Default: True</dd>
+<dt><tt class="docutils literal">binary</tt></dt>
+<dd>This tool can merge binary files. Defaults to False, unless tool
+was selected by file pattern match.</dd>
+<dt><tt class="docutils literal">symlink</tt></dt>
+<dd>This tool can merge symlinks. Defaults to False, even if tool was
+selected by file pattern match.</dd>
+<dt><tt class="docutils literal">check</tt></dt>
+<dd><p class="first">A list of merge success-checking options:</p>
+<dl class="last docutils">
+<dt><tt class="docutils literal">changed</tt></dt>
+<dd>Ask whether merge was successful when the merged file shows no changes.</dd>
+<dt><tt class="docutils literal">conflicts</tt></dt>
+<dd>Check whether there are conflicts even though the tool reported success.</dd>
+<dt><tt class="docutils literal">prompt</tt></dt>
+<dd>Always prompt for merge success, regardless of success reported by tool.</dd>
+</dl>
+</dd>
+<dt><tt class="docutils literal">checkchanged</tt></dt>
+<dd>True is equivalent to <tt class="docutils literal">check = changed</tt>.
+Default: False</dd>
+<dt><tt class="docutils literal">checkconflicts</tt></dt>
+<dd>True is equivalent to <tt class="docutils literal">check = conflicts</tt>.
+Default: False</dd>
+<dt><tt class="docutils literal">fixeol</tt></dt>
+<dd>Attempt to fix up EOL changes caused by the merge tool.
+Default: False</dd>
+<dt><tt class="docutils literal">gui</tt></dt>
+<dd>This tool requires a graphical interface to run. Default: False</dd>
+<dt><tt class="docutils literal">regkey</tt></dt>
+<dd>Windows registry key which describes install location of this
+tool. Mercurial will search for this key first under
+<tt class="docutils literal">HKEY_CURRENT_USER</tt> and then under <tt class="docutils literal">HKEY_LOCAL_MACHINE</tt>.
+Default: None</dd>
+<dt><tt class="docutils literal">regkeyalt</tt></dt>
+<dd>An alternate Windows registry key to try if the first key is not
+found. The alternate key uses the same <tt class="docutils literal">regname</tt> and <tt class="docutils literal">regappend</tt>
+semantics of the primary key. The most common use for this key
+is to search for 32bit applications on 64bit operating systems.
+Default: None</dd>
+<dt><tt class="docutils literal">regname</tt></dt>
+<dd>Name of value to read from specified registry key. Defaults to the
+unnamed (default) value.</dd>
+<dt><tt class="docutils literal">regappend</tt></dt>
+<dd>String to append to the value read from the registry, typically
+the executable name of the tool.
+Default: None</dd>
+</dl>
+</div>
+<div class="section" id="patch">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">patch</tt></a></h2>
+<p>Settings used when applying patches, for instance through the 'import'
+command or with Mercurial Queues extension.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">eol</tt></dt>
+<dd>When set to 'strict' patch content and patched files end of lines
+are preserved. When set to <tt class="docutils literal">lf</tt> or <tt class="docutils literal">crlf</tt>, 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
+<tt class="docutils literal">auto</tt>, 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.</dd>
+</dl>
+</div>
+<div class="section" id="paths">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">paths</tt></a></h2>
+<p>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.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">default</tt></dt>
+<dd>Directory or URL to use when pulling if no source is specified.
+Default is set to repository from which the current repository was
+cloned.</dd>
+<dt><tt class="docutils literal"><span class="pre">default-push</span></tt></dt>
+<dd>Optional. Directory or URL to use when pushing if no destination
+is specified.</dd>
+</dl>
+</div>
+<div class="section" id="phases">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">phases</tt></a></h2>
+<p>Specifies default handling of phases. See <a class="reference external" href="hg.1.html#phases"><tt class="docutils literal">hg help phases</tt></a> for more
+information about working with phases.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">publish</tt></dt>
+<dd>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</dd>
+<dt><tt class="docutils literal"><span class="pre">new-commit</span></tt></dt>
+<dd>Phase of newly-created commits.
+Default: draft</dd>
+</dl>
+</div>
+<div class="section" id="profiling">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">profiling</tt></a></h2>
+<p>Specifies profiling type, format, and file output. Two profilers are
+supported: an instrumenting profiler (named <tt class="docutils literal">ls</tt>), and a sampling
+profiler (named <tt class="docutils literal">stat</tt>).</p>
+<p>In this section description, 'profiling data' stands for the raw data
+collected during profiling, while 'profiling report' stands for a
+statistical text report generated from the profiling data. The
+profiling is done using lsprof.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">type</tt></dt>
+<dd><p class="first">The type of profiler to use.
+Default: ls.</p>
+<dl class="last docutils">
+<dt><tt class="docutils literal">ls</tt></dt>
+<dd>Use Python's 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.</dd>
+<dt><tt class="docutils literal">stat</tt></dt>
+<dd>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.</dd>
+</dl>
+</dd>
+<dt><tt class="docutils literal">format</tt></dt>
+<dd><p class="first">Profiling format. Specific to the <tt class="docutils literal">ls</tt> instrumenting profiler.
+Default: text.</p>
+<dl class="last docutils">
+<dt><tt class="docutils literal">text</tt></dt>
+<dd>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.</dd>
+<dt><tt class="docutils literal">kcachegrind</tt></dt>
+<dd>Format profiling data for kcachegrind use: when saving to a
+file, the generated file can directly be loaded into
+kcachegrind.</dd>
+</dl>
+</dd>
+<dt><tt class="docutils literal">frequency</tt></dt>
+<dd>Sampling frequency. Specific to the <tt class="docutils literal">stat</tt> sampling profiler.
+Default: 1000.</dd>
+<dt><tt class="docutils literal">output</tt></dt>
+<dd>File path where profiling data or report should be saved. If the
+file exists, it is replaced. Default: None, data is printed on
+stderr</dd>
+</dl>
+</div>
+<div class="section" id="revsetalias">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">revsetalias</tt></a></h2>
+<p>Alias definitions for revsets. See <a class="reference external" href="hg.1.html#revsets"><tt class="docutils literal">hg help revsets</tt></a> for details.</p>
+</div>
+<div class="section" id="server">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">server</tt></a></h2>
+<p>Controls generic server settings.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">uncompressed</tt></dt>
+<dd>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.</dd>
+<dt><tt class="docutils literal">preferuncompressed</tt></dt>
+<dd>When set, clients will try to use the uncompressed streaming
+protocol. Default is False.</dd>
+<dt><tt class="docutils literal">validate</tt></dt>
+<dd>Whether to validate the completeness of pushed changesets by
+checking that all new file revisions specified in manifests are
+present. Default is False.</dd>
+</dl>
+</div>
+<div class="section" id="smtp">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">smtp</tt></a></h2>
+<p>Configuration for extensions that need to send email messages.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">host</tt></dt>
+<dd>Host name of mail server, e.g. &quot;mail.example.com&quot;.</dd>
+<dt><tt class="docutils literal">port</tt></dt>
+<dd>Optional. Port to connect to on mail server. Default: 25.</dd>
+<dt><tt class="docutils literal">tls</tt></dt>
+<dd>Optional. Method to enable TLS when connecting to mail server: starttls,
+smtps or none. Default: none.</dd>
+<dt><tt class="docutils literal">username</tt></dt>
+<dd>Optional. User name for authenticating with the SMTP server.
+Default: none.</dd>
+<dt><tt class="docutils literal">password</tt></dt>
+<dd>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.</dd>
+<dt><tt class="docutils literal">local_hostname</tt></dt>
+<dd>Optional. It's the hostname that the sender can use to identify
+itself to the MTA.</dd>
+</dl>
+</div>
+<div class="section" id="subpaths">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">subpaths</tt></a></h2>
+<p>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:</p>
+<pre class="literal-block">
+&lt;pattern&gt; = &lt;replacement&gt;
+</pre>
+<p>where <tt class="docutils literal">pattern</tt> is a regular expression matching a subrepository
+source URL and <tt class="docutils literal">replacement</tt> is the replacement string used to
+rewrite it. Groups can be matched in <tt class="docutils literal">pattern</tt> and referenced in
+<tt class="docutils literal">replacements</tt>. For instance:</p>
+<pre class="literal-block">
+http://server/(.*)-hg/ = http://hg.server/\1/
+</pre>
+<p>rewrites <tt class="docutils literal"><span class="pre">http://server/foo-hg/</span></tt> into <tt class="docutils literal"><span class="pre">http://hg.server/foo/</span></tt>.</p>
+<p>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.</p>
+</div>
+<div class="section" id="trusted">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">trusted</tt></a></h2>
+<p>Mercurial will not use the settings in the
+<tt class="docutils literal">.hg/hgrc</tt> file from a repository if it doesn't 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 <tt class="docutils literal">[web]</tt>
+section.</p>
+<p>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 <tt class="docutils literal">*</tt>. These settings must be placed in an
+<em>already-trusted file</em> to take effect, such as <tt class="docutils literal"><span class="pre">$HOME/.hgrc</span></tt> of the
+user or service running Mercurial.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">users</tt></dt>
+<dd>Comma-separated list of trusted users.</dd>
+<dt><tt class="docutils literal">groups</tt></dt>
+<dd>Comma-separated list of trusted groups.</dd>
+</dl>
+</div>
+<div class="section" id="ui">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">ui</tt></a></h2>
+<p>User interface controls.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">archivemeta</tt></dt>
+<dd>Whether to include the .hg_archival.txt file containing meta data
+(hashes for the repository base and for tip) in archives created
+by the <a class="reference external" href="hg.1.html#archive"><tt class="docutils literal">hg archive</tt></a> command or downloaded via hgweb.
+Default is True.</dd>
+<dt><tt class="docutils literal">askusername</tt></dt>
+<dd>Whether to prompt for a username when committing. If True, and
+neither <tt class="docutils literal">$HGUSER</tt> nor <tt class="docutils literal">$EMAIL</tt> has been specified, then the user will
+be prompted to enter a username. If no username is entered, the
+default <tt class="docutils literal">USER&#64;HOST</tt> is used instead.
+Default is False.</dd>
+<dt><tt class="docutils literal">commitsubrepos</tt></dt>
+<dd>Whether to commit modified subrepositories when committing the
+parent repository. If False and one subrepository has uncommitted
+changes, abort the commit.
+Default is False.</dd>
+<dt><tt class="docutils literal">debug</tt></dt>
+<dd>Print debugging information. True or False. Default is False.</dd>
+<dt><tt class="docutils literal">editor</tt></dt>
+<dd>The editor to use during a commit. Default is <tt class="docutils literal">$EDITOR</tt> or <tt class="docutils literal">vi</tt>.</dd>
+<dt><tt class="docutils literal">fallbackencoding</tt></dt>
+<dd>Encoding to try if it's not possible to decode the changelog using
+UTF-8. Default is ISO-8859-1.</dd>
+<dt><tt class="docutils literal">ignore</tt></dt>
+<dd>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
+<tt class="docutils literal">ignore.other = <span class="pre">~/.hgignore2</span></tt>. For details of the ignore file
+format, see the <tt class="docutils literal">hgignore(5)</tt> man page.</dd>
+<dt><tt class="docutils literal">interactive</tt></dt>
+<dd>Allow to prompt the user. True or False. Default is True.</dd>
+<dt><tt class="docutils literal">logtemplate</tt></dt>
+<dd>Template string for commands that print changesets.</dd>
+<dt><tt class="docutils literal">merge</tt></dt>
+<dd>The conflict resolution program to use during a manual merge.
+For more information on merge tools see <a class="reference external" href="hg.1.html#merge-tools"><tt class="docutils literal">hg help <span class="pre">merge-tools</span></tt></a>.
+For configuring merge tools see the <tt class="docutils literal"><span class="pre">[merge-tools]</span></tt> section.</dd>
+<dt><tt class="docutils literal">portablefilenames</tt></dt>
+<dd>Check for portable filenames. Can be <tt class="docutils literal">warn</tt>, <tt class="docutils literal">ignore</tt> or <tt class="docutils literal">abort</tt>.
+Default is <tt class="docutils literal">warn</tt>.
+If set to <tt class="docutils literal">warn</tt> (or <tt class="docutils literal">true</tt>), 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't be created on Windows because it contains reserved
+parts like <tt class="docutils literal">AUX</tt>, reserved characters like <tt class="docutils literal">:</tt>, or would cause a case
+collision with an existing file).
+If set to <tt class="docutils literal">ignore</tt> (or <tt class="docutils literal">false</tt>), no warning is printed.
+If set to <tt class="docutils literal">abort</tt>, the command is aborted.
+On Windows, this configuration option is ignored and the command aborted.</dd>
+<dt><tt class="docutils literal">quiet</tt></dt>
+<dd>Reduce the amount of output printed. True or False. Default is False.</dd>
+<dt><tt class="docutils literal">remotecmd</tt></dt>
+<dd>remote command to use for clone/push/pull operations. Default is <tt class="docutils literal">hg</tt>.</dd>
+<dt><tt class="docutils literal">reportoldssl</tt></dt>
+<dd>Warn if an SSL certificate is unable to be due to using Python
+2.5 or earlier. True or False. Default is True.</dd>
+<dt><tt class="docutils literal">report_untrusted</tt></dt>
+<dd>Warn if a <tt class="docutils literal">.hg/hgrc</tt> file is ignored due to not being owned by a
+trusted user or group. True or False. Default is True.</dd>
+<dt><tt class="docutils literal">slash</tt></dt>
+<dd>Display paths using a slash (<tt class="docutils literal">/</tt>) 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 (<tt class="docutils literal">\</tt>)).
+Default is False.</dd>
+<dt><tt class="docutils literal">ssh</tt></dt>
+<dd>command to use for SSH connections. Default is <tt class="docutils literal">ssh</tt>.</dd>
+<dt><tt class="docutils literal">strict</tt></dt>
+<dd>Require exact command names, instead of allowing unambiguous
+abbreviations. True or False. Default is False.</dd>
+<dt><tt class="docutils literal">style</tt></dt>
+<dd>Name of style to use for command output.</dd>
+<dt><tt class="docutils literal">timeout</tt></dt>
+<dd>The timeout used when a lock is held (in seconds), a negative value
+means no timeout. Default is 600.</dd>
+<dt><tt class="docutils literal">traceback</tt></dt>
+<dd>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.</dd>
+<dt><tt class="docutils literal">username</tt></dt>
+<dd>The committer of a changeset created when running &quot;commit&quot;.
+Typically a person's name and email address, e.g. <tt class="docutils literal">Fred Widget
+&lt;fred&#64;example.com&gt;</tt>. Default is <tt class="docutils literal">$EMAIL</tt> or <tt class="docutils literal">username&#64;hostname</tt>. If
+the username in hgrc is empty, it has to be specified manually or
+in a different hgrc file (e.g. <tt class="docutils literal"><span class="pre">$HOME/.hgrc</span></tt>, if the admin set
+<tt class="docutils literal">username =</tt> in the system hgrc). Environment variables in the
+username are expanded.</dd>
+<dt><tt class="docutils literal">verbose</tt></dt>
+<dd>Increase the amount of output printed. True or False. Default is False.</dd>
+</dl>
+</div>
+<div class="section" id="web">
+<h2><a class="toc-backref" href="#contents"><tt class="docutils literal">web</tt></a></h2>
+<p>Web interface configuration. The settings in this section apply to
+both the builtin webserver (started by <a class="reference external" href="hg.1.html#serve"><tt class="docutils literal">hg serve</tt></a>) and the script you
+run through a webserver (<tt class="docutils literal">hgweb.cgi</tt> and the derivatives for FastCGI
+and WSGI).</p>
+<p>The Mercurial webserver does no authentication (it does not prompt for
+usernames and passwords to validate <em>who</em> users are), but it does do
+authorization (it grants or denies access for <em>authenticated users</em>
+based on settings in this section). You must either configure your
+webserver to do authentication for you, or disable the authorization
+checks.</p>
+<p>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:</p>
+<pre class="literal-block">
+$ hg --config web.allow_push=* --config web.push_ssl=False serve
+</pre>
+<p>Note that this will allow anybody to push anything to the server and
+that this should not be used for public servers.</p>
+<p>The full set of options is:</p>
+<dl class="docutils">
+<dt><tt class="docutils literal">accesslog</tt></dt>
+<dd>Where to output the access log. Default is stdout.</dd>
+<dt><tt class="docutils literal">address</tt></dt>
+<dd>Interface address to bind to. Default is all.</dd>
+<dt><tt class="docutils literal">allow_archive</tt></dt>
+<dd>List of archive format (bz2, gz, zip) allowed for downloading.
+Default is empty.</dd>
+<dt><tt class="docutils literal">allowbz2</tt></dt>
+<dd>(DEPRECATED) Whether to allow .tar.bz2 downloading of repository
+revisions.
+Default is False.</dd>
+<dt><tt class="docutils literal">allowgz</tt></dt>
+<dd>(DEPRECATED) Whether to allow .tar.gz downloading of repository
+revisions.
+Default is False.</dd>
+<dt><tt class="docutils literal">allowpull</tt></dt>
+<dd>Whether to allow pulling from the repository. Default is True.</dd>
+<dt><tt class="docutils literal">allow_push</tt></dt>
+<dd>Whether to allow pushing to the repository. If empty or not set,
+push is not allowed. If the special value <tt class="docutils literal">*</tt>, 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.</dd>
+<dt><tt class="docutils literal">allow_read</tt></dt>
+<dd>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 <tt class="docutils literal">*</tt> 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.</dd>
+<dt><tt class="docutils literal">allowzip</tt></dt>
+<dd>(DEPRECATED) Whether to allow .zip downloading of repository
+revisions. Default is False. This feature creates temporary files.</dd>
+<dt><tt class="docutils literal">baseurl</tt></dt>
+<dd>Base URL to use when publishing URLs in other locations, so
+third-party tools like email notification hooks can construct
+URLs. Example: <tt class="docutils literal"><span class="pre">http://hgserver/repos/</span></tt>.</dd>
+<dt><tt class="docutils literal">cacerts</tt></dt>
+<dd><p class="first">Path to file containing a list of PEM encoded certificate
+authority certificates. Environment variables and <tt class="docutils literal">~user</tt>
+constructs are expanded in the filename. If specified on the
+client, then it will verify the identity of remote HTTPS servers
+with these certificates.</p>
+<p>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
+<tt class="docutils literal"><span class="pre">http://pypi.python.org</span></tt>.</p>
+<p>To disable SSL verification temporarily, specify <tt class="docutils literal"><span class="pre">--insecure</span></tt> from
+command line.</p>
+<p>You can use OpenSSL's CA certificate file if your platform has
+one. On most Linux systems this will be
+<tt class="docutils literal"><span class="pre">/etc/ssl/certs/ca-certificates.crt</span></tt>. Otherwise you will have to
+generate this file manually. The form must be as follows:</p>
+<pre class="last literal-block">
+-----BEGIN CERTIFICATE-----
+... (certificate in base64 PEM encoding) ...
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+... (certificate in base64 PEM encoding) ...
+-----END CERTIFICATE-----
+</pre>
+</dd>
+<dt><tt class="docutils literal">cache</tt></dt>
+<dd>Whether to support caching in hgweb. Defaults to True.</dd>
+<dt><tt class="docutils literal">collapse</tt></dt>
+<dd>With <tt class="docutils literal">descend</tt> enabled, repositories in subdirectories are shown at
+a single level alongside repositories in the current path. With
+<tt class="docutils literal">collapse</tt> 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.</dd>
+<dt><tt class="docutils literal">comparisoncontext</tt></dt>
+<dd>Number of lines of context to show in side-by-side file comparison. If
+negative or the value <tt class="docutils literal">full</tt>, whole files are shown. Default is 5.
+This setting can be overridden by a <tt class="docutils literal">context</tt> request parameter to the
+<tt class="docutils literal">comparison</tt> command, taking the same values.</dd>
+<dt><tt class="docutils literal">contact</tt></dt>
+<dd>Name or email address of the person in charge of the repository.
+Defaults to ui.username or <tt class="docutils literal">$EMAIL</tt> or &quot;unknown&quot; if unset or empty.</dd>
+<dt><tt class="docutils literal">deny_push</tt></dt>
+<dd>Whether to deny pushing to the repository. If empty or not set,
+push is not denied. If the special value <tt class="docutils literal">*</tt>, 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.</dd>
+<dt><tt class="docutils literal">deny_read</tt></dt>
+<dd>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 <tt class="docutils literal">*</tt>, 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.</dd>
+<dt><tt class="docutils literal">descend</tt></dt>
+<dd>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).</dd>
+<dt><tt class="docutils literal">description</tt></dt>
+<dd>Textual description of the repository's purpose or contents.
+Default is &quot;unknown&quot;.</dd>
+<dt><tt class="docutils literal">encoding</tt></dt>
+<dd>Character encoding name. Default is the current locale charset.
+Example: &quot;UTF-8&quot;</dd>
+<dt><tt class="docutils literal">errorlog</tt></dt>
+<dd>Where to output the error log. Default is stderr.</dd>
+<dt><tt class="docutils literal">guessmime</tt></dt>
+<dd>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 <tt class="docutils literal">text/html</tt> and might
+allow cross-site scripting attacks when serving untrusted
+repositories. Default is False.</dd>
+<dt><tt class="docutils literal">hidden</tt></dt>
+<dd>Whether to hide the repository in the hgwebdir index.
+Default is False.</dd>
+<dt><tt class="docutils literal">ipv6</tt></dt>
+<dd>Whether to use IPv6. Default is False.</dd>
+<dt><tt class="docutils literal">logoimg</tt></dt>
+<dd>File name of the logo image that some templates display on each page.
+The file name is relative to <tt class="docutils literal">staticurl</tt>. That is, the full path to
+the logo image is &quot;staticurl/logoimg&quot;.
+If unset, <tt class="docutils literal">hglogo.png</tt> will be used.</dd>
+<dt><tt class="docutils literal">logourl</tt></dt>
+<dd>Base URL to use for logos. If unset, <tt class="docutils literal"><span class="pre">http://mercurial.selenic.com/</span></tt>
+will be used.</dd>
+<dt><tt class="docutils literal">maxchanges</tt></dt>
+<dd>Maximum number of changes to list on the changelog. Default is 10.</dd>
+<dt><tt class="docutils literal">maxfiles</tt></dt>
+<dd>Maximum number of files to list per changeset. Default is 10.</dd>
+<dt><tt class="docutils literal">maxshortchanges</tt></dt>
+<dd>Maximum number of changes to list on the shortlog, graph or filelog
+pages. Default is 60.</dd>
+<dt><tt class="docutils literal">name</tt></dt>
+<dd>Repository name to use in the web interface. Default is current
+working directory.</dd>
+<dt><tt class="docutils literal">port</tt></dt>
+<dd>Port to listen on. Default is 8000.</dd>
+<dt><tt class="docutils literal">prefix</tt></dt>
+<dd>Prefix path to serve from. Default is '' (server root).</dd>
+<dt><tt class="docutils literal">push_ssl</tt></dt>
+<dd>Whether to require that inbound pushes be transported over SSL to
+prevent password sniffing. Default is True.</dd>
+<dt><tt class="docutils literal">staticurl</tt></dt>
+<dd>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: <tt class="docutils literal"><span class="pre">http://hgserver/static/</span></tt>.</dd>
+<dt><tt class="docutils literal">stripes</tt></dt>
+<dd>How many lines a &quot;zebra stripe&quot; should span in multiline output.
+Default is 1; set to 0 to disable.</dd>
+<dt><tt class="docutils literal">style</tt></dt>
+<dd>Which template map style to use.</dd>
+<dt><tt class="docutils literal">templates</tt></dt>
+<dd>Where to find the HTML templates. Default is install path.</dd>
+</dl>
+</div>
+</div>
+<div class="section" id="author">
+<h1><a class="toc-backref" href="#contents">Author</a></h1>
+<p>Bryan O'Sullivan &lt;<a class="reference external" href="mailto:bos&#64;serpentine.com">bos&#64;serpentine.com</a>&gt;.</p>
+<p>Mercurial was written by Matt Mackall &lt;<a class="reference external" href="mailto:mpm&#64;selenic.com">mpm&#64;selenic.com</a>&gt;.</p>
+</div>
+<div class="section" id="see-also">
+<h1><a class="toc-backref" href="#contents">See Also</a></h1>
+<p><a class="reference external" href="hg.1.html"><strong>hg</strong>(1)</a>, <a class="reference external" href="hgignore.5.html"><strong>hgignore</strong>(5)</a></p>
+</div>
+<div class="section" id="copying">
+<h1><a class="toc-backref" href="#contents">Copying</a></h1>
+<p>This manual page is copyright 2005 Bryan O'Sullivan.
+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.</p>
+<!-- Common link and substitution definitions. -->
+</div>
+</div>
+</body>
+</html>