doc/hgrc.5.txt
author Henrik Stuart <hg@hstuart.dk>
Sun, 25 Apr 2010 17:38:41 +0200
changeset 10982 0a548640e012
parent 10981 c72358052e0b
child 10997 b3a1f535ce4f
permissions -rw-r--r--
ui: support quotes in configlist (issue2147) Several places that use ui.configlist, predominantly in authentication scenarios need to interface with systems that can contain spaces in usernames (e.g. when client certificates are usernames, or Windows usernames). This changeset introduces a parser that supports quoting of strings, and escape quotation marks that get decoded into a single quotation mark that adopts the usual behavior one would expect from quoting strings. The Python library shlex module is not used, on purpose, as that raises if it cannot match quotation marks in the given input.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
     1
======
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
     2
 hgrc
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
     3
======
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     4
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
     5
---------------------------------
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
     6
configuration files for Mercurial
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
     7
---------------------------------
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
     8
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
     9
:Author:         Bryan O'Sullivan <bos@serpentine.com>
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
    10
:Organization:   Mercurial
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
    11
:Manual section: 5
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
    12
:Manual group:   Mercurial Manual
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
    13
9422
ec26d6986d85 doc: add TOC to hg.1.html and hgrc.5.html
Martin Geisler <mg@lazybytes.net>
parents: 9381
diff changeset
    14
.. contents::
ec26d6986d85 doc: add TOC to hg.1.html and hgrc.5.html
Martin Geisler <mg@lazybytes.net>
parents: 9381
diff changeset
    15
   :backlinks: top
ec26d6986d85 doc: add TOC to hg.1.html and hgrc.5.html
Martin Geisler <mg@lazybytes.net>
parents: 9381
diff changeset
    16
   :class: htmlonly
ec26d6986d85 doc: add TOC to hg.1.html and hgrc.5.html
Martin Geisler <mg@lazybytes.net>
parents: 9381
diff changeset
    17
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    18
9792
dd1a95ccbe07 doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents: 9784
diff changeset
    19
Synopsis
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    20
--------
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    21
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    22
The Mercurial system uses a set of configuration files to control
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
    23
aspects of its behavior.
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    24
9792
dd1a95ccbe07 doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents: 9784
diff changeset
    25
Files
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    26
-----
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    27
1583
32a4e6802864 make mercurial look in more places for config files.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1485
diff changeset
    28
Mercurial reads configuration data from several files, if they exist.
32a4e6802864 make mercurial look in more places for config files.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1485
diff changeset
    29
The names of these files depend on the system on which Mercurial is
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
    30
installed. ``*.rc`` files from a single directory are read in
8782
d19ab9a56bf4 doc: wrap man pages after fixing quoting
Martin Geisler <mg@lazybytes.net>
parents: 8781
diff changeset
    31
alphabetical order, later ones overriding earlier ones. Where multiple
9659
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    32
paths are given below, settings from earlier paths override later
8782
d19ab9a56bf4 doc: wrap man pages after fixing quoting
Martin Geisler <mg@lazybytes.net>
parents: 8781
diff changeset
    33
ones.
951
859de3ebc041 Read global config file /etc/mercurial/hgrc and fix reading hgrc on Windows.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 938
diff changeset
    34
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
    35
| (Unix, Windows) ``<repo>/.hg/hgrc``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
    36
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    37
    Per-repository configuration options that only apply in a
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
    38
    particular repository. This file is not version-controlled, and
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
    39
    will not get transferred during a "clone" operation. Options in
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
    40
    this file override options in all other configuration files. On
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
    41
    Unix, most of this file will be ignored if it doesn't belong to a
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
    42
    trusted user or to a trusted group. See the documentation for the
