hgrc.5.txt
892 lines
| 32.1 KiB
| text/plain
|
TextLexer
/ doc / hgrc.5.txt
|
r671 | HGRC(5) | ||
======= | ||||
Bryan O'Sullivan <bos@serpentine.com> | ||||
|
r8772 | :man source: Mercurial | ||
:man manual: Mercurial Manual | ||||
|
r671 | |||
NAME | ||||
---- | ||||
hgrc - configuration files for Mercurial | ||||
SYNOPSIS | ||||
-------- | ||||
The Mercurial system uses a set of configuration files to control | ||||
|
r8773 | aspects of its behavior. | ||
|
r671 | |||
FILES | ||||
----- | ||||
|
r1583 | Mercurial reads configuration data from several files, if they exist. | ||
The names of these files depend on the system on which Mercurial is | ||||
|
r8781 | installed. `*.rc` files from a single directory are read in alphabetical | ||
|
r8730 | order, later ones overriding earlier ones. Where multiple paths are | ||
given below, settings from later paths override earlier ones. | ||||
|
r951 | |||
|
r8781 | (Unix) `<install-root>/etc/mercurial/hgrc.d/*.rc`:: | ||
|
r8766 | (Unix) `<install-root>/etc/mercurial/hgrc`:: | ||
|
r1583 | Per-installation configuration files, searched for in the | ||
|
r8766 | directory where Mercurial is installed. `<install-root>` is the | ||
|
r8730 | parent directory of the hg executable (or symlink) being run. For | ||
|
r8766 | example, if installed in `/shared/tools/bin/hg`, Mercurial will look | ||
in `/shared/tools/etc/mercurial/hgrc`. Options in these files apply | ||||
|
r8730 | to all Mercurial commands executed by any user in any directory. | ||
|
r1583 | |||
|
r8781 | (Unix) `/etc/mercurial/hgrc.d/*.rc`:: | ||
|
r8766 | (Unix) `/etc/mercurial/hgrc`:: | ||
|
r1583 | Per-system configuration files, for the system on which Mercurial | ||
|
r8730 | 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. | ||||
|
r671 | |||
|
r8766 | (Windows) `<install-dir>\Mercurial.ini`:: | ||
|
r6310 | or else:: | ||
|
r8766 | (Windows) `HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial`:: | ||
|
r6310 | or else:: | ||
|
r8766 | (Windows) `C:\Mercurial\Mercurial.ini`:: | ||
|
r6310 | Per-installation/system configuration files, for the system on | ||
|
r6446 | which Mercurial is running. Options in these files apply to all | ||
|
r8730 | Mercurial commands executed by any user in any directory. Registry | ||
keys contain PATH-like strings, every part of which must reference | ||||
|
r8781 | a `Mercurial.ini` file or be a directory where `*.rc` files will be | ||
|
r8730 | read. | ||
|
r6310 | |||
|
r8766 | (Unix) `$HOME/.hgrc`:: | ||
(Windows) `%HOME%\Mercurial.ini`:: | ||||
(Windows) `%HOME%\.hgrc`:: | ||||
(Windows) `%USERPROFILE%\Mercurial.ini`:: | ||||
(Windows) `%USERPROFILE%\.hgrc`:: | ||||
|
r8730 | Per-user configuration file(s), for the user running Mercurial. On | ||
|
r8766 | Windows 9x, `%HOME%` is replaced by `%APPDATA%`. | ||
|
r8730 | Options in these files apply to all Mercurial commands executed by | ||
|
r8773 | this user in any directory. Options in these files override | ||
|
r1583 | per-installation and per-system options. | ||
|
r671 | |||
|
r8766 | (Unix, Windows) `<repo>/.hg/hgrc`:: | ||
|
r671 | Per-repository configuration options that only apply in a | ||
|
r6446 | particular repository. This file is not version-controlled, and | ||
will not get transferred during a "clone" operation. Options in | ||||
|
r8730 | 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. | ||||
|
r671 | |||
SYNTAX | ||||
------ | ||||
A configuration file consists of sections, led by a "[section]" header | ||||
and followed by "name: value" entries; "name=value" is also accepted. | ||||
[spam] | ||||
eggs=ham | ||||
green= | ||||
eggs | ||||
|
r6446 | Each line contains one entry. If the lines that follow are indented, | ||
|
r671 | they are treated as continuations of that entry. | ||
|
r6446 | Leading whitespace is removed from values. Empty lines are skipped. | ||
|
r671 | |||
The optional values can contain format strings which refer to other | ||||
values in the same section, or values in a special DEFAULT section. | ||||
Lines beginning with "#" or ";" are ignored and may be used to provide | ||||
comments. | ||||
SECTIONS | ||||
-------- | ||||
This section describes the different sections that may appear in a | ||||
|
r8730 | Mercurial "hgrc" file, the purpose of each section, its possible keys, | ||
and their possible values. | ||||
|
r671 | |||
|
r8655 | [[alias]] | ||
alias:: | ||||
Defines command aliases. | ||||
Aliases allow you to define your own commands in terms of other | ||||
commands (or aliases), optionally including arguments. | ||||
+ | ||||
|
r8769 | -- | ||
|
r8655 | Alias definitions consist of lines of the form: | ||
|
r8769 | |||
|
r8655 | <alias> = <command> [<argument]... | ||
|
r8769 | |||
|
r8655 | For example, this definition: | ||
|
r8769 | |||
|
r8655 | latest = log --limit 5 | ||
|
r8769 | |||
|
r8655 | creates a new command `latest` that shows only the five most recent | ||
changesets. You can define subsequent aliases using earlier ones: | ||||
|
r8769 | |||
|
r8655 | stable5 = latest -b stable | ||
|
r8769 | |||
|
r8770 | NOTE: It is possible to create aliases with the same names as | ||
|
r8730 | existing commands, which will then override the original definitions. | ||
This is almost always a bad idea! | ||||
|
r8769 | -- | ||
|
r8655 | |||
|
r8333 | [[auth]] | ||
|
r8341 | auth:: | ||
|
r8769 | Authentication credentials for HTTP authentication. Each line has | ||
the following format: | ||||
|
r8333 | |||
<name>.<argument> = <value> | ||||
|
r8769 | + | ||
-- | ||||
where <name> is used to group arguments into authentication entries. | ||||
Example: | ||||
|
r8333 | |||
foo.prefix = hg.intevation.org/mercurial | ||||
foo.username = foo | ||||
foo.password = bar | ||||
foo.schemes = http https | ||||
|
r8769 | Supported arguments: | ||
|
r8333 | |||
prefix;; | ||||
|
r8781 | Either "++\*++" or a URI prefix with or without the scheme part. The | ||
|
r8333 | authentication entry with the longest matching prefix is used | ||
|
r8781 | (where "++*++" matches everything and counts as a match of length 1). | ||
|
r8730 | 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. | ||||
|
r8333 | username;; | ||
Username to authenticate with. | ||||
password;; | ||||
|
r8730 | Optional. Password to authenticate with. If not given the user | ||
will be prompted for it. | ||||
|
r8333 | schemes;; | ||
|
r8730 | 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. | ||||
|
r8333 | Default: https. | ||
|
r8769 | If no suitable authentication entry is found, the user is prompted | ||
for credentials as usual if required by the remote. | ||||
-- | ||||
|
r8333 | |||
|
r6614 | [[decode]] | ||
|
r1308 | decode/encode:: | ||
|
r1258 | Filters for transforming files on checkout/checkin. This would | ||
typically be used for newline processing or other | ||||
localization/canonicalization of files. | ||||
|
r8769 | + | ||
-- | ||||
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 | ||||
|
r8781 | directory only, use the pattern "++\*.txt++". To match any file ending in | ||
"`.c`" anywhere in the repository, use the pattern "++**.c++". | ||||
|
r1258 | |||
|
r8769 | The filter command can start with a specifier, either "pipe:" or | ||
"tempfile:". If no specifier is given, "pipe:" is used by default. | ||||
|
r1293 | |||
|
r8769 | A "pipe:" command must accept data on stdin and return the | ||
transformed data on stdout. | ||||
|
r1293 | |||
|
r8769 | Pipe example: | ||
|
r1258 | |||
|
r8769 | [encode] | ||
# uncompress gzip files on checkin to improve delta compression | ||||
# note: not necessarily a good idea, just an example | ||||
*.gz = pipe: gunzip | ||||
|
r1258 | |||
|
r8769 | [decode] | ||
# recompress gzip files when writing them to the working dir (we | ||||
# can safely omit "pipe:", because it's the default) | ||||
*.gz = gzip | ||||
|
r1258 | |||
|
r8769 | 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. | ||||
|
r1293 | |||
|
r8769 | 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. | ||||
|
r1293 | |||
|
r8769 | The most common usage is for LF <-> CRLF translation on Windows. For | ||
|
r8773 | this, use the "smart" converters which check for binary files: | ||
|
r1293 | |||
|
r8769 | [extensions] | ||
hgext.win32text = | ||||
[encode] | ||||
** = cleverencode: | ||||
[decode] | ||||
** = cleverdecode: | ||||
|
r5678 | |||
|
r8769 | or if you only want to translate certain files: | ||
|
r5678 | |||
|
r8769 | [extensions] | ||
hgext.win32text = | ||||
[encode] | ||||
**.txt = dumbencode: | ||||
[decode] | ||||
**.txt = dumbdecode: | ||||
-- | ||||
|
r1293 | |||
|
r6614 | [[defaults]] | ||
|
r3039 | defaults:: | ||
|
r5081 | Use the [defaults] section to define command defaults, i.e. the | ||
|
r3039 | default options/arguments to pass to the specified commands. | ||
|
r8769 | + | ||
-- | ||||
The following example makes 'hg log' run in verbose mode, and 'hg | ||||
status' show only the modified files, by default. | ||||
|
r5081 | |||
|
r8769 | [defaults] | ||
log = -v | ||||
status = -m | ||||
|
r5081 | |||
|
r8769 | 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. | ||||
-- | ||||
|
r3039 | |||
|
r6614 | [[diff]] | ||
|
r4011 | diff:: | ||
|
r8773 | Settings used when displaying diffs. They are all Boolean and | ||
|
r4011 | defaults to False. | ||
git;; | ||||
Use git extended diff format. | ||||
nodates;; | ||||
Don't include dates in diff headers. | ||||
showfunc;; | ||||
Show which function each change is in. | ||||
ignorews;; | ||||
Ignore white space when comparing lines. | ||||
ignorewsamount;; | ||||
Ignore changes in the amount of white space. | ||||
ignoreblanklines;; | ||||
Ignore changes whose lines are all blank. | ||||
|
r6614 | [[email]] | ||
|
r2200 | email:: | ||
Settings for extensions that send email messages. | ||||
from;; | ||||
|
r6446 | Optional. Email address to use in "From" header and SMTP envelope | ||
|
r2200 | of outgoing messages. | ||
|
r2680 | to;; | ||
|
r6446 | Optional. Comma-separated list of recipients' email addresses. | ||
|
r2680 | cc;; | ||
|
r6446 | Optional. Comma-separated list of carbon copy recipients' | ||
|
r2691 | email addresses. | ||
|
r2680 | bcc;; | ||
|
r8730 | Optional. Comma-separated list of blind carbon copy recipients' | ||
email addresses. Cannot be set interactively. | ||||
|
r2292 | method;; | ||
|
r8730 | 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. | ||||
|
r7117 | charsets;; | ||
|
r8773 | 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 | ||||
(`$HGENCODING`, `ui.fallbackencoding`) succeeds. If correct | ||||
conversion fails, the text in question is sent as is. Defaults to | ||||
empty (explicit) list. | ||||
|
r8769 | + | ||
-- | ||||
|
r8773 | Order of outgoing email character sets: | ||
|
r7241 | |||
|
r8769 | us-ascii always first, regardless of settings | ||
email.charsets in order given by user | ||||
ui.fallbackencoding if not in email.charsets | ||||
$HGENCODING if not in email.charsets | ||||
utf-8 always last, regardless of settings | ||||
|
r2292 | |||
|
r8769 | Email example: | ||
|
r2292 | |||
|
r8769 | [email] | ||
from = Joseph User <joe.user@example.com> | ||||
method = /usr/sbin/sendmail | ||||
|
r8773 | # charsets for western Europeans | ||
|
r8769 | # us-ascii, utf-8 omitted, as they are tried first and last | ||
charsets = iso-8859-1, iso-8859-15, windows-1252 | ||||
-- | ||||
|
r2200 | |||
|
r6614 | [[extensions]] | ||
|
r2211 | extensions:: | ||
Mercurial has an extension mechanism for adding new features. To | ||||
enable an extension, create an entry for it in this section. | ||||
|
r8769 | + | ||
-- | ||||
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 "=". | ||||
|
r2211 | |||
|
r8769 | 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. | ||||
|
r2211 | |||
|
r8769 | 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 path is not | ||||
supplied. | ||||
Example for `~/.hgrc`: | ||||
|
r6175 | |||
|
r8769 | [extensions] | ||
|
r8773 | # (the mq extension will get loaded from Mercurial's path) | ||
|
r8769 | hgext.mq = | ||
# (this extension will get loaded from the file specified) | ||||
myfeature = ~/.hgext/myfeature.py | ||||
-- | ||||
|
r2387 | |||
|
r6614 | [[format]] | ||
|
r4163 | format:: | ||
usestore;; | ||||
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 | ||||
|
r7235 | compatibility and ensures that the on-disk format of newly created | ||
repositories will be compatible with Mercurial before version 0.9.4. | ||||
usefncache;; | ||||
Enable or disable the "fncache" repository format which enhances | ||||
the "store" repository format (which has to be enabled to use | ||||
|
r8730 | 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. | ||||
|
r4163 | |||
|
r6614 | [[merge-patterns]] | ||
|
r6010 | merge-patterns:: | ||
This section specifies merge tools to associate with particular file | ||||
patterns. Tools matched here will take precedence over the default | ||||
|
r8730 | merge tool. Patterns are globs by default, rooted at the repository | ||
root. | ||||
|
r8769 | + | ||
Example: | ||||
+ | ||||
[merge-patterns] | ||||
**.c = kdiff3 | ||||
**.jpg = myimgmerge | ||||
|
r6010 | |||
|
r6614 | [[merge-tools]] | ||
|
r6010 | merge-tools:: | ||
This section configures external merge tools to use for file-level | ||||
merges. | ||||
|
r8769 | + | ||
-- | ||||
Example `~/.hgrc`: | ||||
|
r6010 | |||
|
r8769 | [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 | ||||
|
r6010 | |||
|
r8769 | # Define new tool | ||
myHtmlTool.args = -m $local $other $base $output | ||||
myHtmlTool.regkey = Software\FooSoftware\HtmlMerge | ||||
myHtmlTool.priority = 1 | ||||
|
r6010 | |||
|
r8769 | Supported arguments: | ||
|
r6445 | |||
|
r8769 | 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 | ||||
-- | ||||
|
r6010 | |||
|
r6614 | [[hooks]] | ||
|
r671 | hooks:: | ||
|
r2155 | 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. | ||||
|
r8769 | + | ||
-- | ||||
Example `.hg/hgrc`: | ||||
|
r1485 | |||
|
r8769 | [hooks] | ||
# do not use the site-wide hook | ||||
incoming = | ||||
incoming.email = /my/email/hook | ||||
incoming.autobuild = /my/build/hook | ||||
|
r1485 | |||
|
r8769 | 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 "$HG_foo". | ||||
|
r1727 | |||
|
r8769 | changegroup;; | ||
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`. | ||||
commit;; | ||||
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`. | ||||
incoming;; | ||||
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`. | ||||
outgoing;; | ||||
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. | ||||
post-<command>;; | ||||
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. | ||||
pre-<command>;; | ||||
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. | ||||
prechangegroup;; | ||||
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`. | ||||
precommit;; | ||||
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`. | ||||
preoutgoing;; | ||||
Run before collecting changes to send from the local repository to | ||||
another. Non-zero status will cause failure. This lets you prevent | ||||
|
r8773 | pull over HTTP or SSH. Also prevents against local pull, push | ||
|
r8769 | (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 | ||||
|
r8773 | SSH or HTTP repository. If "push", "pull" or "bundle", operation | ||
|
r8769 | is happening on behalf of repository on same system. | ||
pretag;; | ||||
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 | ||||
|
r8773 | local if `$HG_LOCAL=1`, in repository if `$HG_LOCAL=0`. | ||
|
r8769 | pretxnchangegroup;; | ||
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`. | ||||
pretxncommit;; | ||||
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`. | ||||
preupdate;; | ||||
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`. | ||||
tag;; | ||||
Run after a tag is created. ID of tagged changeset is in `$HG_NODE`. | ||||
|
r8773 | Name of tag is in `$HG_TAG`. Tag is local if `$HG_LOCAL=1`, in | ||
repository if `$HG_LOCAL=0`. | ||||
|
r8769 | update;; | ||
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 the update succeeded, `$HG_ERROR=0`. If the | ||||
update failed (e.g. because conflicts not resolved), `$HG_ERROR=1`. | ||||
|
r1726 | |||
|
r8770 | NOTE: it is generally better to use standard hooks rather than the | ||
|
r8769 | 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. | ||||
|
r671 | |||
|
r8770 | NOTE: Environment variables with empty values may not be passed to | ||
|
r8769 | hooks on platforms such as Windows. As an example, `$HG_PARENT2` will | ||
have an empty value under Unix-like platforms for non-merge | ||||
changesets, while it will not be available at all under Windows. | ||||
|
r4641 | |||
|
r8769 | The syntax for Python hooks is as follows: | ||
|
r2155 | |||
|
r8769 | hookname = python:modulename.submodule.callable | ||
hookname = python:/path/to/python/module.py:callable | ||||
|
r2155 | |||
|
r8769 | 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. | ||||
|
r2155 | |||
|
r8769 | If a Python hook returns a "true" value or raises an exception, this | ||
is treated as a failure. | ||||
-- | ||||
|
r2155 | |||
|
r6614 | [[http_proxy]] | ||
|
r671 | http_proxy:: | ||
Used to access web-based Mercurial repositories through a HTTP | ||||
proxy. | ||||
host;; | ||||
Host name and (optional) port of the proxy server, for example | ||||
"myproxy:8000". | ||||
no;; | ||||
|
r6446 | Optional. Comma-separated list of host names that should bypass | ||
|
r671 | the proxy. | ||
|
r1171 | passwd;; | ||
|
r6446 | Optional. Password to authenticate with at the proxy server. | ||
|
r1171 | user;; | ||
|
r6446 | Optional. User name to authenticate with at the proxy server. | ||
|
r671 | |||
|
r6614 | [[smtp]] | ||
|
r2200 | smtp:: | ||
Configuration for extensions that need to send email messages. | ||||
host;; | ||||
|
r2853 | Host name of mail server, e.g. "mail.example.com". | ||
|
r2200 | port;; | ||
|
r6446 | Optional. Port to connect to on mail server. Default: 25. | ||
|
r2200 | tls;; | ||
|
r6446 | Optional. Whether to connect to mail server using TLS. True or | ||
False. Default: False. | ||||
|
r2200 | username;; | ||
|
r8730 | Optional. User name to authenticate to SMTP server with. If | ||
username is specified, password must also be specified. | ||||
|
r2200 | Default: none. | ||
password;; | ||||
|
r8730 | Optional. Password to authenticate to SMTP server with. If | ||
username is specified, password must also be specified. | ||||
|
r2200 | Default: none. | ||
|
r2583 | local_hostname;; | ||
|
r8730 | Optional. It's the hostname that the sender can use to identify | ||
itself to the MTA. | ||||
|
r2200 | |||
|
r6614 | [[paths]] | ||
|
r671 | paths:: | ||
|
r6446 | Assigns symbolic names to repositories. The left side is the | ||
|
r671 | symbolic name, and the right gives the directory or URL that is the | ||
|
r8730 | location of the repository. Default paths can be declared by setting | ||
the following entries. | ||||
|
r2277 | default;; | ||
Directory or URL to use when pulling if no source is specified. | ||||
|
r8730 | Default is set to repository from which the current repository was | ||
cloned. | ||||
|
r2277 | default-push;; | ||
|
r6446 | Optional. Directory or URL to use when pushing if no destination | ||
|
r2277 | is specified. | ||
|
r671 | |||
|
r8022 | [[profiling]] | ||
profiling:: | ||||
|
r8730 | Specifies profiling format and file output. 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. | ||||
|
r8023 | format;; | ||
Profiling format. | ||||
Default: text. | ||||
text;; | ||||
|
r8730 | 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. | ||||
|
r8024 | kcachegrind;; | ||
|
r8730 | Format profiling data for kcachegrind use: when saving to a | ||
file, the generated file can directly be loaded into | ||||
kcachegrind. | ||||
|
r8022 | output;; | ||
|
r8730 | File path where profiling data or report should be saved. If the | ||
file exists, it is replaced. Default: None, data is printed on | ||||
stderr | ||||
|
r8022 | |||
|
r6614 | [[server]] | ||
|
r2621 | server:: | ||
Controls generic server settings. | ||||
|
r2622 | uncompressed;; | ||
|
r8773 | 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. Default is False. | ||||
|
r2621 | |||
|
r6614 | [[trusted]] | ||
|
r3551 | trusted:: | ||
|
r8730 | For security reasons, Mercurial will not use the settings in the | ||
|
r8766 | `.hg/hgrc` file from a repository if it doesn't belong to a trusted | ||
|
r8730 | 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. | ||||
|
r8769 | + | ||
-- | ||||
This section specifies what users and groups are trusted. The | ||||
current user is always trusted. To trust everybody, list a user or a | ||||
|
r8781 | group with name "`*`". | ||
|
r3552 | |||
|
r8769 | users;; | ||
Comma-separated list of trusted users. | ||||
groups;; | ||||
Comma-separated list of trusted groups. | ||||
-- | ||||
|
r3551 | |||
|
r6614 | [[ui]] | ||
|
r671 | ui:: | ||
User interface controls. | ||||
|
r8769 | + | ||
-- | ||||
|
r6183 | archivemeta;; | ||
|
r8773 | Whether to include the .hg_archival.txt file containing meta data | ||
|
r8730 | (hashes for the repository base and for tip) in archives created | ||
by the hg archive command or downloaded via hgweb. | ||||
|
r6183 | Default is true. | ||
|
r6862 | askusername;; | ||
Whether to prompt for a username when committing. If True, and | ||||
|
r8766 | neither `$HGUSER` nor `$EMAIL` has been specified, then the user will | ||
|
r8730 | be prompted to enter a username. If no username is entered, the | ||
|
r6862 | default USER@HOST is used instead. | ||
Default is False. | ||||
|
r671 | debug;; | ||
|
r6446 | Print debugging information. True or False. Default is False. | ||
|
r671 | editor;; | ||
|
r8766 | The editor to use during a commit. Default is `$EDITOR` or "vi". | ||
|
r3835 | fallbackencoding;; | ||
Encoding to try if it's not possible to decode the changelog using | ||||
|
r6446 | UTF-8. Default is ISO-8859-1. | ||
|
r2003 | ignore;; | ||
|
r8730 | 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 | ||||
|
r2209 | "ignore.other = ~/.hgignore2". For details of the ignore file | ||
format, see the hgignore(5) man page. | ||||
|
r702 | interactive;; | ||
|
r6446 | Allow to prompt the user. True or False. Default is True. | ||
|
r1907 | logtemplate;; | ||
Template string for commands that print changesets. | ||||
|
r671 | merge;; | ||
The conflict resolution program to use during a manual merge. | ||||
|
r6010 | There are some internal tools available: | ||
|
r8769 | + | ||
|
r6010 | internal:local;; | ||
keep the local version | ||||
internal:other;; | ||||
use the other version | ||||
internal:merge;; | ||||
use the internal non-interactive merge tool | ||||
internal:fail;; | ||||
fail to merge | ||||
|
r8769 | + | ||
For more information on configuring merge tools see the | ||||
merge-tools section. | ||||
|
r6445 | |||
|
r4435 | patch;; | ||
|
r8730 | command to use to apply patches. Look for 'gpatch' or 'patch' in | ||
PATH if unset. | ||||
|
r671 | quiet;; | ||
|
r6446 | Reduce the amount of output printed. True or False. Default is False. | ||
|
r1171 | remotecmd;; | ||
remote command to use for clone/push/pull operations. Default is 'hg'. | ||||
|
r4717 | report_untrusted;; | ||
|
r8766 | Warn if a `.hg/hgrc` file is ignored due to not being owned by a | ||
|
r6446 | trusted user or group. True or False. Default is True. | ||
|
r4527 | slash;; | ||
|
r8781 | Display paths using a slash ("++/++") as the path separator. This only | ||
|
r8730 | makes a difference on systems where the default path separator is | ||
not the slash character (e.g. Windows uses the backslash character | ||||
|
r8781 | ("++\++")). | ||
|
r4527 | Default is False. | ||
|
r1171 | ssh;; | ||
command to use for SSH connections. Default is 'ssh'. | ||||
|
r2988 | strict;; | ||
Require exact command names, instead of allowing unambiguous | ||||
|
r6446 | abbreviations. True or False. Default is False. | ||
|
r4715 | style;; | ||
Name of style to use for command output. | ||||
|
r1787 | timeout;; | ||
The timeout used when a lock is held (in seconds), a negative value | ||||
|
r1788 | means no timeout. Default is 600. | ||
|
r671 | username;; | ||
The committer of a changeset created when running "commit". | ||||
Typically a person's name and email address, e.g. "Fred Widget | ||||
|
r8766 | <fred@example.com>". Default is `$EMAIL` or username@hostname. If | ||
|
r8730 | the username in hgrc is empty, it has to be specified manually or | ||
|
r8766 | in a different hgrc file (e.g. `$HOME/.hgrc`, if the admin set | ||
|
r8730 | "username =" in the system hgrc). | ||
|
r671 | verbose;; | ||
|
r6446 | Increase the amount of output printed. True or False. Default is False. | ||
|
r8769 | -- | ||
|
r671 | |||
|
r6614 | [[web]] | ||
|
r938 | web:: | ||
Web interface configuration. | ||||
accesslog;; | ||||
Where to output the access log. Default is stdout. | ||||
|
r1171 | address;; | ||
Interface address to bind to. Default is all. | ||||
|
r2358 | allow_archive;; | ||
List of archive format (bz2, gz, zip) allowed for downloading. | ||||
Default is empty. | ||||
|
r1171 | allowbz2;; | ||
|
r8773 | (DEPRECATED) Whether to allow .tar.bz2 downloading of repository | ||
revisions. | ||||
|
r2358 | Default is false. | ||
|
r1171 | allowgz;; | ||
|
r8773 | (DEPRECATED) Whether to allow .tar.gz downloading of repository | ||
revisions. | ||||
|
r2358 | Default is false. | ||
|
r964 | allowpull;; | ||
Whether to allow pulling from the repository. Default is true. | ||||
|
r2466 | allow_push;; | ||
|
r6446 | Whether to allow pushing to the repository. If empty or not set, | ||
|
r8781 | push is not allowed. If the special value "`*`", any remote user can | ||
|
r8730 | 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. | ||||
|
r7336 | allow_read;; | ||
|
r8730 | 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 (separated by | ||||
whitespace or ","), then access is denied for the user. If the | ||||
list is empty or not set, then access is permitted to all users by | ||||
|
r8781 | default. Setting allow_read to the special value "`*`" is equivalent | ||
|
r8730 | 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. | ||||
|
r1079 | allowzip;; | ||
|
r8773 | (DEPRECATED) Whether to allow .zip downloading of repository | ||
revisions. Default is false. This feature creates temporary files. | ||||
|
r2197 | baseurl;; | ||
Base URL to use when publishing URLs in other locations, so | ||||
|
r8730 | third-party tools like email notification hooks can construct | ||
URLs. Example: "http://hgserver/repos/" | ||||
|
r2430 | contact;; | ||
Name or email address of the person in charge of the repository. | ||||
|
r8766 | Defaults to ui.username or `$EMAIL` or "unknown" if unset or empty. | ||
|
r2466 | deny_push;; | ||
|
r6446 | Whether to deny pushing to the repository. If empty or not set, | ||
|
r8781 | push is not denied. If the special value "`*`", all remote users are | ||
|
r8730 | denied push. Otherwise, unauthenticated users are all denied, and | ||
any authenticated user name present in this list (separated by | ||||
|
r6446 | whitespace or ",") is also denied. The contents of the deny_push | ||
|
r2466 | list are examined before the allow_push list. | ||
|
r7336 | deny_read;; | ||
|
r8730 | 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 (separated by | ||||
whitespace or ",") is also denied access to the repository. If set | ||||
|
r8781 | to the special value "`*`", all remote users are denied access | ||
|
r8730 | (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. | ||||
|
r1171 | description;; | ||
Textual description of the repository's purpose or contents. | ||||
Default is "unknown". | ||||
|
r4715 | encoding;; | ||
Character encoding name. | ||||
Example: "UTF-8" | ||||
|
r1171 | errorlog;; | ||
Where to output the error log. Default is stderr. | ||||
|
r4709 | hidden;; | ||
|
r8730 | Whether to hide the repository in the hgwebdir index. | ||
Default is false. | ||||
|
r1171 | ipv6;; | ||
Whether to use IPv6. Default is false. | ||||
name;; | ||||
Repository name to use in the web interface. Default is current | ||||
working directory. | ||||
maxchanges;; | ||||
Maximum number of changes to list on the changelog. Default is 10. | ||||
maxfiles;; | ||||
Maximum number of files to list per changeset. Default is 10. | ||||
port;; | ||||
Port to listen on. Default is 8000. | ||||
|
r5972 | prefix;; | ||
Prefix path to serve from. Default is '' (server root). | ||||
|
r2466 | push_ssl;; | ||
Whether to require that inbound pushes be transported over SSL to | ||||
|
r6446 | prevent password sniffing. Default is true. | ||
|
r4084 | staticurl;; | ||
|
r8730 | 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. | ||||
|
r4084 | Example: "http://hgserver/static/" | ||
|
r2666 | stripes;; | ||
How many lines a "zebra stripe" should span in multiline output. | ||||
Default is 1; set to 0 to disable. | ||||
|
r1171 | style;; | ||
Which template map style to use. | ||||
templates;; | ||||
Where to find the HTML templates. Default is install path. | ||||
|
r1079 | |||
|
r938 | |||
|
r671 | AUTHOR | ||
------ | ||||
Bryan O'Sullivan <bos@serpentine.com>. | ||||
Mercurial was written by Matt Mackall <mpm@selenic.com>. | ||||
SEE ALSO | ||||
-------- | ||||
|
r2209 | hg(1), hgignore(5) | ||
|
r671 | |||
COPYING | ||||
------- | ||||
This manual page is copyright 2005 Bryan O'Sullivan. | ||||
|
r8771 | Mercurial is copyright 2005-2009 Matt Mackall. | ||
|
r671 | Free use of this software is granted under the terms of the GNU General | ||
Public License (GPL). | ||||