947 lines
28 KiB
Text
947 lines
28 KiB
Text
|
.\" Title: hgrc
|
||
|
.\" Author:
|
||
|
.\" Generator: DocBook XSL Stylesheets v1.73.2 <http://docbook.sf.net/>
|
||
|
.\" Date: 08/13/2008
|
||
|
.\" Manual:
|
||
|
.\" Source:
|
||
|
.\"
|
||
|
.TH "HGRC" "5" "08/13/2008" "" ""
|
||
|
.\" disable hyphenation
|
||
|
.nh
|
||
|
.\" disable justification (adjust text to left margin only)
|
||
|
.ad l
|
||
|
.SH "NAME"
|
||
|
hgrc \- configuration files for Mercurial
|
||
|
.SH "SYNOPSIS"
|
||
|
The Mercurial system uses a set of configuration files to control aspects of its behaviour\&.
|
||
|
.sp
|
||
|
.SH "FILES"
|
||
|
Mercurial reads configuration data from several files, if they exist\&. The names of these files depend on the system on which Mercurial is installed\&. *\&.rc files from a single directory are read in alphabetical order, later ones overriding earlier ones\&. Where multiple paths are given below, settings from later paths override earlier ones\&.
|
||
|
.PP
|
||
|
(Unix) <install\-root>/etc/mercurial/hgrc\&.d/*\&.rc, (Unix) <install\-root>/etc/mercurial/hgrc
|
||
|
.RS 4
|
||
|
Per\-installation configuration files, searched for in the directory where Mercurial is installed\&. <install\-root> is the parent directory of the hg executable (or symlink) being run\&. For example, if installed in /shared/tools/bin/hg, Mercurial will look in /shared/tools/etc/mercurial/hgrc\&. Options in these files apply to all Mercurial commands executed by any user in any directory\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
(Unix) /etc/mercurial/hgrc\&.d/*\&.rc, (Unix) /etc/mercurial/hgrc
|
||
|
.RS 4
|
||
|
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\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
(Windows) <install\-dir>\eMercurial\&.ini, or else, (Windows) HKEY_LOCAL_MACHINE\eSOFTWARE\eMercurial, or else, (Windows) C:\eMercurial\eMercurial\&.ini
|
||
|
.RS 4
|
||
|
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 Mercurial\&.ini file or be a directory where *\&.rc files will be read\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
(Unix) $HOME/\&.hgrc, (Windows) %HOME%\eMercurial\&.ini, (Windows) %HOME%\e\&.hgrc, (Windows) %USERPROFILE%\eMercurial\&.ini, (Windows) %USERPROFILE%\e\&.hgrc
|
||
|
.RS 4
|
||
|
Per\-user configuration file(s), for the user running Mercurial\&. On Windows 9x, %HOME% is replaced by %APPDATA%\&. Options in these files apply to all Mercurial commands executed by this user in any directory\&. Options in thes files override per\-installation and per\-system options\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
(Unix, Windows) <repo>/\&.hg/hgrc
|
||
|
.RS 4
|
||
|
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 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 trusted section below for more details\&.
|
||
|
.RE
|
||
|
.SH "SYNTAX"
|
||
|
A configuration file consists of sections, led by a "[section]" header and followed by "name: value" entries; "name=value" is also accepted\&.
|
||
|
.sp
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
[spam]
|
||
|
eggs=ham
|
||
|
green=
|
||
|
eggs
|
||
|
.fi
|
||
|
.RE
|
||
|
Each line contains one entry\&. If the lines that follow are indented, they are treated as continuations of that entry\&.
|
||
|
.sp
|
||
|
Leading whitespace is removed from values\&. Empty lines are skipped\&.
|
||
|
.sp
|
||
|
The optional values can contain format strings which refer to other values in the same section, or values in a special DEFAULT section\&.
|
||
|
.sp
|
||
|
Lines beginning with "#" or ";" are ignored and may be used to provide comments\&.
|
||
|
.sp
|
||
|
.SH "SECTIONS"
|
||
|
This section describes the different sections that may appear in a Mercurial "hgrc" file, the purpose of each section, its possible keys, and their possible values\&.
|
||
|
.PP
|
||
|
decode/encode
|
||
|
.RS 4
|
||
|
Filters for transforming files on checkout/checkin\&. This would typically be used for newline processing or other localization/canonicalization of files\&.
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
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 "\&.txt" in the root
|
||
|
directory only, use the pattern "*\&.txt"\&. To match any file ending
|
||
|
in "\&.c" anywhere in the repository, use the pattern "**\&.c"\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
The filter command can start with a specifier, either "pipe:" or
|
||
|
"tempfile:"\&. If no specifier is given, "pipe:" is used by default\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
A "pipe:" command must accept data on stdin and return the
|
||
|
transformed data on stdout\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
Pipe example:
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
[encode]
|
||
|
# uncompress gzip files on checkin to improve delta compression
|
||
|
# note: not necessarily a good idea, just an example
|
||
|
*\&.gz = pipe: gunzip
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
[decode]
|
||
|
# recompress gzip files when writing them to the working dir (we
|
||
|
# can safely omit "pipe:", because it\'s the default)
|
||
|
*\&.gz = gzip
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
A "tempfile:" command is a template\&. The string INFILE is replaced
|
||
|
with the name of a temporary file that contains the data to be
|
||
|
filtered by the command\&. The string OUTFILE is replaced with the
|
||
|
name of an empty temporary file, where the filtered data must be
|
||
|
written by the command\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
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\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
The most common usage is for LF <\-> CRLF translation on Windows\&.
|
||
|
For this, use the "smart" convertors which check for binary files:
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
[extensions]
|
||
|
hgext\&.win32text =
|
||
|
[encode]
|
||
|
** = cleverencode:
|
||
|
[decode]
|
||
|
** = cleverdecode:
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
or if you only want to translate certain files:
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
[extensions]
|
||
|
hgext\&.win32text =
|
||
|
[encode]
|
||
|
**\&.txt = dumbencode:
|
||
|
[decode]
|
||
|
**\&.txt = dumbdecode:
|
||
|
.fi
|
||
|
.RE
|
||
|
.RE
|
||
|
.PP
|
||
|
defaults
|
||
|
.RS 4
|
||
|
Use the [defaults] section to define command defaults, i\&.e\&. the default options/arguments to pass to the specified commands\&.
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
The following example makes \'hg log\' run in verbose mode, and
|
||
|
\'hg status\' show only the modified files, by default\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
[defaults]
|
||
|
log = \-v
|
||
|
status = \-m
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
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\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.RE
|
||
|
.PP
|
||
|
diff
|
||
|
.RS 4
|
||
|
Settings used when displaying diffs\&. They are all boolean and defaults to False\&.
|
||
|
.PP
|
||
|
git
|
||
|
.RS 4
|
||
|
Use git extended diff format\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
nodates
|
||
|
.RS 4
|
||
|
Don\'t include dates in diff headers\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
showfunc
|
||
|
.RS 4
|
||
|
Show which function each change is in\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
ignorews
|
||
|
.RS 4
|
||
|
Ignore white space when comparing lines\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
ignorewsamount
|
||
|
.RS 4
|
||
|
Ignore changes in the amount of white space\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
ignoreblanklines
|
||
|
.RS 4
|
||
|
Ignore changes whose lines are all blank\&.
|
||
|
.RE
|
||
|
.RE
|
||
|
.PP
|
||
|
email
|
||
|
.RS 4
|
||
|
Settings for extensions that send email messages\&.
|
||
|
.PP
|
||
|
from
|
||
|
.RS 4
|
||
|
Optional\&. Email address to use in "From" header and SMTP envelope of outgoing messages\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
to
|
||
|
.RS 4
|
||
|
Optional\&. Comma\-separated list of recipients\' email addresses\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
cc
|
||
|
.RS 4
|
||
|
Optional\&. Comma\-separated list of carbon copy recipients\' email addresses\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
bcc
|
||
|
.RS 4
|
||
|
Optional\&. Comma\-separated list of blind carbon copy recipients\' email addresses\&. Cannot be set interactively\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
method
|
||
|
.RS 4
|
||
|
Optional\&. Method to use to send email messages\&. If value is "smtp" (default), use SMTP (see section "[smtp]" for configuration)\&. Otherwise, use as name of program to run that acts like sendmail (takes "\-f" option for sender, list of recipients on command line, message on stdin)\&. Normally, setting this to "sendmail" or "/usr/sbin/sendmail" is enough to use sendmail to send messages\&.
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
Email example:
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
[email]
|
||
|
from = Joseph User <joe\&.user@example\&.com>
|
||
|
method = /usr/sbin/sendmail
|
||
|
.fi
|
||
|
.RE
|
||
|
.RE
|
||
|
.RE
|
||
|
.PP
|
||
|
extensions
|
||
|
.RS 4
|
||
|
Mercurial has an extension mechanism for adding new features\&. To enable an extension, create an entry for it in this section\&.
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
If you know that the extension is already in Python\'s search path,
|
||
|
you can give the name of the module, followed by "=", with nothing
|
||
|
after the "="\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
Otherwise, give a name that you choose, followed by "=", followed by
|
||
|
the path to the "\&.py" file (including the file name extension) that
|
||
|
defines the extension\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
To explicitly disable an extension that is enabled in an hgrc of
|
||
|
broader scope, prepend its path with \'!\', as in
|
||
|
\'hgext\&.foo = !/ext/path\' or \'hgext\&.foo = !\' when no path is supplied\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
Example for ~/\&.hgrc:
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
[extensions]
|
||
|
# (the mq extension will get loaded from mercurial\'s path)
|
||
|
hgext\&.mq =
|
||
|
# (this extension will get loaded from the file specified)
|
||
|
myfeature = ~/\&.hgext/myfeature\&.py
|
||
|
.fi
|
||
|
.RE
|
||
|
.RE
|
||
|
.PP
|
||
|
format
|
||
|
.RS 4
|
||
|
.PP
|
||
|
usestore
|
||
|
.RS 4
|
||
|
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\&.
|
||
|
.RE
|
||
|
.RE
|
||
|
.PP
|
||
|
merge\-patterns
|
||
|
.RS 4
|
||
|
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
|
||
|
.RS 4
|
||
|
.nf
|
||
|
Example:
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
[merge\-patterns]
|
||
|
**\&.c = kdiff3
|
||
|
**\&.jpg = myimgmerge
|
||
|
.fi
|
||
|
.RE
|
||
|
.RE
|
||
|
.PP
|
||
|
merge\-tools
|
||
|
.RS 4
|
||
|
This section configures external merge tools to use for file\-level merges\&.
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
Example ~/\&.hgrc:
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
[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
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
# Define new tool
|
||
|
myHtmlTool\&.args = \-m $local $other $base $output
|
||
|
myHtmlTool\&.regkey = Software\eFooSoftware\eHtmlMerge
|
||
|
myHtmlTool\&.priority = 1
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
Supported arguments:
|
||
|
priority;;
|
||
|
The priority in which to evaluate this tool\&.
|
||
|
Default: 0\&.
|
||
|
executable;;
|
||
|
Either just the name of the executable or its pathname\&.
|
||
|
Default: the tool name\&.
|
||
|
args;;
|
||
|
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: $base,
|
||
|
$local, $other, $output\&.
|
||
|
Default: $local $base $other
|
||
|
premerge;;
|
||
|
Attempt to run internal non\-interactive 3\-way merge tool before
|
||
|
launching external tool\&.
|
||
|
Default: True
|
||
|
binary;;
|
||
|
This tool can merge binary files\&. Defaults to False, unless tool
|
||
|
was selected by file pattern match\&.
|
||
|
symlink;;
|
||
|
This tool can merge symlinks\&. Defaults to False, even if tool was
|
||
|
selected by file pattern match\&.
|
||
|
checkconflicts;;
|
||
|
Check whether there are conflicts even though the tool reported
|
||
|
success\&.
|
||
|
Default: False
|
||
|
checkchanged;;
|
||
|
Check whether outputs were written even though the tool reported
|
||
|
success\&.
|
||
|
Default: False
|
||
|
fixeol;;
|
||
|
Attempt to fix up EOL changes caused by the merge tool\&.
|
||
|
Default: False
|
||
|
gui:;
|
||
|
This tool requires a graphical interface to run\&. Default: False
|
||
|
regkey;;
|
||
|
Windows registry key which describes install location of this tool\&.
|
||
|
Mercurial will search for this key first under HKEY_CURRENT_USER and
|
||
|
then under HKEY_LOCAL_MACHINE\&. Default: None
|
||
|
regname;;
|
||
|
Name of value to read from specified registry key\&. Defaults to the
|
||
|
unnamed (default) value\&.
|
||
|
regappend;;
|
||
|
String to append to the value read from the registry, typically the
|
||
|
executable name of the tool\&. Default: None
|
||
|
.fi
|
||
|
.RE
|
||
|
.RE
|
||
|
.PP
|
||
|
hooks
|
||
|
.RS 4
|
||
|
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\&.
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
Example \&.hg/hgrc:
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
[hooks]
|
||
|
# do not use the site\-wide hook
|
||
|
incoming =
|
||
|
incoming\&.email = /my/email/hook
|
||
|
incoming\&.autobuild = /my/build/hook
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
Most hooks are run with environment variables set that give added
|
||
|
useful information\&. For each hook below, the environment variables
|
||
|
it is passed are listed with names of the form "$HG_foo"\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.PP
|
||
|
changegroup
|
||
|
.RS 4
|
||
|
Run after a changegroup has been added via push, pull or unbundle\&. ID of the first new changeset is in $HG_NODE\&. URL from which changes came is in $HG_URL\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
commit
|
||
|
.RS 4
|
||
|
Run after a changeset has been created in the local repository\&. ID of the newly created changeset is in $HG_NODE\&. Parent changeset IDs are in $HG_PARENT1 and $HG_PARENT2\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
incoming
|
||
|
.RS 4
|
||
|
Run after a changeset has been pulled, pushed, or unbundled into the local repository\&. The ID of the newly arrived changeset is in $HG_NODE\&. URL that was source of changes came is in $HG_URL\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
outgoing
|
||
|
.RS 4
|
||
|
Run after sending changes from local repository to another\&. ID of first changeset sent is in $HG_NODE\&. Source of operation is in $HG_SOURCE; see "preoutgoing" hook for description\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
post\-<command>
|
||
|
.RS 4
|
||
|
Run after successful invocations of the associated command\&. The contents of the command line are passed as $HG_ARGS and the result code in $HG_RESULT\&. Hook failure is ignored\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
pre\-<command>
|
||
|
.RS 4
|
||
|
Run before executing the associated command\&. The contents of the command line are passed as $HG_ARGS\&. If the hook returns failure, the command doesn\'t execute and Mercurial returns the failure code\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
prechangegroup
|
||
|
.RS 4
|
||
|
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 $HG_URL\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
precommit
|
||
|
.RS 4
|
||
|
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 $HG_PARENT1 and $HG_PARENT2\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
preoutgoing
|
||
|
.RS 4
|
||
|
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 $HG_SOURCE\&. 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\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
pretag
|
||
|
.RS 4
|
||
|
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 $HG_NODE\&. Name of tag is in $HG_TAG\&. Tag is local if $HG_LOCAL=1, in repo if $HG_LOCAL=0\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
pretxnchangegroup
|
||
|
.RS 4
|
||
|
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 $HG_NODE\&. 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 $HG_URL\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
pretxncommit
|
||
|
.RS 4
|
||
|
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 $HG_NODE\&. Parent changeset IDs are in $HG_PARENT1 and $HG_PARENT2\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
preupdate
|
||
|
.RS 4
|
||
|
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 $HG_PARENT1\&. If merge, ID of second new parent is in $HG_PARENT2\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
tag
|
||
|
.RS 4
|
||
|
Run after a tag is created\&. ID of tagged changeset is in $HG_NODE\&. Name of tag is in $HG_TAG\&. Tag is local if $HG_LOCAL=1, in repo if $HG_LOCAL=0\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
update
|
||
|
.RS 4
|
||
|
Run after updating the working directory\&. Changeset ID of first new parent is in $HG_PARENT1\&. If merge, ID of second new parent is in $HG_PARENT2\&. If update succeeded, $HG_ERROR=0\&. If update failed (e\&.g\&. because conflicts not resolved), $HG_ERROR=1\&.
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
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 (eg\&. tag) and not just the commit command\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
Note2: Environment variables with empty values may not be passed to
|
||
|
hooks on platforms like Windows\&. For instance, $HG_PARENT2 will
|
||
|
not be available under Windows for non\-merge changesets while being
|
||
|
set to an empty value under Unix\-like systems\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
The syntax for Python hooks is as follows:
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
hookname = python:modulename\&.submodule\&.callable
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
Python hooks are run within the Mercurial process\&. Each hook is
|
||
|
called with at least three keyword arguments: a ui object (keyword
|
||
|
"ui"), a repository object (keyword "repo"), and a "hooktype"
|
||
|
keyword that tells what kind of hook is used\&. Arguments listed as
|
||
|
environment variables above are passed as keyword arguments, with no
|
||
|
"HG_" prefix, and names in lower case\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
If a Python hook returns a "true" value or raises an exception, this
|
||
|
is treated as failure of the hook\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.RE
|
||
|
.RE
|
||
|
.PP
|
||
|
http_proxy
|
||
|
.RS 4
|
||
|
Used to access web\-based Mercurial repositories through a HTTP proxy\&.
|
||
|
.PP
|
||
|
host
|
||
|
.RS 4
|
||
|
Host name and (optional) port of the proxy server, for example "myproxy:8000"\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
no
|
||
|
.RS 4
|
||
|
Optional\&. Comma\-separated list of host names that should bypass the proxy\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
passwd
|
||
|
.RS 4
|
||
|
Optional\&. Password to authenticate with at the proxy server\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
user
|
||
|
.RS 4
|
||
|
Optional\&. User name to authenticate with at the proxy server\&.
|
||
|
.RE
|
||
|
.RE
|
||
|
.PP
|
||
|
smtp
|
||
|
.RS 4
|
||
|
Configuration for extensions that need to send email messages\&.
|
||
|
.PP
|
||
|
host
|
||
|
.RS 4
|
||
|
Host name of mail server, e\&.g\&. "mail\&.example\&.com"\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
port
|
||
|
.RS 4
|
||
|
Optional\&. Port to connect to on mail server\&. Default: 25\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
tls
|
||
|
.RS 4
|
||
|
Optional\&. Whether to connect to mail server using TLS\&. True or False\&. Default: False\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
username
|
||
|
.RS 4
|
||
|
Optional\&. User name to authenticate to SMTP server with\&. If username is specified, password must also be specified\&. Default: none\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
password
|
||
|
.RS 4
|
||
|
Optional\&. Password to authenticate to SMTP server with\&. If username is specified, password must also be specified\&. Default: none\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
local_hostname
|
||
|
.RS 4
|
||
|
Optional\&. It\'s the hostname that the sender can use to identify itself to the MTA\&.
|
||
|
.RE
|
||
|
.RE
|
||
|
.PP
|
||
|
paths
|
||
|
.RS 4
|
||
|
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\&.
|
||
|
.PP
|
||
|
default
|
||
|
.RS 4
|
||
|
Directory or URL to use when pulling if no source is specified\&. Default is set to repository from which the current repository was cloned\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
default\-push
|
||
|
.RS 4
|
||
|
Optional\&. Directory or URL to use when pushing if no destination is specified\&.
|
||
|
.RE
|
||
|
.RE
|
||
|
.PP
|
||
|
server
|
||
|
.RS 4
|
||
|
Controls generic server settings\&.
|
||
|
.PP
|
||
|
uncompressed
|
||
|
.RS 4
|
||
|
Whether to allow clients to clone a repo 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 (100Mbps 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 6Mbps), uncompressed streaming is slower, because of the extra data transfer overhead\&. Default is False\&.
|
||
|
.RE
|
||
|
.RE
|
||
|
.PP
|
||
|
trusted
|
||
|
.RS 4
|
||
|
For security reasons, Mercurial will not use the settings in the \&.hg/hgrc file from a repository if it doesn\'t belong to a trusted user or to a trusted group\&. The main exception is the web interface, which automatically uses some safe settings, since it\'s common to serve repositories from different users\&.
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
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 "*"\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.PP
|
||
|
users
|
||
|
.RS 4
|
||
|
Comma\-separated list of trusted users\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
groups
|
||
|
.RS 4
|
||
|
Comma\-separated list of trusted groups\&.
|
||
|
.RE
|
||
|
.RE
|
||
|
.PP
|
||
|
ui
|
||
|
.RS 4
|
||
|
User interface controls\&.
|
||
|
.PP
|
||
|
archivemeta
|
||
|
.RS 4
|
||
|
Whether to include the \&.hg_archival\&.txt file containing metadata (hashes for the repository base and for tip) in archives created by the hg archive command or downloaded via hgweb\&. Default is true\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
debug
|
||
|
.RS 4
|
||
|
Print debugging information\&. True or False\&. Default is False\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
editor
|
||
|
.RS 4
|
||
|
The editor to use during a commit\&. Default is $EDITOR or "vi"\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
fallbackencoding
|
||
|
.RS 4
|
||
|
Encoding to try if it\'s not possible to decode the changelog using UTF\-8\&. Default is ISO\-8859\-1\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
ignore
|
||
|
.RS 4
|
||
|
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 "ignore\&.other = ~/\&.hgignore2"\&. For details of the ignore file format, see the hgignore(5) man page\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
interactive
|
||
|
.RS 4
|
||
|
Allow to prompt the user\&. True or False\&. Default is True\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
logtemplate
|
||
|
.RS 4
|
||
|
Template string for commands that print changesets\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
merge
|
||
|
.RS 4
|
||
|
The conflict resolution program to use during a manual merge\&. There are some internal tools available:
|
||
|
.RE
|
||
|
.PP
|
||
|
internal:local
|
||
|
.RS 4
|
||
|
keep the local version
|
||
|
.RE
|
||
|
.PP
|
||
|
internal:other
|
||
|
.RS 4
|
||
|
use the other version
|
||
|
.RE
|
||
|
.PP
|
||
|
internal:merge
|
||
|
.RS 4
|
||
|
use the internal non\-interactive merge tool
|
||
|
.RE
|
||
|
.PP
|
||
|
internal:fail
|
||
|
.RS 4
|
||
|
fail to merge
|
||
|
.sp
|
||
|
.RS 4
|
||
|
.nf
|
||
|
See the merge\-tools section for more information on configuring tools\&.
|
||
|
patch;;
|
||
|
command to use to apply patches\&. Look for \'gpatch\' or \'patch\' in PATH if
|
||
|
unset\&.
|
||
|
quiet;;
|
||
|
Reduce the amount of output printed\&. True or False\&. Default is False\&.
|
||
|
remotecmd;;
|
||
|
remote command to use for clone/push/pull operations\&. Default is \'hg\'\&.
|
||
|
report_untrusted;;
|
||
|
Warn if a \&.hg/hgrc file is ignored due to not being owned by a
|
||
|
trusted user or group\&. True or False\&. Default is True\&.
|
||
|
slash;;
|
||
|
Display paths using a slash ("/") 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 ("\e"))\&.
|
||
|
Default is False\&.
|
||
|
ssh;;
|
||
|
command to use for SSH connections\&. Default is \'ssh\'\&.
|
||
|
strict;;
|
||
|
Require exact command names, instead of allowing unambiguous
|
||
|
abbreviations\&. True or False\&. Default is False\&.
|
||
|
style;;
|
||
|
Name of style to use for command output\&.
|
||
|
timeout;;
|
||
|
The timeout used when a lock is held (in seconds), a negative value
|
||
|
means no timeout\&. Default is 600\&.
|
||
|
username;;
|
||
|
The committer of a changeset created when running "commit"\&.
|
||
|
Typically a person\'s name and email address, e\&.g\&. "Fred Widget
|
||
|
<fred@example\&.com>"\&. Default is $EMAIL or username@hostname\&.
|
||
|
If the username in hgrc is empty, it has to be specified manually or
|
||
|
in a different hgrc file (e\&.g\&. $HOME/\&.hgrc, if the admin set "username ="
|
||
|
in the system hgrc)\&.
|
||
|
verbose;;
|
||
|
Increase the amount of output printed\&. True or False\&. Default is False\&.
|
||
|
.fi
|
||
|
.RE
|
||
|
.RE
|
||
|
.RE
|
||
|
.PP
|
||
|
web
|
||
|
.RS 4
|
||
|
Web interface configuration\&.
|
||
|
.PP
|
||
|
accesslog
|
||
|
.RS 4
|
||
|
Where to output the access log\&. Default is stdout\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
address
|
||
|
.RS 4
|
||
|
Interface address to bind to\&. Default is all\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
allow_archive
|
||
|
.RS 4
|
||
|
List of archive format (bz2, gz, zip) allowed for downloading\&. Default is empty\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
allowbz2
|
||
|
.RS 4
|
||
|
(DEPRECATED) Whether to allow \&.tar\&.bz2 downloading of repo revisions\&. Default is false\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
allowgz
|
||
|
.RS 4
|
||
|
(DEPRECATED) Whether to allow \&.tar\&.gz downloading of repo revisions\&. Default is false\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
allowpull
|
||
|
.RS 4
|
||
|
Whether to allow pulling from the repository\&. Default is true\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
allow_push
|
||
|
.RS 4
|
||
|
Whether to allow pushing to the repository\&. If empty or not set, push is not allowed\&. If the special value "*", 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 (separated by whitespace or ",")\&. The contents of the allow_push list are examined after the deny_push list\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
allowzip
|
||
|
.RS 4
|
||
|
(DEPRECATED) Whether to allow \&.zip downloading of repo revisions\&. Default is false\&. This feature creates temporary files\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
baseurl
|
||
|
.RS 4
|
||
|
Base URL to use when publishing URLs in other locations, so third\-party tools like email notification hooks can construct URLs\&. Example: "http://hgserver/repos/"
|
||
|
.RE
|
||
|
.PP
|
||
|
contact
|
||
|
.RS 4
|
||
|
Name or email address of the person in charge of the repository\&. Defaults to ui\&.username or $EMAIL or "unknown" if unset or empty\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
deny_push
|
||
|
.RS 4
|
||
|
Whether to deny pushing to the repository\&. If empty or not set, push is not denied\&. If the special value "*", all remote users are denied push\&. Otherwise, unauthenticated users are all denied, and any authenticated user name present in this list (separated by whitespace or ",") is also denied\&. The contents of the deny_push list are examined before the allow_push list\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
description
|
||
|
.RS 4
|
||
|
Textual description of the repository\'s purpose or contents\&. Default is "unknown"\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
encoding
|
||
|
.RS 4
|
||
|
Character encoding name\&. Example: "UTF\-8"
|
||
|
.RE
|
||
|
.PP
|
||
|
errorlog
|
||
|
.RS 4
|
||
|
Where to output the error log\&. Default is stderr\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
hidden
|
||
|
.RS 4
|
||
|
Whether to hide the repository in the hgwebdir index\&. Default is false\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
ipv6
|
||
|
.RS 4
|
||
|
Whether to use IPv6\&. Default is false\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
name
|
||
|
.RS 4
|
||
|
Repository name to use in the web interface\&. Default is current working directory\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
maxchanges
|
||
|
.RS 4
|
||
|
Maximum number of changes to list on the changelog\&. Default is 10\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
maxfiles
|
||
|
.RS 4
|
||
|
Maximum number of files to list per changeset\&. Default is 10\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
port
|
||
|
.RS 4
|
||
|
Port to listen on\&. Default is 8000\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
prefix
|
||
|
.RS 4
|
||
|
Prefix path to serve from\&. Default is \'\' (server root)\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
push_ssl
|
||
|
.RS 4
|
||
|
Whether to require that inbound pushes be transported over SSL to prevent password sniffing\&. Default is true\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
staticurl
|
||
|
.RS 4
|
||
|
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: "http://hgserver/static/"
|
||
|
.RE
|
||
|
.PP
|
||
|
stripes
|
||
|
.RS 4
|
||
|
How many lines a "zebra stripe" should span in multiline output\&. Default is 1; set to 0 to disable\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
style
|
||
|
.RS 4
|
||
|
Which template map style to use\&.
|
||
|
.RE
|
||
|
.PP
|
||
|
templates
|
||
|
.RS 4
|
||
|
Where to find the HTML templates\&. Default is install path\&.
|
||
|
.RE
|
||
|
.RE
|
||
|
.SH "AUTHOR"
|
||
|
Bryan O\'Sullivan <bos@serpentine\&.com>\&.
|
||
|
.sp
|
||
|
Mercurial was written by Matt Mackall <mpm@selenic\&.com>\&.
|
||
|
.sp
|
||
|
.SH "SEE ALSO"
|
||
|
hg(1), hgignore(5)
|
||
|
.sp
|
||
|
.SH "COPYING"
|
||
|
This manual page is copyright 2005 Bryan O\'Sullivan\&. Mercurial is copyright 2005\-2007 Matt Mackall\&. Free use of this software is granted under the terms of the GNU General Public License (GPL)\&.
|
||
|
.sp
|