9702
a9d15bf7efe2 doc: add some internal links to man pages
Martin Geisler <mg@lazybytes.net>
parents: 9701
diff changeset
    43
    trusted_ section below for more details.
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    44
9659
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    45
| (Unix) ``$HOME/.hgrc``
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    46
| (Windows) ``%USERPROFILE%\.hgrc``
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    47
| (Windows) ``%USERPROFILE%\Mercurial.ini``
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    48
| (Windows) ``%HOME%\.hgrc``
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    49
| (Windows) ``%HOME%\Mercurial.ini``
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    50
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    51
    Per-user configuration file(s), for the user running Mercurial. On
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    52
    Windows 9x, ``%HOME%`` is replaced by ``%APPDATA%``. Options in these
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    53
    files apply to all Mercurial commands executed by this user in any
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    54
    directory. Options in these files override per-system and per-installation
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    55
    options.
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    56
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    57
| (Unix) ``/etc/mercurial/hgrc``
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    58
| (Unix) ``/etc/mercurial/hgrc.d/*.rc``
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    59
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    60
    Per-system configuration files, for the system on which Mercurial
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    61
    is running. Options in these files apply to all Mercurial commands
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    62
    executed by any user in any directory. Options in these files
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    63
    override per-installation options.
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    64
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    65
| (Unix) ``<install-root>/etc/mercurial/hgrc``
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    66
| (Unix) ``<install-root>/etc/mercurial/hgrc.d/*.rc``
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    67
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    68
    Per-installation configuration files, searched for in the
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    69
    directory where Mercurial is installed. ``<install-root>`` is the
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    70
    parent directory of the **hg** executable (or symlink) being run. For
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    71
    example, if installed in ``/shared/tools/bin/hg``, Mercurial will look
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    72
    in ``/shared/tools/etc/mercurial/hgrc``. Options in these files apply
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    73
    to all Mercurial commands executed by any user in any directory.
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    74
10388
07bd7608a0ea win32: allow hgrc.d on Windows
Steve Borho <steve@borho.org>
parents: 10285
diff changeset
    75
| (Windows) ``<install-dir>\Mercurial.ini``
07bd7608a0ea win32: allow hgrc.d on Windows
Steve Borho <steve@borho.org>
parents: 10285
diff changeset
    76
| (Windows) ``<install-dir>\hgrc.d\*.rc``
9659
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    77
| (Windows) ``HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial``
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    78
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    79
    Per-installation/system configuration files, for the system on
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    80
    which Mercurial is running. Options in these files apply to all
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    81
    Mercurial commands executed by any user in any directory. Registry
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    82
    keys contain PATH-like strings, every part of which must reference
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    83
    a ``Mercurial.ini`` file or be a directory where ``*.rc`` files will
10388
07bd7608a0ea win32: allow hgrc.d on Windows
Steve Borho <steve@borho.org>
parents: 10285
diff changeset
    84
    be read.  Mercurial checks each of these locations in the specified
07bd7608a0ea win32: allow hgrc.d on Windows
Steve Borho <steve@borho.org>
parents: 10285
diff changeset
    85
    order until one or more configuration files are detected.  If the
10391
935ef1836b2f hgrc.5: Fix a typo
Steve Borho <steve@borho.org>
parents: 10388
diff changeset
    86
    pywin32 extensions are not installed, Mercurial will only look for
10388
07bd7608a0ea win32: allow hgrc.d on Windows
Steve Borho <steve@borho.org>
parents: 10285
diff changeset
    87
    site-wide configuration in ``C:\Mercurial\Mercurial.ini``.
9659
f53c549237ca hgrc.5.txt: mention hgrc categories with higher precedence first
Adrian Buehlmann <adrian@cadifra.com>
parents: 9630
diff changeset
    88
9792
dd1a95ccbe07 doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents: 9784
diff changeset
    89
Syntax
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    90
------
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    91
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
    92
A configuration file consists of sections, led by a ``[section]`` header
9784
54d292da1df7 hgrc.5: do not mention "name: value" syntax
Martin Geisler <mg@lazybytes.net>
parents: 9746
diff changeset
    93
and followed by ``name = value`` entries::
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    94
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    95
    [spam]
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    96
    eggs=ham
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    97
    green=
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    98
       eggs
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    99
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   100
Each line contains one entry. If the lines that follow are indented,
9701
0f235a427f95 hgrc.5: combined short paragraphs into one
Martin Geisler <mg@lazybytes.net>
parents: 9700
diff changeset
   101
they are treated as continuations of that entry. Leading whitespace is
0f235a427f95 hgrc.5: combined short paragraphs into one
Martin Geisler <mg@lazybytes.net>
parents: 9700
diff changeset
   102
removed from values. Empty lines are skipped. Lines beginning with
0f235a427f95 hgrc.5: combined short paragraphs into one
Martin Geisler <mg@lazybytes.net>
parents: 9700
diff changeset
   103
``#`` or ``;`` are ignored and may be used to provide comments.
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   104
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   105
A line of the form ``%include file`` will include ``file`` into the
9376
68f393788895 hgrc.5: document %include directive
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   106
current configuration file. The inclusion is recursive, which means
68f393788895 hgrc.5: document %include directive
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   107
that included files can include other files. Filenames are relative to
9377
4481ba0957c5 Merge with crew-stable
Martin Geisler <mg@lazybytes.net>
parents: 9363 9376
diff changeset
   108
the configuration file in which the ``%include`` directive is found.
9376
68f393788895 hgrc.5: document %include directive
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   109
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   110
A line with ``%unset name`` will remove ``name`` from the current
9380
e499a4147c66 hgrc.5: document %unset directive
Martin Geisler <mg@lazybytes.net>
parents: 9376
diff changeset
   111
section, if it has been set previously.
e499a4147c66 hgrc.5: document %unset directive
Martin Geisler <mg@lazybytes.net>
parents: 9376
diff changeset
   112
10980
30ae8174a597 hgrc.5: mention lists as well
Martin Geisler <mg@lazybytes.net>
parents: 10978
diff changeset
   113
The values are either free-form text strings, lists of text strings,
10982
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   114
or Boolean values. Boolean values can be set to true using any of "1",
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   115
"yes", "true", or "on" and to false using "0", "no", "false", or "off"
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   116
(all case insensitive).
10978
6a3377851d45 hgrc.5: describe form of config values
Martin Geisler <mg@lazybytes.net>
parents: 10485
diff changeset
   117
10982
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   118
List values are separated by whitespace or comma, except when values are
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   119
placed in double quotation marks::
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   120
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   121
  allow_read = "John Doe, PhD", brian, betty
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   122
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   123
Quotation marks can be escaped by prefixing them with a backslash. Only
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   124
quotation marks at the beginning of a word is counted as a quotation
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   125
(e.g., ``foo"bar baz`` is the list of ``foo"bar`` and ``baz``).
9376
68f393788895 hgrc.5: document %include directive
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   126
9792
dd1a95ccbe07 doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents: 9784
diff changeset
   127
Sections
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   128
--------
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   129
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   130
This section describes the different sections that may appear in a
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   131
Mercurial "hgrc" file, the purpose of each section, its possible keys,
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   132
and their possible values.
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   133
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   134
``alias``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   135
"""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   136
Defines command aliases.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   137
Aliases allow you to define your own commands in terms of other
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   138
commands (or aliases), optionally including arguments.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   139
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   140
Alias definitions consist of lines of the form::
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   141
8655
21688b8a594b Move alias into core
Brendan Cully <brendan@kublai.com>
parents: 8341
diff changeset
   142
    <alias> = <command> [<argument]...
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   143
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   144
For example, this definition::
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   145
8655
21688b8a594b Move alias into core
Brendan Cully <brendan@kublai.com>
parents: 8341
diff changeset
   146
    latest = log --limit 5
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   147
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   148
creates a new command ``latest`` that shows only the five most recent
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   149
changesets. You can define subsequent aliases using earlier ones::
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   150
8655
21688b8a594b Move alias into core
Brendan Cully <brendan@kublai.com>
parents: 8341
diff changeset
   151
    stable5 = latest -b stable
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   152
9700
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   153
.. note:: It is possible to create aliases with the same names as
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   154
   existing commands, which will then override the original
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   155
   definitions. This is almost always a bad idea!
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   156
8655
21688b8a594b Move alias into core
Brendan Cully <brendan@kublai.com>
parents: 8341
diff changeset
   157
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   158
``auth``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   159
""""""""
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   160
Authentication credentials for HTTP authentication. Each line has
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   161
the following format::
8333
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   162
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   163
    <name>.<argument> = <value>
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   164
9835
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   165
where ``<name>`` is used to group arguments into authentication
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   166
entries. Example::
8333
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   167
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   168
    foo.prefix = hg.intevation.org/mercurial
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   169
    foo.username = foo
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   170
    foo.password = bar
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   171
    foo.schemes = http https
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   172
8847
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   173
    bar.prefix = secure.example.org
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   174
    bar.key = path/to/file.key
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   175
    bar.cert = path/to/file.cert
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   176
    bar.schemes = https
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   177
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   178
Supported arguments:
8333
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   179
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   180
``prefix``
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   181
    Either ``*`` or a URI prefix with or without the scheme part.
8782
d19ab9a56bf4 doc: wrap man pages after fixing quoting
Martin Geisler <mg@lazybytes.net>
parents: 8781
diff changeset
   182
    The authentication entry with the longest matching prefix is used
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   183
    (where ``*`` matches everything and counts as a match of length
8782
d19ab9a56bf4 doc: wrap man pages after fixing quoting
Martin Geisler <mg@lazybytes.net>
parents: 8781
diff changeset
   184
    1). If the prefix doesn't include a scheme, the match is performed
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   185
    against the URI with its scheme stripped as well, and the schemes
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   186
    argument, q.v., is then subsequently consulted.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   187
``username``
8847
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   188
    Optional. Username to authenticate with. If not given, and the
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   189
    remote site requires basic or digest authentication, the user
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   190
    will be prompted for it.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   191
``password``
8847
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   192
    Optional. Password to authenticate with. If not given, and the
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   193
    remote site requires basic or digest authentication, the user
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   194
    will be prompted for it.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   195
``key``
8847
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   196
    Optional. PEM encoded client certificate key file.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   197
``cert``
8847
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   198
    Optional. PEM encoded client certificate chain file.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   199
``schemes``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   200
    Optional. Space separated list of URI schemes to use this
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   201
    authentication entry with. Only used if the prefix doesn't include
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   202
    a scheme. Supported schemes are http and https. They will match
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   203
    static-http and static-https respectively, as well.
8333
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   204
    Default: https.
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   205
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   206
If no suitable authentication entry is found, the user is prompted
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   207
for credentials as usual if required by the remote.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   208
8333
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   209
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   210
``decode/encode``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   211
"""""""""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   212
Filters for transforming files on checkout/checkin. This would
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   213
typically be used for newline processing or other
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   214
localization/canonicalization of files.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   215
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   216
Filters consist of a filter pattern followed by a filter command.
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   217
Filter patterns are globs by default, rooted at the repository root.
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   218
For example, to match any file ending in ``.txt`` in the root
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   219
directory only, use the pattern ``*.txt``. To match any file ending
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   220
in ``.c`` anywhere in the repository, use the pattern ``**.c``.
10211
a474f950357b Update test and man page for multiple matching encode/decode filters
Mads Kiilerich <mads@kiilerich.com>
parents: 10209
diff changeset
   221
For each file only the first matching filter applies.
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents: 1171
diff changeset
   222
9835
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   223
The filter command can start with a specifier, either ``pipe:`` or
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   224
``tempfile:``. If no specifier is given, ``pipe:`` is used by default.
1293
a6ffcebd3315 Enhance the file filtering capabilities.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1258
diff changeset
   225
9835
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   226
A ``pipe:`` command must accept data on stdin and return the transformed
8782
d19ab9a56bf4 doc: wrap man pages after fixing quoting
Martin Geisler <mg@lazybytes.net>
parents: 8781
diff changeset
   227
data on stdout.
1293
a6ffcebd3315 Enhance the file filtering capabilities.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1258
diff changeset
   228
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   229
Pipe example::
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents: 1171
diff changeset
   230
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   231
  [encode]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   232
  # uncompress gzip files on checkin to improve delta compression
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   233
  # note: not necessarily a good idea, just an example
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   234
  *.gz = pipe: gunzip
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents: 1171
diff changeset
   235
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   236
  [decode]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   237
  # recompress gzip files when writing them to the working dir (we
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   238
  # can safely omit "pipe:", because it's the default)
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   239
  *.gz = gzip
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents: 1171
diff changeset
   240
9835
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   241
A ``tempfile:`` command is a template. The string ``INFILE`` is replaced
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   242
with the name of a temporary file that contains the data to be
9835
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   243
filtered by the command. The string ``OUTFILE`` is replaced with the name
8782
d19ab9a56bf4 doc: wrap man pages after fixing quoting
Martin Geisler <mg@lazybytes.net>
parents: 8781
diff changeset
   244
of an empty temporary file, where the filtered data must be written by
d19ab9a56bf4 doc: wrap man pages after fixing quoting
Martin Geisler <mg@lazybytes.net>
parents: 8781
diff changeset
   245
the command.
1293
a6ffcebd3315 Enhance the file filtering capabilities.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1258
diff changeset
   246
9700
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   247
.. note:: The tempfile mechanism is recommended for Windows systems,
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   248
   where the standard shell I/O redirection operators often have
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   249
   strange effects and may corrupt the contents of your files.
1293
a6ffcebd3315 Enhance the file filtering capabilities.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1258
diff changeset
   250
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   251
The most common usage is for LF <-> CRLF translation on Windows. For
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   252
this, use the "smart" converters which check for binary files::
1293
a6ffcebd3315 Enhance the file filtering capabilities.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1258
diff changeset
   253
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   254
  [extensions]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   255
  hgext.win32text =
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   256
  [encode]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   257
  ** = cleverencode:
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   258
  [decode]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   259
  ** = cleverdecode:
5678
d3909674fcea man 5 hgrc implied you need to use external tools to do CRLF translation.
Jesse Glick <jesse.glick@sun.com>
parents: 5634
diff changeset
   260
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   261
or if you only want to translate certain files::
5678
d3909674fcea man 5 hgrc implied you need to use external tools to do CRLF translation.
Jesse Glick <jesse.glick@sun.com>
parents: 5634
diff changeset
   262
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   263
  [extensions]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   264
  hgext.win32text =
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   265
  [encode]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   266
  **.txt = dumbencode:
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   267
  [decode]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   268
  **.txt = dumbdecode:
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   269
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   270
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   271
``defaults``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   272
""""""""""""
1293
a6ffcebd3315 Enhance the file filtering capabilities.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1258
diff changeset
   273
9630
24dad078603b doc/hgrc.5.txt: deprecate [defaults]
Adrian Buehlmann <adrian@cadifra.com>
parents: 9624
diff changeset
   274
(defaults are deprecated. Don't use them. Use aliases instead)
24dad078603b doc/hgrc.5.txt: deprecate [defaults]
Adrian Buehlmann <adrian@cadifra.com>
parents: 9624
diff changeset
   275
9835
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   276
Use the ``[defaults]`` section to define command defaults, i.e. the
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   277
default options/arguments to pass to the specified commands.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   278
10975
db4d7077f48d doc: add links from hgrc.5 to hg.1
Martin Geisler <mg@aragost.com>
parents: 10485
diff changeset
   279
The following example makes :hg:`log` run in verbose mode, and :hg:`hg
db4d7077f48d doc: add links from hgrc.5 to hg.1
Martin Geisler <mg@aragost.com>
parents: 10485
diff changeset
   280
status` show only the modified files, by default::
5081
ea7b982b6c08 Remove trailing spaces
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4717
diff changeset
   281
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   282
  [defaults]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   283
  log = -v
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   284
  status = -m
5081
ea7b982b6c08 Remove trailing spaces
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4717
diff changeset
   285
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   286
The actual commands, instead of their aliases, must be used when
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   287
defining command defaults. The command defaults will also be applied
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   288
to the aliases of the commands defined.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   289
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   290
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   291
``diff``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   292
""""""""
3039
77637938d43d add document on command defaults
TK Soh <teekaysoh@yahoo.com>
parents: 3021
diff changeset
   293
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   294
Settings used when displaying diffs. They are all Boolean and
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   295
defaults to False.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   296
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   297
``git``
4011
15955d84bc68 add [diff] section to hgrc documentation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3835
diff changeset
   298
    Use git extended diff format.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   299
``nodates``
4011
15955d84bc68 add [diff] section to hgrc documentation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3835
diff changeset
   300
    Don't include dates in diff headers.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   301
``showfunc``
4011
15955d84bc68 add [diff] section to hgrc documentation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3835
diff changeset
   302
    Show which function each change is in.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   303
``ignorews``
4011
15955d84bc68 add [diff] section to hgrc documentation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3835
diff changeset
   304
    Ignore white space when comparing lines.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   305
``ignorewsamount``
4011
15955d84bc68 add [diff] section to hgrc documentation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3835
diff changeset
   306
    Ignore changes in the amount of white space.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   307
``ignoreblanklines``
4011
15955d84bc68 add [diff] section to hgrc documentation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3835
diff changeset
   308
    Ignore changes whose lines are all blank.
15955d84bc68 add [diff] section to hgrc documentation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3835
diff changeset
   309
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   310
``email``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   311
"""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   312
Settings for extensions that send email messages.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   313
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   314
``from``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   315
    Optional. Email address to use in "From" header and SMTP envelope
2200
9f43b6e24232 move mail sending code into core, so extensions can share it.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2197
diff changeset
   316
    of outgoing messages.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   317
``to``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   318
    Optional. Comma-separated list of recipients' email addresses.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   319
``cc``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   320
    Optional. Comma-separated list of carbon copy recipients'
2691
accadcb4e4b5 email: reflect that recipients are specified as comma-separated list
Christian Ebert <blacktrash@gmx.net>
parents: 2680
diff changeset
   321
    email addresses.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   322
``bcc``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   323
    Optional. Comma-separated list of blind carbon copy recipients'
10283
2ae7f001b61d hgrc.5: whether bcc is prompted for is up to the extension
Christian Ebert <blacktrash@gmx.net>
parents: 10263
diff changeset
   324
    email addresses.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   325
``method``
9835
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   326
    Optional. Method to use to send email messages. If value is ``smtp``
9702
a9d15bf7efe2 doc: add some internal links to man pages
Martin Geisler <mg@lazybytes.net>
parents: 9701
diff changeset
   327
    (default), use SMTP (see the SMTP_ section for configuration).
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   328
    Otherwise, use as name of program to run that acts like sendmail
9835
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   329
    (takes ``-f`` option for sender, list of recipients on command line,
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   330
    message on stdin). Normally, setting this to ``sendmail`` or
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   331
    ``/usr/sbin/sendmail`` is enough to use sendmail to send messages.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   332
``charsets``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   333
    Optional. Comma-separated list of character sets considered
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   334
    convenient for recipients. Addresses, headers, and parts not
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   335
    containing patches of outgoing messages will be encoded in the
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   336
    first character set to which conversion from local encoding
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   337
    (``$HGENCODING``, ``ui.fallbackencoding``) succeeds. If correct
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   338
    conversion fails, the text in question is sent as is. Defaults to
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   339
    empty (explicit) list.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   340
9744
e8990ce2f2d4 hgrc.5: use enumerated list for email charsets
Martin Geisler <mg@lazybytes.net>
parents: 9743
diff changeset
   341
    Order of outgoing email character sets:
7241
421f4cbddd68 hgrc.5: explain order of mail.charsets
Christian Ebert <blacktrash@gmx.net>
parents: 7235
diff changeset
   342
9744
e8990ce2f2d4 hgrc.5: use enumerated list for email charsets
Martin Geisler <mg@lazybytes.net>
parents: 9743
diff changeset
   343
    1. ``us-ascii``: always first, regardless of settings
e8990ce2f2d4 hgrc.5: use enumerated list for email charsets
Martin Geisler <mg@lazybytes.net>
parents: 9743
diff changeset
   344
    2. ``email.charsets``: in order given by user
e8990ce2f2d4 hgrc.5: use enumerated list for email charsets
Martin Geisler <mg@lazybytes.net>
parents: 9743
diff changeset
   345
    3. ``ui.fallbackencoding``: if not in email.charsets
e8990ce2f2d4 hgrc.5: use enumerated list for email charsets
Martin Geisler <mg@lazybytes.net>
parents: 9743
diff changeset
   346
    4. ``$HGENCODING``: if not in email.charsets
e8990ce2f2d4 hgrc.5: use enumerated list for email charsets
Martin Geisler <mg@lazybytes.net>
parents: 9743
diff changeset
   347
    5. ``utf-8``: always last, regardless of settings
2292
903ab41ac7eb allow to send email using sendmail.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2288
diff changeset
   348
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   349
Email example::
2292
903ab41ac7eb allow to send email using sendmail.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2288
diff changeset
   350
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   351
  [email]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   352
  from = Joseph User <joe.user@example.com>
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   353
  method = /usr/sbin/sendmail
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   354
  # charsets for western Europeans
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   355
  # us-ascii, utf-8 omitted, as they are tried first and last
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   356
  charsets = iso-8859-1, iso-8859-15, windows-1252
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   357
2200
9f43b6e24232 move mail sending code into core, so extensions can share it.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2197
diff changeset
   358
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   359
``extensions``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   360
""""""""""""""
2200
9f43b6e24232 move mail sending code into core, so extensions can share it.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2197
diff changeset
   361
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   362
Mercurial has an extension mechanism for adding new features. To
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   363
enable an extension, create an entry for it in this section.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   364
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   365
If you know that the extension is already in Python's search path,
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   366
you can give the name of the module, followed by ``=``, with nothing
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   367
after the ``=``.
2211
b8b7a79a4d88 document [extensions] in doc/hgrc.5.txt.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2209
diff changeset
   368
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   369
Otherwise, give a name that you choose, followed by ``=``, followed by
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   370
the path to the ``.py`` file (including the file name extension) that
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   371
defines the extension.
2211
b8b7a79a4d88 document [extensions] in doc/hgrc.5.txt.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2209
diff changeset
   372
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   373
To explicitly disable an extension that is enabled in an hgrc of
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   374
broader scope, prepend its path with ``!``, as in
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   375
``hgext.foo = !/ext/path`` or ``hgext.foo = !``  when path is not
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   376
supplied.
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   377
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   378
Example for ``~/.hgrc``::
6175
7f9f3233a2c6 add explicit extension disabling syntax to hgrc.5
Steve Borho <steve@borho.org>
parents: 6142
diff changeset
   379
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   380
  [extensions]
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   381
  # (the mq extension will get loaded from Mercurial's path)
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   382
  hgext.mq =
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   383
  # (this extension will get loaded from the file specified)
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   384
  myfeature = ~/.hgext/myfeature.py
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   385
2387
62ce297f214f Expand '~' in path to extensions.
Markus F.X.J. Oberhumer <markus@oberhumer.com>
parents: 2358
diff changeset
   386
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   387
``format``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   388
""""""""""
4163
fe41d9a186ab Allow disabling store format to work with absurdly long filenames
Matt Mackall <mpm@selenic.com>
parents: 4084
diff changeset
   389
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   390
``usestore``
4163
fe41d9a186ab Allow disabling store format to work with absurdly long filenames
Matt Mackall <mpm@selenic.com>
parents: 4084
diff changeset
   391
    Enable or disable the "store" repository format which improves
fe41d9a186ab Allow disabling store format to work with absurdly long filenames
Matt Mackall <mpm@selenic.com>
parents: 4084
diff changeset
   392
    compatibility with systems that fold case or otherwise mangle
fe41d9a186ab Allow disabling store format to work with absurdly long filenames
Matt Mackall <mpm@selenic.com>
parents: 4084
diff changeset
   393
    filenames. Enabled by default. Disabling this option will allow
fe41d9a186ab Allow disabling store format to work with absurdly long filenames
Matt Mackall <mpm@selenic.com>
parents: 4084
diff changeset
   394
    you to store longer filenames in some situations at the expense of
7235
7488a1f14e3c Document config option format.usefncache and improve format.usestore docs.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 7117
diff changeset
   395
    compatibility and ensures that the on-disk format of newly created
7488a1f14e3c Document config option format.usefncache and improve format.usestore docs.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 7117
diff changeset
   396
    repositories will be compatible with Mercurial before version 0.9.4.
7488a1f14e3c Document config option format.usefncache and improve format.usestore docs.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 7117
diff changeset
   397
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   398
``usefncache``
7235
7488a1f14e3c Document config option format.usefncache and improve format.usestore docs.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 7117
diff changeset
   399
    Enable or disable the "fncache" repository format which enhances
7488a1f14e3c Document config option format.usefncache and improve format.usestore docs.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 7117
diff changeset
   400
    the "store" repository format (which has to be enabled to use
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   401
    fncache) to allow longer filenames and avoids using Windows
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   402
    reserved names, e.g. "nul". Enabled by default. Disabling this
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   403
    option ensures that the on-disk format of newly created
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   404
    repositories will be compatible with Mercurial before version 1.1.
4163
fe41d9a186ab Allow disabling store format to work with absurdly long filenames
Matt Mackall <mpm@selenic.com>
parents: 4084
diff changeset
   405
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   406
``merge-patterns``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   407
""""""""""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   408
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   409
This section specifies merge tools to associate with particular file
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   410
patterns. Tools matched here will take precedence over the default
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   411
merge tool. Patterns are globs by default, rooted at the repository
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   412
root.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   413
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   414
Example::
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   415
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   416
  [merge-patterns]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   417
  **.c = kdiff3
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   418
  **.jpg = myimgmerge
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   419
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   420
``merge-tools``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   421
"""""""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   422
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   423
This section configures external merge tools to use for file-level
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   424
merges.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   425
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   426
Example ``~/.hgrc``::
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   427
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   428
  [merge-tools]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   429
  # Override stock tool location
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   430
  kdiff3.executable = ~/bin/kdiff3
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   431
  # Specify command line
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   432
  kdiff3.args = $base $local $other -o $output
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   433
  # Give higher priority
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   434
  kdiff3.priority = 1
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   435
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   436
  # Define new tool
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   437
  myHtmlTool.args = -m $local $other $base $output
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   438
  myHtmlTool.regkey = Software\FooSoftware\HtmlMerge
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   439
  myHtmlTool.priority = 1
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   440
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   441
Supported arguments:
6445
a1db3d8b9b8a hgrc.5: fix subsection formatting
Christian Ebert <blacktrash@gmx.net>
parents: 6325
diff changeset
   442
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   443
``priority``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   444
  The priority in which to evaluate this tool.
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   445
  Default: 0.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   446
``executable``
10485
677fee0a0604 hgrc.5: document use of environment variables on Windows
Steve Borho <steve@borho.org>
parents: 10419
diff changeset
   447
  Either just the name of the executable or its pathname.  On Windows,
677fee0a0604 hgrc.5: document use of environment variables on Windows
Steve Borho <steve@borho.org>
parents: 10419
diff changeset
   448
  the path can use environment variables with ${ProgramFiles} syntax.
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   449
  Default: the tool name.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   450
``args``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   451
  The arguments to pass to the tool executable. You can refer to the
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   452
  files being merged as well as the output file through these
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   453
  variables: ``$base``, ``$local``, ``$other``, ``$output``.
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   454
  Default: ``$local $base $other``
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   455
``premerge``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   456
  Attempt to run internal non-interactive 3-way merge tool before
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   457
  launching external tool.
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   458
  Default: True
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   459
``binary``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   460
  This tool can merge binary files. Defaults to False, unless tool
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   461
  was selected by file pattern match.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   462
``symlink``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   463
  This tool can merge symlinks. Defaults to False, even if tool was
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   464
  selected by file pattern match.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   465
``checkconflicts``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   466
  Check whether there are conflicts even though the tool reported
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   467
  success.
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   468
  Default: False
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   469
``checkchanged``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   470
  Check whether outputs were written even though the tool reported
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   471
  success.
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   472
  Default: False
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   473
``fixeol``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   474
  Attempt to fix up EOL changes caused by the merge tool.
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   475
  Default: False
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   476
``gui``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   477
  This tool requires a graphical interface to run. Default: False
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   478
``regkey``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   479
  Windows registry key which describes install location of this
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   480
  tool. Mercurial will search for this key first under
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   481
  ``HKEY_CURRENT_USER`` and then under ``HKEY_LOCAL_MACHINE``.
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   482
  Default: None
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   483
``regname``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   484
  Name of value to read from specified registry key. Defaults to the
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   485
  unnamed (default) value.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   486
``regappend``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   487
  String to append to the value read from the registry, typically
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   488
  the executable name of the tool.
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   489
  Default: None
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   490
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   491
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   492
``hooks``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   493
"""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   494
Commands or Python functions that get automatically executed by
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   495
various actions such as starting or finishing a commit. Multiple
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   496
hooks can be run for the same action by appending a suffix to the
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   497
action. Overriding a site-wide hook can be done by changing its
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   498
value or setting it to an empty string.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   499
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   500
Example ``.hg/hgrc``::
1485
625f3f13d7be mention running multiple hooks in the doc
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1316
diff changeset
   501
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   502
  [hooks]
9830
ab1625ccf3a9 hgrc.5: oft-requested "hg update" hook example
Martin Geisler <mg@lazybytes.net>
parents: 9792
diff changeset
   503
  # update working directory after adding changesets
ab1625ccf3a9 hgrc.5: oft-requested "hg update" hook example
Martin Geisler <mg@lazybytes.net>
parents: 9792
diff changeset
   504
  changegroup.update = hg update
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   505
  # do not use the site-wide hook
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   506
  incoming =
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   507
  incoming.email = /my/email/hook
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   508
  incoming.autobuild = /my/build/hook
1485
625f3f13d7be mention running multiple hooks in the doc
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1316
diff changeset
   509
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   510
Most hooks are run with environment variables set that give useful
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   511
additional information. For each hook below, the environment
9746
2dee9a359262 hgrc.5: mark more inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9745
diff changeset
   512
variables it is passed are listed with names of the form ``$HG_foo``.
1727
019e6a47a53e fix names of parent changeset ids in hooks.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1726
diff changeset
   513
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   514
``changegroup``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   515
  Run after a changegroup has been added via push, pull or unbundle.
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   516
  ID of the first new changeset is in ``$HG_NODE``. URL from which
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   517
  changes came is in ``$HG_URL``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   518
``commit``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   519
  Run after a changeset has been created in the local repository. ID
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   520
  of the newly created changeset is in ``$HG_NODE``. Parent changeset
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   521
  IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   522
``incoming``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   523
  Run after a changeset has been pulled, pushed, or unbundled into
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   524
  the local repository. The ID of the newly arrived changeset is in
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   525
  ``$HG_NODE``. URL that was source of changes came is in ``$HG_URL``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   526
``outgoing``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   527
  Run after sending changes from local repository to another. ID of
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   528
  first changeset sent is in ``$HG_NODE``. Source of operation is in
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   529
  ``$HG_SOURCE``; see "preoutgoing" hook for description.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   530
``post-<command>``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   531
  Run after successful invocations of the associated command. The
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   532
  contents of the command line are passed as ``$HG_ARGS`` and the result
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   533
  code in ``$HG_RESULT``. Hook failure is ignored.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   534
``pre-<command>``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   535
  Run before executing the associated command. The contents of the
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   536
  command line are passed as ``$HG_ARGS``. If the hook returns failure,
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   537
  the command doesn't execute and Mercurial returns the failure
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   538
  code.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   539
``prechangegroup``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   540
  Run before a changegroup is added via push, pull or unbundle. Exit
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   541
  status 0 allows the changegroup to proceed. Non-zero status will
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   542
  cause the push, pull or unbundle to fail. URL from which changes
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   543
  will come is in ``$HG_URL``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   544
``precommit``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   545
  Run before starting a local commit. Exit status 0 allows the
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   546
  commit to proceed. Non-zero status will cause the commit to fail.
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   547
  Parent changeset IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   548
``preoutgoing``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   549
  Run before collecting changes to send from the local repository to
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   550
  another. Non-zero status will cause failure. This lets you prevent
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   551
  pull over HTTP or SSH. Also prevents against local pull, push
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   552
  (outbound) or bundle commands, but not effective, since you can
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   553
  just copy files instead then. Source of operation is in
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   554
  ``$HG_SOURCE``. If "serve", operation is happening on behalf of remote
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   555
  SSH or HTTP repository. If "push", "pull" or "bundle", operation
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   556
  is happening on behalf of repository on same system.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   557
``pretag``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   558
  Run before creating a tag. Exit status 0 allows the tag to be
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   559
  created. Non-zero status will cause the tag to fail. ID of
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   560
  changeset to tag is in ``$HG_NODE``. Name of tag is in ``$HG_TAG``. Tag is
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   561
  local if ``$HG_LOCAL=1``, in repository if ``$HG_LOCAL=0``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   562
``pretxnchangegroup``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   563
  Run after a changegroup has been added via push, pull or unbundle,
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   564
  but before the transaction has been committed. Changegroup is
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   565
  visible to hook program. This lets you validate incoming changes
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   566
  before accepting them. Passed the ID of the first new changeset in
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   567
  ``$HG_NODE``. Exit status 0 allows the transaction to commit. Non-zero
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   568
  status will cause the transaction to be rolled back and the push,
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   569
  pull or unbundle will fail. URL that was source of changes is in
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   570
  ``$HG_URL``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   571
``pretxncommit``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   572
  Run after a changeset has been created but the transaction not yet
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   573
  committed. Changeset is visible to hook program. This lets you
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   574
  validate commit message and changes. Exit status 0 allows the
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   575
  commit to proceed. Non-zero status will cause the transaction to
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   576
  be rolled back. ID of changeset is in ``$HG_NODE``. Parent changeset
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   577
  IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   578
``preupdate``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   579
  Run before updating the working directory. Exit status 0 allows
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   580
  the update to proceed. Non-zero status will prevent the update.
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   581
  Changeset ID of first new parent is in ``$HG_PARENT1``. If merge, ID
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   582
  of second new parent is in ``$HG_PARENT2``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   583
``tag``
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   584
  Run after a tag is created. ID of tagged changeset is in ``$HG_NODE``.
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   585
  Name of tag is in ``$HG_TAG``. Tag is local if ``$HG_LOCAL=1``, in
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   586
  repository if ``$HG_LOCAL=0``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   587
``update``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   588
  Run after updating the working directory. Changeset ID of first
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   589
  new parent is in ``$HG_PARENT1``. If merge, ID of second new parent is
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   590
  in ``$HG_PARENT2``. If the update succeeded, ``$HG_ERROR=0``. If the
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   591
  update failed (e.g. because conflicts not resolved), ``$HG_ERROR=1``.
1726
56fb048b102c prefix hook env var names with HG_.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1721
diff changeset
   592
9700
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   593
.. note:: It is generally better to use standard hooks rather than the
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   594
   generic pre- and post- command hooks as they are guaranteed to be
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   595
   called in the appropriate contexts for influencing transactions.
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   596
   Also, hooks like "commit" will be called in all contexts that
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   597
   generate a commit (e.g. tag) and not just the commit command.
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   598
9700
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   599
.. note:: Environment variables with empty values may not be passed to
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   600
   hooks on platforms such as Windows. As an example, ``$HG_PARENT2``
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   601
   will have an empty value under Unix-like platforms for non-merge
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   602
   changesets, while it will not be available at all under Windows.
4641
54b735135fd3 Document empty environment variables not being passed to hooks under Windows.
Patrick Mezard <pmezard@gmail.com>
parents: 4052
diff changeset
   603
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   604
The syntax for Python hooks is as follows::
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2003
diff changeset
   605
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   606
  hookname = python:modulename.submodule.callable
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   607
  hookname = python:/path/to/python/module.py:callable
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2003
diff changeset
   608
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   609
Python hooks are run within the Mercurial process. Each hook is
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   610
called with at least three keyword arguments: a ui object (keyword
9835
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   611
``ui``), a repository object (keyword ``repo``), and a ``hooktype``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   612
keyword that tells what kind of hook is used. Arguments listed as
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   613
environment variables above are passed as keyword arguments, with no
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   614
``HG_`` prefix, and names in lower case.
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2003
diff changeset
   615
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   616
If a Python hook returns a "true" value or raises an exception, this
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   617
is treated as a failure.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   618
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2003
diff changeset
   619
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   620
``http_proxy``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   621
""""""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   622
Used to access web-based Mercurial repositories through a HTTP
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   623
proxy.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   624
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   625
``host``
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   626
    Host name and (optional) port of the proxy server, for example
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   627
    "myproxy:8000".
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   628
``no``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   629
    Optional. Comma-separated list of host names that should bypass
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   630
    the proxy.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   631
``passwd``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   632
    Optional. Password to authenticate with at the proxy server.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   633
``user``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   634
    Optional. User name to authenticate with at the proxy server.
10416
4cfd0d56be6d doc: add missing documentation for http_proxy.always
Henrik Stuart <hg@hstuart.dk>
parents: 10409
diff changeset
   635
``always``
4cfd0d56be6d doc: add missing documentation for http_proxy.always
Henrik Stuart <hg@hstuart.dk>
parents: 10409
diff changeset
   636
    Optional. Always use the proxy, even for localhost and any entries
4cfd0d56be6d doc: add missing documentation for http_proxy.always
Henrik Stuart <hg@hstuart.dk>
parents: 10409
diff changeset
   637
    in ``http_proxy.no``. True or False. Default: False.
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   638
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   639
``smtp``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   640
""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   641
Configuration for extensions that need to send email messages.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   642
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   643
``host``
2853
619f1c65384c Adjusted documentation for hgrc's "[smtp] host" for change in 9f745d3675d4.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2691
diff changeset
   644
    Host name of mail server, e.g. "mail.example.com".
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   645
``port``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   646
    Optional. Port to connect to on mail server. Default: 25.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   647
``tls``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   648
    Optional. Whether to connect to mail server using TLS. True or
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   649
    False. Default: False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   650
``username``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   651
    Optional. User name to authenticate to SMTP server with. If
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   652
    username is specified, password must also be specified.
2200
9f43b6e24232 move mail sending code into core, so extensions can share it.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2197
diff changeset
   653
    Default: none.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   654
``password``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   655
    Optional. Password to authenticate to SMTP server with. If
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   656
    username is specified, password must also be specified.
2200
9f43b6e24232 move mail sending code into core, so extensions can share it.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2197
diff changeset
   657
    Default: none.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   658
``local_hostname``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   659
    Optional. It's the hostname that the sender can use to identify
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   660
    itself to the MTA.
2200
9f43b6e24232 move mail sending code into core, so extensions can share it.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2197
diff changeset
   661
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   662
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   663
``patch``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   664
"""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   665
Settings used when applying patches, for instance through the 'import'
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   666
command or with Mercurial Queues extension.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   667
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   668
``eol``
8810
ac92775b3b80 Add patch.eol to ignore EOLs when patching (issue1019)
Patrick Mezard <pmezard@gmail.com>
parents: 8782
diff changeset
   669
    When set to 'strict' patch content and patched files end of lines
10127
d8214e944b84 patch: fix eolmode=auto with new files
Patrick Mezard <pmezard@gmail.com>
parents: 10102
diff changeset
   670
    are preserved. When set to ``lf`` or ``crlf``, both files end of
d8214e944b84 patch: fix eolmode=auto with new files
Patrick Mezard <pmezard@gmail.com>
parents: 10102
diff changeset
   671
    lines are ignored when patching and the result line endings are
10102
1720d70cd6d4 patch: implement patch.eol=auto mode
Martin Geisler <mg@lazybytes.net>
parents: 9835
diff changeset
   672
    normalized to either LF (Unix) or CRLF (Windows). When set to
1720d70cd6d4 patch: implement patch.eol=auto mode
Martin Geisler <mg@lazybytes.net>
parents: 9835
diff changeset
   673
    ``auto``, end of lines are again ignored while patching but line
1720d70cd6d4 patch: implement patch.eol=auto mode
Martin Geisler <mg@lazybytes.net>
parents: 9835
diff changeset
   674
    endings in patched files are normalized to their original setting
10127
d8214e944b84 patch: fix eolmode=auto with new files
Patrick Mezard <pmezard@gmail.com>
parents: 10102
diff changeset
   675
    on a per-file basis. If target file does not exist or has no end
d8214e944b84 patch: fix eolmode=auto with new files
Patrick Mezard <pmezard@gmail.com>
parents: 10102
diff changeset
   676
    of line, patch line endings are preserved.
8810
ac92775b3b80 Add patch.eol to ignore EOLs when patching (issue1019)
Patrick Mezard <pmezard@gmail.com>
parents: 8782
diff changeset
   677
    Default: strict.
ac92775b3b80 Add patch.eol to ignore EOLs when patching (issue1019)
Patrick Mezard <pmezard@gmail.com>
parents: 8782
diff changeset
   678
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   679
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   680
``paths``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   681
"""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   682
Assigns symbolic names to repositories. The left side is the
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   683
symbolic name, and the right gives the directory or URL that is the
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   684
location of the repository. Default paths can be declared by setting
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   685
the following entries.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   686
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   687
``default``
2277
066d0055e430 Add more specific documentation about defaults for the [paths] section
Daniel <byteshack@gmail.com>
parents: 2266
diff changeset
   688
    Directory or URL to use when pulling if no source is specified.
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   689
    Default is set to repository from which the current repository was
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   690
    cloned.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   691
``default-push``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   692
    Optional. Directory or URL to use when pushing if no destination
2277
066d0055e430 Add more specific documentation about defaults for the [paths] section
Daniel <byteshack@gmail.com>
parents: 2266
diff changeset
   693
    is specified.
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   694
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   695
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   696
``profiling``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   697
"""""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   698
Specifies profiling format and file output. In this section
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   699
description, 'profiling data' stands for the raw data collected
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   700
during profiling, while 'profiling report' stands for a statistical
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   701
text report generated from the profiling data. The profiling is done
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   702
using lsprof.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   703
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   704
``format``
8023
fd9debb3ea1b profiling: Adding a profiling.format config variable
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8022
diff changeset
   705
    Profiling format.
fd9debb3ea1b profiling: Adding a profiling.format config variable
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8022
diff changeset
   706
    Default: text.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   707
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   708
    ``text``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   709
      Generate a profiling report. When saving to a file, it should be
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   710
      noted that only the report is saved, and the profiling data is
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   711
      not kept.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   712
    ``kcachegrind``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   713
      Format profiling data for kcachegrind use: when saving to a
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   714
      file, the generated file can directly be loaded into
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   715
      kcachegrind.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   716
``output``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   717
    File path where profiling data or report should be saved. If the
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   718
    file exists, it is replaced. Default: None, data is printed on
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   719
    stderr
8022
4f3fdfaa3874 profiling: Adding profiling.output config variable
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7916
diff changeset
   720
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   721
``server``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   722
""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   723
Controls generic server settings.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   724
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   725
``uncompressed``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   726
    Whether to allow clients to clone a repository using the
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   727
    uncompressed streaming protocol. This transfers about 40% more
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   728
    data than a regular clone, but uses less memory and CPU on both
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   729
    server and client. Over a LAN (100 Mbps or better) or a very fast
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   730
    WAN, an uncompressed streaming clone is a lot faster (~10x) than a
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   731
    regular clone. Over most WAN connections (anything slower than
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   732
    about 6 Mbps), uncompressed streaming is slower, because of the
10419
992dc3d39357 hgrc: update docs for the server section
Matt Mackall <mpm@selenic.com>
parents: 10416
diff changeset
   733
    extra data transfer overhead. This mode will also temporarily hold
992dc3d39357 hgrc: update docs for the server section
Matt Mackall <mpm@selenic.com>
parents: 10416
diff changeset
   734
    the write lock while determining what data to transfer.
992dc3d39357 hgrc: update docs for the server section
Matt Mackall <mpm@selenic.com>
parents: 10416
diff changeset
   735
    Default is True.
2621
5a5852a417b1 clone: disable stream support on server side by default.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2583
diff changeset
   736
10419
992dc3d39357 hgrc: update docs for the server section
Matt Mackall <mpm@selenic.com>
parents: 10416
diff changeset
   737
``validate``
992dc3d39357 hgrc: update docs for the server section
Matt Mackall <mpm@selenic.com>
parents: 10416
diff changeset
   738
    Whether to validate the completeness of pushed changesets by
992dc3d39357 hgrc: update docs for the server section
Matt Mackall <mpm@selenic.com>
parents: 10416
diff changeset
   739
    checking that all new file revisions specified in manifests are
992dc3d39357 hgrc: update docs for the server section
Matt Mackall <mpm@selenic.com>
parents: 10416
diff changeset
   740
    present. Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   741
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   742
``trusted``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   743
"""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   744
For security reasons, Mercurial will not use the settings in the
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   745
``.hg/hgrc`` file from a repository if it doesn't belong to a trusted
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   746
user or to a trusted group. The main exception is the web interface,
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   747
which automatically uses some safe settings, since it's common to
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   748
serve repositories from different users.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   749
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   750
This section specifies what users and groups are trusted. The
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   751
current user is always trusted. To trust everybody, list a user or a
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   752
group with name ``*``.
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
   753
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   754
``users``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   755
  Comma-separated list of trusted users.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   756
``groups``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   757
  Comma-separated list of trusted groups.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   758
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3489
diff changeset
   759
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   760
``ui``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   761
""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   762
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   763
User interface controls.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   764
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   765
``archivemeta``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   766
    Whether to include the .hg_archival.txt file containing meta data
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   767
    (hashes for the repository base and for tip) in archives created
10975
db4d7077f48d doc: add links from hgrc.5 to hg.1
Martin Geisler <mg@aragost.com>
parents: 10485
diff changeset
   768
    by the :hg:`archive` command or downloaded via hgweb.
9699
7f4a792e50eb hgrc.5: capitalize True and False consistently
Martin Geisler <mg@lazybytes.net>
parents: 9697
diff changeset
   769
    Default is True.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   770
``askusername``
6862
7192876ac329 ui: add an option to prompt for the username when it isn't provided
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 6614
diff changeset
   771
    Whether to prompt for a username when committing. If True, and
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   772
    neither ``$HGUSER`` nor ``$EMAIL`` has been specified, then the user will
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   773
    be prompted to enter a username. If no username is entered, the
9745
5b8e0da2d59b hgrc.5: do not turn random URLs into links
Martin Geisler <mg@lazybytes.net>
parents: 9744
diff changeset
   774
    default ``USER@HOST`` is used instead.
6862
7192876ac329 ui: add an option to prompt for the username when it isn't provided
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 6614
diff changeset
   775
    Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   776
``debug``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   777
    Print debugging information. True or False. Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   778
``editor``
9746
2dee9a359262 hgrc.5: mark more inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9745
diff changeset
   779
    The editor to use during a commit. Default is ``$EDITOR`` or ``vi``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   780
``fallbackencoding``
3835
d1ce5461beed Allow the user to specify the fallback encoding for the changelog
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3721
diff changeset
   781
    Encoding to try if it's not possible to decode the changelog using
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   782
    UTF-8. Default is ISO-8859-1.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   783
``ignore``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   784
    A file to read per-user ignore patterns from. This file should be
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   785
    in the same format as a repository-wide .hgignore file. This
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   786
    option supports hook syntax, so if you want to specify multiple
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   787
    ignore files, you can do so by setting something like
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   788
    ``ignore.other = ~/.hgignore2``. For details of the ignore file
9162
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents: 9161
diff changeset
   789
    format, see the |hgignore(5)|_ man page.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   790
``interactive``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   791
    Allow to prompt the user. True or False. Default is True.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   792
``logtemplate``
1907
7718885070b1 let commands that show changesets use templates.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1788
diff changeset
   793
    Template string for commands that print changesets.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   794
``merge``
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   795
    The conflict resolution program to use during a manual merge.
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   796
    There are some internal tools available:
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   797
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   798
    ``internal:local``
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   799
        keep the local version
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   800
    ``internal:other``
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   801
        use the other version
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   802
    ``internal:merge``
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   803
        use the internal non-interactive merge tool
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   804
    ``internal:fail``
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   805
        fail to merge
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   806
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   807
For more information on configuring merge tools see the
9702
a9d15bf7efe2 doc: add some internal links to man pages
Martin Geisler <mg@lazybytes.net>
parents: 9701
diff changeset
   808
merge-tools_ section.
6445
a1db3d8b9b8a hgrc.5: fix subsection formatting
Christian Ebert <blacktrash@gmx.net>
parents: 6325
diff changeset
   809
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   810
``patch``
9746
2dee9a359262 hgrc.5: mark more inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9745
diff changeset
   811
    command to use to apply patches. Look for ``gpatch`` or ``patch`` in
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   812
    PATH if unset.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   813
``quiet``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   814
    Reduce the amount of output printed. True or False. Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   815
``remotecmd``
9746
2dee9a359262 hgrc.5: mark more inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9745
diff changeset
   816
    remote command to use for clone/push/pull operations. Default is ``hg``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   817
``report_untrusted``
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   818
    Warn if a ``.hg/hgrc`` file is ignored due to not being owned by a
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   819
    trusted user or group. True or False. Default is True.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   820
``slash``
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   821
    Display paths using a slash (``/``) as the path separator. This
8782
d19ab9a56bf4 doc: wrap man pages after fixing quoting
Martin Geisler <mg@lazybytes.net>
parents: 8781
diff changeset
   822
    only makes a difference on systems where the default path
d19ab9a56bf4 doc: wrap man pages after fixing quoting
Martin Geisler <mg@lazybytes.net>
parents: 8781
diff changeset
   823
    separator is not the slash character (e.g. Windows uses the
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   824
    backslash character (``\``)).
4527
b422b558015b Add ui.slash hgrc setting
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4435
diff changeset
   825
    Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   826
``ssh``
9746
2dee9a359262 hgrc.5: mark more inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9745
diff changeset
   827
    command to use for SSH connections. Default is ``ssh``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   828
``strict``
2988
63c3a1921a67 Add ui.strict config item.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2853
diff changeset
   829
    Require exact command names, instead of allowing unambiguous
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   830
    abbreviations. True or False. Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   831
``style``
4715
ad45209a7c7a Fixed sorting inside nearly sorted sections in hgrc.5
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4709
diff changeset
   832
    Name of style to use for command output.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   833
``timeout``
1787
e431344e604c add a timeout when a lock is held (default 1024 sec)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1736
diff changeset
   834
    The timeout used when a lock is held (in seconds), a negative value
1788
750b9cd83965 change the default timeout to 600 seconds
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1787
diff changeset
   835
    means no timeout. Default is 600.
9697
59e5ae188440 hgrc.5: document ui.traceback setting
Martin Geisler <mg@lazybytes.net>
parents: 9659
diff changeset
   836
``traceback``
59e5ae188440 hgrc.5: document ui.traceback setting
Martin Geisler <mg@lazybytes.net>
parents: 9659
diff changeset
   837
    Mercurial always prints a traceback when an unknown exception
59e5ae188440 hgrc.5: document ui.traceback setting
Martin Geisler <mg@lazybytes.net>
parents: 9659
diff changeset
   838
    occurs. Setting this to True will make Mercurial print a traceback
59e5ae188440 hgrc.5: document ui.traceback setting
Martin Geisler <mg@lazybytes.net>
parents: 9659
diff changeset
   839
    on all exceptions, even those recognized by Mercurial (such as
59e5ae188440 hgrc.5: document ui.traceback setting
Martin Geisler <mg@lazybytes.net>
parents: 9659
diff changeset
   840
    IOError or MemoryError). Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   841
``username``
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   842
    The committer of a changeset created when running "commit".
9745
5b8e0da2d59b hgrc.5: do not turn random URLs into links
Martin Geisler <mg@lazybytes.net>
parents: 9744
diff changeset
   843
    Typically a person's name and email address, e.g. ``Fred Widget
5b8e0da2d59b hgrc.5: do not turn random URLs into links
Martin Geisler <mg@lazybytes.net>
parents: 9744
diff changeset
   844
    <fred@example.com>``. Default is ``$EMAIL`` or ``username@hostname``. If
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   845
    the username in hgrc is empty, it has to be specified manually or
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   846
    in a different hgrc file (e.g. ``$HOME/.hgrc``, if the admin set
9746
2dee9a359262 hgrc.5: mark more inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9745
diff changeset
   847
    ``username =``  in the system hgrc).
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   848
``verbose``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   849
    Increase the amount of output printed. True or False. Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   850
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   851
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   852
``web``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   853
"""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   854
Web interface configuration.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   855
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   856
``accesslog``
938
54b2a42e501e hgweb: add [web] section to hgrc
mpm@selenic.com
parents: 705
diff changeset
   857
    Where to output the access log. Default is stdout.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   858
``address``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
   859
    Interface address to bind to. Default is all.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   860
``allow_archive``
2358
8819fc1dcf4b hgweb: add allow_archive support to [web] section of hgrc
TK Soh <teekaysoh@yahoo.com>
parents: 2318
diff changeset
   861
    List of archive format (bz2, gz, zip) allowed for downloading.
8819fc1dcf4b hgweb: add allow_archive support to [web] section of hgrc
TK Soh <teekaysoh@yahoo.com>
parents: 2318
diff changeset
   862
    Default is empty.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   863
``allowbz2``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   864
    (DEPRECATED) Whether to allow .tar.bz2 downloading of repository
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   865
    revisions.
9699
7f4a792e50eb hgrc.5: capitalize True and False consistently
Martin Geisler <mg@lazybytes.net>
parents: 9697
diff changeset
   866
    Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   867
``allowgz``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   868
    (DEPRECATED) Whether to allow .tar.gz downloading of repository
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   869
    revisions.
9699
7f4a792e50eb hgrc.5: capitalize True and False consistently
Martin Geisler <mg@lazybytes.net>
parents: 9697
diff changeset
   870
    Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   871
``allowpull``
9699
7f4a792e50eb hgrc.5: capitalize True and False consistently
Martin Geisler <mg@lazybytes.net>
parents: 9697
diff changeset
   872
    Whether to allow pulling from the repository. Default is True.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   873
``allow_push``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   874
    Whether to allow pushing to the repository. If empty or not set,
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   875
    push is not allowed. If the special value ``*``, any remote user can
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   876
    push, including unauthenticated users. Otherwise, the remote user
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   877
    must have been authenticated, and the authenticated user name must
10982
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   878
    be present in this list. The contents of the allow_push list are
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   879
    examined after the deny_push list.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   880
``allow_read``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   881
    If the user has not already been denied repository access due to
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   882
    the contents of deny_read, this list determines whether to grant
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   883
    repository access to the user. If this list is not empty, and the
10982
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   884
    user is unauthenticated or not present in the list, then access is
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   885
    denied for the user. If the list is empty or not set, then access
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   886
    is permitted to all users by default. Setting allow_read to the
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   887
    special value ``*`` is equivalent to it not being set (i.e. access
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   888
    is permitted to all users). The contents of the allow_read list are
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   889
    examined after the deny_read list.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   890
``allowzip``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   891
    (DEPRECATED) Whether to allow .zip downloading of repository
9699
7f4a792e50eb hgrc.5: capitalize True and False consistently
Martin Geisler <mg@lazybytes.net>
parents: 9697
diff changeset
   892
    revisions. Default is False. This feature creates temporary files.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   893
``baseurl``
2197
5de8b44f0446 define standard name for base url to use when printing hgweb urls.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2155
diff changeset
   894
    Base URL to use when publishing URLs in other locations, so
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   895
    third-party tools like email notification hooks can construct
9745
5b8e0da2d59b hgrc.5: do not turn random URLs into links
Martin Geisler <mg@lazybytes.net>
parents: 9744
diff changeset
   896
    URLs. Example: ``http://hgserver/repos/``.
10409
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   897
``cacerts``
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   898
    Path to file containing a list of PEM encoded certificate authorities
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   899
    that may be used to verify an SSL server's identity. The form must be
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   900
    as follows::
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   901
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   902
        -----BEGIN CERTIFICATE-----
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   903
        ... (certificate in base64 PEM encoding) ...
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   904
        -----END CERTIFICATE-----
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   905
        -----BEGIN CERTIFICATE-----
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   906
        ... (certificate in base64 PEM encoding) ...
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   907
        -----END CERTIFICATE-----
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   908
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   909
    This feature is only supported when using Python 2.6. If you wish to
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   910
    use it with earlier versions of Python, install the backported
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   911
    version of the ssl library that is available from
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   912
    ``http://pypi.python.org``.
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   913
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   914
    You can use OpenSSL's CA certificate file if your platform has one.
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   915
    On most Linux systems this will be ``/etc/ssl/certs/ca-certificates.crt``.
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   916
    Otherwise you will have to generate this file manually.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   917
``contact``
2430
4ccd71b83d5e Add web.contact to the hgrc documentation.
"Daniel Santa Cruz <byteshack@gmail.com>"
parents: 2387
diff changeset
   918
    Name or email address of the person in charge of the repository.
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   919
    Defaults to ui.username or ``$EMAIL`` or "unknown" if unset or empty.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   920
``deny_push``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   921
    Whether to deny pushing to the repository. If empty or not set,
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   922
    push is not denied. If the special value ``*``, all remote users are
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   923
    denied push. Otherwise, unauthenticated users are all denied, and
10982
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   924
    any authenticated user name present in this list is also denied. The
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   925
    contents of the deny_push list are examined before the allow_push list.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   926
``deny_read``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   927
    Whether to deny reading/viewing of the repository. If this list is
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   928
    not empty, unauthenticated users are all denied, and any
10982
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   929
    authenticated user name present in this list is also denied access to
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   930
    the repository. If set to the special value ``*``, all remote users
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   931
    are denied access (rarely needed ;). If deny_read is empty or not set,
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   932
    the determination of repository access depends on the presence and
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   933
    content of the allow_read list (see description). If both
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   934
    deny_read and allow_read are empty or not set, then access is
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   935
    permitted to all users by default. If the repository is being
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   936
    served via hgwebdir, denied users will not be able to see it in
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   937
    the list of repositories. The contents of the deny_read list have
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   938
    priority over (are examined before) the contents of the allow_read
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   939
    list.
9363
8635b33eaade hgweb: add web.descend configuration variable
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 9162
diff changeset
   940
``descend``
8635b33eaade hgweb: add web.descend configuration variable
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 9162
diff changeset
   941
    hgwebdir indexes will not descend into subdirectories. Only repositories
8635b33eaade hgweb: add web.descend configuration variable
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 9162
diff changeset
   942
    directly in the current path will be shown (other repositories are still
8635b33eaade hgweb: add web.descend configuration variable
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 9162
diff changeset
   943
    available from the index corresponding to their containing path).
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   944
``description``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
   945
    Textual description of the repository's purpose or contents.
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
   946
    Default is "unknown".
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   947
``encoding``
4715
ad45209a7c7a Fixed sorting inside nearly sorted sections in hgrc.5
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4709
diff changeset
   948
    Character encoding name.
ad45209a7c7a Fixed sorting inside nearly sorted sections in hgrc.5
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4709
diff changeset
   949
    Example: "UTF-8"
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   950
``errorlog``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
   951
    Where to output the error log. Default is stderr.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   952
``hidden``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   953
    Whether to hide the repository in the hgwebdir index.
9699
7f4a792e50eb hgrc.5: capitalize True and False consistently
Martin Geisler <mg@lazybytes.net>
parents: 9697
diff changeset
   954
    Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   955
``ipv6``
9699
7f4a792e50eb hgrc.5: capitalize True and False consistently
Martin Geisler <mg@lazybytes.net>
parents: 9697
diff changeset
   956
    Whether to use IPv6. Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   957
``name``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
   958
    Repository name to use in the web interface. Default is current
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
   959
    working directory.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   960
``maxchanges``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
   961
    Maximum number of changes to list on the changelog. Default is 10.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   962
``maxfiles``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
   963
    Maximum number of files to list per changeset. Default is 10.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   964
``port``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
   965
    Port to listen on. Default is 8000.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   966
``prefix``
5972
d83020d0466f added an entry about the prefix option inside the hgrc man page
Michele Cella <michele.cella@gmail.com>
parents: 5779
diff changeset
   967
    Prefix path to serve from. Default is '' (server root).
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   968
``push_ssl``
2466
e10665147d26 push over http: server side authorization support.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2430
diff changeset
   969
    Whether to require that inbound pushes be transported over SSL to
9699
7f4a792e50eb hgrc.5: capitalize True and False consistently
Martin Geisler <mg@lazybytes.net>
parents: 9697
diff changeset
   970
    prevent password sniffing. Default is True.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   971
``staticurl``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   972
    Base URL to use for static files. If unset, static files (e.g. the
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   973
    hgicon.png favicon) will be served by the CGI script itself. Use
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   974
    this setting to serve them directly with the HTTP server.
9745
5b8e0da2d59b hgrc.5: do not turn random URLs into links
Martin Geisler <mg@lazybytes.net>
parents: 9744
diff changeset
   975
    Example: ``http://hgserver/static/``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   976
``stripes``
2666
ebf033bc8eb2 hgweb: Configurable zebra stripes
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 2622
diff changeset
   977
    How many lines a "zebra stripe" should span in multiline output.
ebf033bc8eb2 hgweb: Configurable zebra stripes
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 2622
diff changeset
   978
    Default is 1; set to 0 to disable.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   979
``style``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
   980
    Which template map style to use.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   981
``templates``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
   982
    Where to find the HTML templates. Default is install path.
1079
a37974035f1f Document archive download options
mpm@selenic.com
parents: 986
diff changeset
   983
938
54b2a42e501e hgweb: add [web] section to hgrc
mpm@selenic.com
parents: 705
diff changeset
   984
9792
dd1a95ccbe07 doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents: 9784
diff changeset
   985
Author
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   986
------
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   987
Bryan O'Sullivan <bos@serpentine.com>.
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   988
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   989
Mercurial was written by Matt Mackall <mpm@selenic.com>.
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   990
9792
dd1a95ccbe07 doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents: 9784
diff changeset
   991
See Also
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   992
--------
9162
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents: 9161
diff changeset
   993
|hg(1)|_, |hgignore(5)|_
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   994
9792
dd1a95ccbe07 doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents: 9784
diff changeset
   995
Copying
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   996
-------
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   997
This manual page is copyright 2005 Bryan O'Sullivan.
10209
c9194a7d7d3e Update copyright year to 2010
Pascal Quantin <pascal.quantin@gmail.com>
parents: 9835
diff changeset
   998
Mercurial is copyright 2005-2010 Matt Mackall.
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   999
Free use of this software is granted under the terms of the GNU General
10263
25e572394f5c Update license to GPLv2+
Matt Mackall <mpm@selenic.com>
parents: 10211
diff changeset
  1000
Public License version 2 or any later version.
9162
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents: 9161
diff changeset
  1001
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents: 9161
diff changeset
  1002
.. include:: common.txt