diff options
Diffstat (limited to 'doc/hgrc.5')
-rw-r--r-- | doc/hgrc.5 | 1793 |
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. +.\" +. |