hgrc.5.txt
313 lines
| 11.5 KiB
| text/plain
|
TextLexer
/ doc / hgrc.5.txt
Bryan O'Sullivan
|
r671 | HGRC(5) | ||
======= | ||||
Bryan O'Sullivan <bos@serpentine.com> | ||||
NAME | ||||
---- | ||||
hgrc - configuration files for Mercurial | ||||
SYNOPSIS | ||||
-------- | ||||
The Mercurial system uses a set of configuration files to control | ||||
aspects of its behaviour. | ||||
FILES | ||||
----- | ||||
Vadim Gelfer
|
r1583 | Mercurial reads configuration data from several files, if they exist. | ||
The names of these files depend on the system on which Mercurial is | ||||
installed. | ||||
Thomas Arendsen Hein
|
r951 | |||
Vadim Gelfer
|
r1583 | (Unix) <install-root>/etc/mercurial/hgrc.d/*.rc:: | ||
(Unix) <install-root>/etc/mercurial/hgrc:: | ||||
Per-installation configuration files, searched for in the | ||||
directory where Mercurial is installed. For example, if installed | ||||
in /shared/tools, 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. | ||||
(Unix) /etc/mercurial/hgrc.d/*.rc:: | ||||
Bryan O'Sullivan
|
r1304 | (Unix) /etc/mercurial/hgrc:: | ||
(Windows) C:\Mercurial\Mercurial.ini:: | ||||
Vadim Gelfer
|
r1583 | 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. | ||||
Bryan O'Sullivan
|
r671 | |||
Bryan O'Sullivan
|
r1304 | (Unix) $HOME/.hgrc:: | ||
(Windows) C:\Documents and Settings\USERNAME\Mercurial.ini | ||||
Vadim Gelfer
|
r1583 | Per-user configuration file, for the user running Mercurial. | ||
Options in this file apply to all Mercurial commands executed by | ||||
any user in any directory. Options in this file override | ||||
per-installation and per-system options. | ||||
Bryan O'Sullivan
|
r671 | |||
Bryan O'Sullivan
|
r1304 | (Unix, Windows) <repo>/.hg/hgrc:: | ||
Bryan O'Sullivan
|
r671 | Per-repository configuration options that only apply in a | ||
particular repository. This file is not version-controlled, and | ||||
Vadim Gelfer
|
r1583 | will not get transferred during a "clone" operation. Options in | ||
this file override options in all other configuration files. | ||||
Bryan O'Sullivan
|
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 | ||||
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. | ||||
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 | ||||
Mercurial "hgrc" file, the purpose of each section, its possible | ||||
keys, and their possible values. | ||||
Thomas Arendsen Hein
|
r1308 | decode/encode:: | ||
mpm@selenic.com
|
r1258 | Filters for transforming files on checkout/checkin. This would | ||
typically be used for newline processing or other | ||||
localization/canonicalization of files. | ||||
Filters consist of a filter pattern followed by a filter command. | ||||
Bryan O'Sullivan
|
r1293 | 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". | ||||
mpm@selenic.com
|
r1258 | |||
Bryan O'Sullivan
|
r1293 | The filter command can start with a specifier, either "pipe:" or | ||
"tempfile:". If no specifier is given, "pipe:" is used by default. | ||||
A "pipe:" command must accept data on stdin and return the | ||||
transformed data on stdout. | ||||
Pipe example: | ||||
mpm@selenic.com
|
r1258 | |||
[encode] | ||||
# uncompress gzip files on checkin to improve delta compression | ||||
# note: not necessarily a good idea, just an example | ||||
Bryan O'Sullivan
|
r1293 | *.gz = pipe: gunzip | ||
mpm@selenic.com
|
r1258 | |||
[decode] | ||||
Bryan O'Sullivan
|
r1293 | # recompress gzip files when writing them to the working dir (we | ||
# can safely omit "pipe:", because it's the default) | ||||
mpm@selenic.com
|
r1258 | *.gz = gzip | ||
Bryan O'Sullivan
|
r1293 | 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. | ||||
NOTE: the tempfile mechanism is recommended for Windows systems, | ||||
where the standard shell I/O redirection operators often have | ||||
strange effects. In particular, if you are doing line ending | ||||
conversion on Windows using the popular dos2unix and unix2dos | ||||
programs, you *must* use the tempfile mechanism, as using pipes will | ||||
corrupt the contents of your files. | ||||
Tempfile example: | ||||
[encode] | ||||
# convert files to unix line ending conventions on checkin | ||||
**.txt = tempfile: dos2unix -n INFILE OUTFILE | ||||
[decode] | ||||
# convert files to windows line ending conventions when writing | ||||
# them to the working dir | ||||
**.txt = tempfile: unix2dos -n INFILE OUTFILE | ||||
Bryan O'Sullivan
|
r671 | hooks:: | ||
Commands that get automatically executed by various actions such as | ||||
Benoit Boissinot
|
r1485 | starting or finishing a commit. Multiple commands 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. | ||||
Example .hg/hgrc: | ||||
[hooks] | ||||
# do not use the site-wide hook | ||||
Vadim Gelfer
|
r1714 | incoming = | ||
incoming.email = /my/email/hook | ||||
incoming.autobuild = /my/build/hook | ||||
Benoit Boissinot
|
r1485 | |||
Vadim Gelfer
|
r1727 | 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". | ||||
Bryan O'Sullivan
|
r1171 | changegroup;; | ||
Vadim Gelfer
|
r1730 | Run after a changegroup has been added via push, pull or | ||
Vadim Gelfer
|
r1732 | unbundle. ID of the first new changeset is in $HG_NODE. | ||
Bryan O'Sullivan
|
r1171 | commit;; | ||
Vadim Gelfer
|
r1714 | Run after a changeset has been created in the local repository. | ||
Vadim Gelfer
|
r1727 | ID of the newly created changeset is in $HG_NODE. Parent | ||
changeset IDs are in $HG_PARENT1 and $HG_PARENT2. | ||||
Vadim Gelfer
|
r1714 | incoming;; | ||
Run after a changeset has been pulled, pushed, or unbundled into | ||||
Vadim Gelfer
|
r1727 | the local repository. The ID of the newly arrived changeset is in | ||
$HG_NODE. | ||||
Vadim Gelfer
|
r1736 | 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. | ||||
Vadim Gelfer
|
r1730 | 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. | ||||
Bryan O'Sullivan
|
r671 | precommit;; | ||
Vadim Gelfer
|
r1721 | Run before starting a local commit. Exit status 0 allows the | ||
Vadim Gelfer
|
r1726 | commit to proceed. Non-zero status will cause the commit to fail. | ||
Vadim Gelfer
|
r1727 | Parent changeset IDs are in $HG_PARENT1 and $HG_PARENT2. | ||
Vadim Gelfer
|
r1736 | preoutgoing;; | ||
Run before computing 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. | ||||
Vadim Gelfer
|
r1720 | 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 | ||||
Vadim Gelfer
|
r1727 | 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. | ||||
Vadim Gelfer
|
r1730 | 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 | ||||
Vadim Gelfer
|
r1734 | in $HG_NODE. Exit status 0 allows the transaction to commit. | ||
Vadim Gelfer
|
r1730 | Non-zero status will cause the transaction to be rolled back and | ||
the push, pull or unbundle will fail. | ||||
Vadim Gelfer
|
r1721 | 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 | ||||
Vadim Gelfer
|
r1727 | be rolled back. ID of changeset is in $HG_NODE. Parent changeset | ||
IDs are in $HG_PARENT1 and $HG_PARENT2. | ||||
Vadim Gelfer
|
r1720 | tag;; | ||
Vadim Gelfer
|
r1727 | 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. | ||||
Vadim Gelfer
|
r1726 | |||
In earlier releases, the names of hook environment variables did not | ||||
have a "HG_" prefix. These unprefixed names are still provided in | ||||
the environment for backwards compatibility, but their use is | ||||
deprecated, and they will be removed in a future release. | ||||
Bryan O'Sullivan
|
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;; | ||||
Optional. Comma-separated list of host names that should bypass | ||||
the proxy. | ||||
Bryan O'Sullivan
|
r1171 | passwd;; | ||
Optional. Password to authenticate with at the proxy server. | ||||
user;; | ||||
Optional. User name to authenticate with at the proxy server. | ||||
Bryan O'Sullivan
|
r671 | |||
paths:: | ||||
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. | ||||
ui:: | ||||
User interface controls. | ||||
debug;; | ||||
Thomas Arendsen Hein
|
r702 | Print debugging information. True or False. Default is False. | ||
Bryan O'Sullivan
|
r671 | editor;; | ||
Thomas Arendsen Hein
|
r702 | The editor to use during a commit. Default is $EDITOR or "vi". | ||
interactive;; | ||||
Allow to prompt the user. True or False. Default is True. | ||||
Bryan O'Sullivan
|
r671 | merge;; | ||
The conflict resolution program to use during a manual merge. | ||||
Thomas Arendsen Hein
|
r702 | Default is "hgmerge". | ||
Bryan O'Sullivan
|
r671 | quiet;; | ||
Thomas Arendsen Hein
|
r702 | Reduce the amount of output printed. True or False. Default is False. | ||
Bryan O'Sullivan
|
r1171 | remotecmd;; | ||
remote command to use for clone/push/pull operations. Default is 'hg'. | ||||
ssh;; | ||||
command to use for SSH connections. Default is 'ssh'. | ||||
Benoit Boissinot
|
r1787 | timeout;; | ||
The timeout used when a lock is held (in seconds), a negative value | ||||
Benoit Boissinot
|
r1788 | means no timeout. Default is 600. | ||
Bryan O'Sullivan
|
r671 | username;; | ||
The committer of a changeset created when running "commit". | ||||
Typically a person's name and email address, e.g. "Fred Widget | ||||
Thomas Arendsen Hein
|
r702 | <fred@example.com>". Default is $EMAIL or username@hostname. | ||
Bryan O'Sullivan
|
r671 | verbose;; | ||
Thomas Arendsen Hein
|
r702 | Increase the amount of output printed. True or False. Default is False. | ||
mpm@selenic.com
|
r962 | |||
Bryan O'Sullivan
|
r671 | |||
mpm@selenic.com
|
r938 | web:: | ||
Web interface configuration. | ||||
accesslog;; | ||||
Where to output the access log. Default is stdout. | ||||
Bryan O'Sullivan
|
r1171 | address;; | ||
Interface address to bind to. Default is all. | ||||
allowbz2;; | ||||
Whether to allow .tar.bz2 downloading of repo revisions. Default is false. | ||||
allowgz;; | ||||
Whether to allow .tar.gz downloading of repo revisions. Default is false. | ||||
mpm@selenic.com
|
r964 | allowpull;; | ||
Whether to allow pulling from the repository. Default is true. | ||||
mpm@selenic.com
|
r1079 | allowzip;; | ||
Whether to allow .zip downloading of repo revisions. Default is false. | ||||
This feature creates temporary files. | ||||
Bryan O'Sullivan
|
r1171 | description;; | ||
Textual description of the repository's purpose or contents. | ||||
Default is "unknown". | ||||
errorlog;; | ||||
Where to output the error log. Default is stderr. | ||||
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. | ||||
style;; | ||||
Which template map style to use. | ||||
templates;; | ||||
Where to find the HTML templates. Default is install path. | ||||
mpm@selenic.com
|
r1079 | |||
mpm@selenic.com
|
r938 | |||
Bryan O'Sullivan
|
r671 | AUTHOR | ||
------ | ||||
Bryan O'Sullivan <bos@serpentine.com>. | ||||
Mercurial was written by Matt Mackall <mpm@selenic.com>. | ||||
SEE ALSO | ||||
-------- | ||||
hg(1) | ||||
COPYING | ||||
------- | ||||
This manual page is copyright 2005 Bryan O'Sullivan. | ||||
Mercurial is copyright 2005 Matt Mackall. | ||||
Free use of this software is granted under the terms of the GNU General | ||||
Public License (GPL). | ||||