doc/hgrc.5.txt
author Thomas Arendsen Hein <thomas@jtah.de>
Fri, 03 Dec 2010 12:04:31 +0100
changeset 13076 a861c7155f09
parent 13057 1cfaf11c6398
child 13201 f05250572467
child 13232 b25b5ad0cca8
permissions -rw-r--r--
check-code: single check for Python keywords used as a function This replaces the specific checks for del/and/or/not/except and additionally checks other Python keywords.
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
11220
157f9de9ad2a doc: clarify that keys can be overridden
Angel Ezquerra
parents: 10980
diff changeset
    93
and followed by ``name = value`` entries (sometimes called
157f9de9ad2a doc: clarify that keys can be overridden
Angel Ezquerra
parents: 10980
diff changeset
    94
``configuration keys``)::
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    95
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    96
    [spam]
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    97
    eggs=ham
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    98
    green=
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    99
       eggs
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   100
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   101
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
   102
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
   103
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
   104
``#`` 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
   105
11220
157f9de9ad2a doc: clarify that keys can be overridden
Angel Ezquerra
parents: 10980
diff changeset
   106
Configuration keys can be set multiple times, in which case mercurial
157f9de9ad2a doc: clarify that keys can be overridden
Angel Ezquerra
parents: 10980
diff changeset
   107
will use the value that was configured last. As an example::
157f9de9ad2a doc: clarify that keys can be overridden
Angel Ezquerra
parents: 10980
diff changeset
   108
157f9de9ad2a doc: clarify that keys can be overridden
Angel Ezquerra
parents: 10980
diff changeset
   109
    [spam]
157f9de9ad2a doc: clarify that keys can be overridden
Angel Ezquerra
parents: 10980
diff changeset
   110
    eggs=large
157f9de9ad2a doc: clarify that keys can be overridden
Angel Ezquerra
parents: 10980
diff changeset
   111
    ham=serrano
157f9de9ad2a doc: clarify that keys can be overridden
Angel Ezquerra
parents: 10980
diff changeset
   112
    eggs=small
157f9de9ad2a doc: clarify that keys can be overridden
Angel Ezquerra
parents: 10980
diff changeset
   113
157f9de9ad2a doc: clarify that keys can be overridden
Angel Ezquerra
parents: 10980
diff changeset
   114
This would set the configuration key named ``eggs`` to ``small``.
157f9de9ad2a doc: clarify that keys can be overridden
Angel Ezquerra
parents: 10980
diff changeset
   115
11221
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   116
It is also possible to define a section multiple times. A section can
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   117
be redefined on the same and/or on different hgrc files. For example::
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   118
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   119
    [foo]
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   120
    eggs=large
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   121
    ham=serrano
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   122
    eggs=small
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   123
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   124
    [bar]
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   125
    eggs=ham
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   126
    green=
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   127
       eggs
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   128
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   129
    [foo]
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   130
    ham=prosciutto
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   131
    eggs=medium
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   132
    bread=toasted
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   133
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   134
This would set the ``eggs``, ``ham``, and ``bread`` configuration keys
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   135
of the ``foo`` section to ``medium``, ``prosciutto``, and ``toasted``,
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   136
respectively. As you can see there only thing that matters is the last
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   137
value that was set for each of the configuration keys.
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   138
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   139
If a configuration key is set multiple times in different
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   140
configuration files the final value will depend on the order in which
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   141
the different configuration files are read, with settings from earlier
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   142
paths overriding later ones as described on the ``Files`` section
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   143
above.
e655b378ce73 doc: clarify that sections can be split
Angel Ezquerra
parents: 11220
diff changeset
   144
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   145
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
   146
current configuration file. The inclusion is recursive, which means
68f393788895 hgrc.5: document %include directive
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   147
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
   148
the configuration file in which the ``%include`` directive is found.
11226
b9e89fc5c7f1 doc: document expansion of %include and ui.username
Martin Geisler <mg@aragost.com>
parents: 11222
diff changeset
   149
Environment variables and ``~user`` constructs are expanded in
b9e89fc5c7f1 doc: document expansion of %include and ui.username
Martin Geisler <mg@aragost.com>
parents: 11222
diff changeset
   150
``file``. This lets you do something like::
b9e89fc5c7f1 doc: document expansion of %include and ui.username
Martin Geisler <mg@aragost.com>
parents: 11222
diff changeset
   151
b9e89fc5c7f1 doc: document expansion of %include and ui.username
Martin Geisler <mg@aragost.com>
parents: 11222
diff changeset
   152
  %include ~/.hgrc.d/$HOST.rc
b9e89fc5c7f1 doc: document expansion of %include and ui.username
Martin Geisler <mg@aragost.com>
parents: 11222
diff changeset
   153
b9e89fc5c7f1 doc: document expansion of %include and ui.username
Martin Geisler <mg@aragost.com>
parents: 11222
diff changeset
   154
to include a different configuration file on each computer you use.
9376
68f393788895 hgrc.5: document %include directive
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   155
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   156
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
   157
section, if it has been set previously.
e499a4147c66 hgrc.5: document %unset directive
Martin Geisler <mg@lazybytes.net>
parents: 9376
diff changeset
   158
10980
30ae8174a597 hgrc.5: mention lists as well
Martin Geisler <mg@lazybytes.net>
parents: 10978
diff changeset
   159
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
   160
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
   161
"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
   162
(all case insensitive).
10978
6a3377851d45 hgrc.5: describe form of config values
Martin Geisler <mg@lazybytes.net>
parents: 10485
diff changeset
   163
10982
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   164
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
   165
placed in double quotation marks::
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   166
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   167
  allow_read = "John Doe, PhD", brian, betty
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   168
0a548640e012 ui: support quotes in configlist (issue2147)
Henrik Stuart <hg@hstuart.dk>
parents: 10981
diff changeset
   169
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
   170
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
   171
(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
   172
9792
dd1a95ccbe07 doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents: 9784
diff changeset
   173
Sections
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   174
--------
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   175
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   176
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
   177
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
   178
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
   179
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   180
``alias``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   181
"""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   182
Defines command aliases.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   183
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
   184
commands (or aliases), optionally including arguments.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   185
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   186
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
   187
8655
21688b8a594b Move alias into core
Brendan Cully <brendan@kublai.com>
parents: 8341
diff changeset
   188
    <alias> = <command> [<argument]...
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   189
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   190
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
   191
8655
21688b8a594b Move alias into core
Brendan Cully <brendan@kublai.com>
parents: 8341
diff changeset
   192
    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
   193
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   194
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
   195
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
   196
8655
21688b8a594b Move alias into core
Brendan Cully <brendan@kublai.com>
parents: 8341
diff changeset
   197
    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
   198
9700
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   199
.. 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
   200
   existing commands, which will then override the original
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   201
   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
   202
8655
21688b8a594b Move alias into core
Brendan Cully <brendan@kublai.com>
parents: 8341
diff changeset
   203
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   204
``auth``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   205
""""""""
13056
4fdb4b18eb3d hgrc.5: describe what the [auth] section is for
Martin Geisler <mg@lazybytes.net>
parents: 12827
diff changeset
   206
4fdb4b18eb3d hgrc.5: describe what the [auth] section is for
Martin Geisler <mg@lazybytes.net>
parents: 12827
diff changeset
   207
Authentication credentials for HTTP authentication. This section
4fdb4b18eb3d hgrc.5: describe what the [auth] section is for
Martin Geisler <mg@lazybytes.net>
parents: 12827
diff changeset
   208
allows you to store usernames and passwords for use when logging
4fdb4b18eb3d hgrc.5: describe what the [auth] section is for
Martin Geisler <mg@lazybytes.net>
parents: 12827
diff changeset
   209
*into* HTTP servers. See the web_ configuration section if you want to
4fdb4b18eb3d hgrc.5: describe what the [auth] section is for
Martin Geisler <mg@lazybytes.net>
parents: 12827
diff changeset
   210
configure *who* can login to your HTTP server.
4fdb4b18eb3d hgrc.5: describe what the [auth] section is for
Martin Geisler <mg@lazybytes.net>
parents: 12827
diff changeset
   211
4fdb4b18eb3d hgrc.5: describe what the [auth] section is for
Martin Geisler <mg@lazybytes.net>
parents: 12827
diff changeset
   212
Each line has the following format::
8333
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   213
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   214
    <name>.<argument> = <value>
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   215
9835
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   216
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
   217
entries. Example::
8333
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   218
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   219
    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
   220
    foo.username = foo
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   221
    foo.password = bar
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   222
    foo.schemes = http https
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   223
8847
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   224
    bar.prefix = secure.example.org
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   225
    bar.key = path/to/file.key
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   226
    bar.cert = path/to/file.cert
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   227
    bar.schemes = https
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   228
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   229
Supported arguments:
8333
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   230
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   231
``prefix``
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   232
    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
   233
    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
   234
    (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
   235
    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
   236
    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
   237
    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
   238
``username``
8847
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   239
    Optional. Username to authenticate with. If not given, and the
11838
d4bfa07f269f url: limit expansion to safe auth keys (Issue2328)
Martin Geisler <mg@aragost.com>
parents: 11834
diff changeset
   240
    remote site requires basic or digest authentication, the user will
d4bfa07f269f url: limit expansion to safe auth keys (Issue2328)
Martin Geisler <mg@aragost.com>
parents: 11834
diff changeset
   241
    be prompted for it. Environment variables are expanded in the
d4bfa07f269f url: limit expansion to safe auth keys (Issue2328)
Martin Geisler <mg@aragost.com>
parents: 11834
diff changeset
   242
    username letting you do ``foo.username = $USER``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   243
``password``
8847
7951f385fcb7 url: support client certificate files over HTTPS (issue643)
Henrik Stuart <hg@hstuart.dk>
parents: 8810
diff changeset
   244
    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
   245
    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
   246
    will be prompted for it.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   247
``key``
11838
d4bfa07f269f url: limit expansion to safe auth keys (Issue2328)
Martin Geisler <mg@aragost.com>
parents: 11834
diff changeset
   248
    Optional. PEM encoded client certificate key file. Environment
d4bfa07f269f url: limit expansion to safe auth keys (Issue2328)
Martin Geisler <mg@aragost.com>
parents: 11834
diff changeset
   249
    variables are expanded in the filename.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   250
``cert``
11838
d4bfa07f269f url: limit expansion to safe auth keys (Issue2328)
Martin Geisler <mg@aragost.com>
parents: 11834
diff changeset
   251
    Optional. PEM encoded client certificate chain file. Environment
d4bfa07f269f url: limit expansion to safe auth keys (Issue2328)
Martin Geisler <mg@aragost.com>
parents: 11834
diff changeset
   252
    variables are expanded in the filename.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   253
``schemes``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   254
    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
   255
    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
   256
    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
   257
    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
   258
    Default: https.
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   259
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   260
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
   261
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
   262
8333
89c80c3dc584 allow http authentication information to be specified in the configuration
Sune Foldager <cryo@cyanite.org>
parents: 8024
diff changeset
   263
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   264
``decode/encode``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   265
"""""""""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   266
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
   267
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
   268
localization/canonicalization of files.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   269
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   270
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
   271
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
   272
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
   273
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
   274
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
   275
For each file only the first matching filter applies.
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents: 1171
diff changeset
   276
9835
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   277
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
   278
``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
   279
9835
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   280
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
   281
data on stdout.
1293
a6ffcebd3315 Enhance the file filtering capabilities.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1258
diff changeset
   282
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   283
Pipe example::
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents: 1171
diff changeset
   284
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   285
  [encode]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   286
  # 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
   287
  # 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
   288
  *.gz = pipe: gunzip
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents: 1171
diff changeset
   289
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   290
  [decode]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   291
  # 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
   292
  # 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
   293
  *.gz = gzip
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents: 1171
diff changeset
   294
9835
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   295
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
   296
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
   297
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
   298
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
   299
the command.
1293
a6ffcebd3315 Enhance the file filtering capabilities.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1258
diff changeset
   300
9700
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   301
.. note:: The tempfile mechanism is recommended for Windows systems,
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   302
   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
   303
   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
   304
11269
5f01fd602542 win32text: mark this extension as deprecated
Martin Geisler <mg@aragost.com>
parents: 11226
diff changeset
   305
This filter mechanism is used internally by the ``eol`` extension to
5f01fd602542 win32text: mark this extension as deprecated
Martin Geisler <mg@aragost.com>
parents: 11226
diff changeset
   306
translate line ending characters between Windows (CRLF) and Unix (LF)
5f01fd602542 win32text: mark this extension as deprecated
Martin Geisler <mg@aragost.com>
parents: 11226
diff changeset
   307
format. We suggest you use the ``eol`` extension for convenience.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   308
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   309
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   310
``defaults``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   311
""""""""""""
1293
a6ffcebd3315 Enhance the file filtering capabilities.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1258
diff changeset
   312
9630
24dad078603b doc/hgrc.5.txt: deprecate [defaults]
Adrian Buehlmann <adrian@cadifra.com>
parents: 9624
diff changeset
   313
(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
   314
9835
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   315
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
   316
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
   317
11834
a86fd45c1911 hgrc.5: fix "hg hg status" -> "hg status"
Martin Geisler <mg@aragost.com>
parents: 11330
diff changeset
   318
The following example makes :hg:`log` run in verbose mode, and
a86fd45c1911 hgrc.5: fix "hg hg status" -> "hg status"
Martin Geisler <mg@aragost.com>
parents: 11330
diff changeset
   319
:hg:`status` show only the modified files, by default::
5081
ea7b982b6c08 Remove trailing spaces
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4717
diff changeset
   320
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   321
  [defaults]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   322
  log = -v
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   323
  status = -m
5081
ea7b982b6c08 Remove trailing spaces
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4717
diff changeset
   324
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   325
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
   326
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
   327
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
   328
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   329
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   330
``diff``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   331
""""""""
3039
77637938d43d add document on command defaults
TK Soh <teekaysoh@yahoo.com>
parents: 3021
diff changeset
   332
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   333
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
   334
defaults to False.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   335
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   336
``git``
4011
15955d84bc68 add [diff] section to hgrc documentation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3835
diff changeset
   337
    Use git extended diff format.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   338
``nodates``
4011
15955d84bc68 add [diff] section to hgrc documentation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3835
diff changeset
   339
    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
   340
``showfunc``
4011
15955d84bc68 add [diff] section to hgrc documentation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3835
diff changeset
   341
    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
   342
``ignorews``
4011
15955d84bc68 add [diff] section to hgrc documentation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3835
diff changeset
   343
    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
   344
``ignorewsamount``
4011
15955d84bc68 add [diff] section to hgrc documentation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3835
diff changeset
   345
    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
   346
``ignoreblanklines``
4011
15955d84bc68 add [diff] section to hgrc documentation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3835
diff changeset
   347
    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
   348
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   349
``email``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   350
"""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   351
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
   352
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   353
``from``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   354
    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
   355
    of outgoing messages.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   356
``to``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   357
    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
   358
``cc``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   359
    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
   360
    email addresses.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   361
``bcc``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   362
    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
   363
    email addresses.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   364
``method``
9835
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   365
    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
   366
    (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
   367
    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
   368
    (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
   369
    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
   370
    ``/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
   371
``charsets``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   372
    Optional. Comma-separated list of character sets considered
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   373
    convenient for recipients. Addresses, headers, and parts not
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   374
    containing patches of outgoing messages will be encoded in the
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   375
    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
   376
    (``$HGENCODING``, ``ui.fallbackencoding``) succeeds. If correct
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   377
    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
   378
    empty (explicit) list.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   379
9744
e8990ce2f2d4 hgrc.5: use enumerated list for email charsets
Martin Geisler <mg@lazybytes.net>
parents: 9743
diff changeset
   380
    Order of outgoing email character sets:
7241
421f4cbddd68 hgrc.5: explain order of mail.charsets
Christian Ebert <blacktrash@gmx.net>
parents: 7235
diff changeset
   381
9744
e8990ce2f2d4 hgrc.5: use enumerated list for email charsets
Martin Geisler <mg@lazybytes.net>
parents: 9743
diff changeset
   382
    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
   383
    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
   384
    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
   385
    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
   386
    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
   387
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   388
Email example::
2292
903ab41ac7eb allow to send email using sendmail.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2288
diff changeset
   389
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   390
  [email]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   391
  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
   392
  method = /usr/sbin/sendmail
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   393
  # 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
   394
  # 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
   395
  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
   396
2200
9f43b6e24232 move mail sending code into core, so extensions can share it.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2197
diff changeset
   397
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   398
``extensions``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   399
""""""""""""""
2200
9f43b6e24232 move mail sending code into core, so extensions can share it.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2197
diff changeset
   400
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   401
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
   402
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
   403
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   404
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
   405
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
   406
after the ``=``.
2211
b8b7a79a4d88 document [extensions] in doc/hgrc.5.txt.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2209
diff changeset
   407
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   408
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
   409
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
   410
defines the extension.
2211
b8b7a79a4d88 document [extensions] in doc/hgrc.5.txt.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2209
diff changeset
   411
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   412
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
   413
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
   414
``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
   415
supplied.
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   416
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   417
Example for ``~/.hgrc``::
6175
7f9f3233a2c6 add explicit extension disabling syntax to hgrc.5
Steve Borho <steve@borho.org>
parents: 6142
diff changeset
   418
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   419
  [extensions]
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   420
  # (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
   421
  hgext.mq =
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   422
  # (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
   423
  myfeature = ~/.hgext/myfeature.py
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   424
2387
62ce297f214f Expand '~' in path to extensions.
Markus F.X.J. Oberhumer <markus@oberhumer.com>
parents: 2358
diff changeset
   425
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   426
``format``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   427
""""""""""
4163
fe41d9a186ab Allow disabling store format to work with absurdly long filenames
Matt Mackall <mpm@selenic.com>
parents: 4084
diff changeset
   428
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   429
``usestore``
4163
fe41d9a186ab Allow disabling store format to work with absurdly long filenames
Matt Mackall <mpm@selenic.com>
parents: 4084
diff changeset
   430
    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
   431
    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
   432
    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
   433
    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
   434
    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
   435
    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
   436
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   437
``usefncache``
7235
7488a1f14e3c Document config option format.usefncache and improve format.usestore docs.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 7117
diff changeset
   438
    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
   439
    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
   440
    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
   441
    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
   442
    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
   443
    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
   444
12710
e23895aea892 doc: add [format] dotencode description
Adrian Buehlmann <adrian@cadifra.com>
parents: 12593
diff changeset
   445
``dotencode``
e23895aea892 doc: add [format] dotencode description
Adrian Buehlmann <adrian@cadifra.com>
parents: 12593
diff changeset
   446
    Enable or disable the "dotencode" repository format which enhances
e23895aea892 doc: add [format] dotencode description
Adrian Buehlmann <adrian@cadifra.com>
parents: 12593
diff changeset
   447
    the "fncache" repository format (which has to be enabled to use
e23895aea892 doc: add [format] dotencode description
Adrian Buehlmann <adrian@cadifra.com>
parents: 12593
diff changeset
   448
    dotencode) to avoid issues with filenames starting with ._ on
e23895aea892 doc: add [format] dotencode description
Adrian Buehlmann <adrian@cadifra.com>
parents: 12593
diff changeset
   449
    Mac OS X and spaces on Windows. Enabled by default. Disabling this
e23895aea892 doc: add [format] dotencode description
Adrian Buehlmann <adrian@cadifra.com>
parents: 12593
diff changeset
   450
    option ensures that the on-disk format of newly created
e23895aea892 doc: add [format] dotencode description
Adrian Buehlmann <adrian@cadifra.com>
parents: 12593
diff changeset
   451
    repositories will be compatible with Mercurial before version 1.7.
e23895aea892 doc: add [format] dotencode description
Adrian Buehlmann <adrian@cadifra.com>
parents: 12593
diff changeset
   452
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   453
``merge-patterns``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   454
""""""""""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   455
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   456
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
   457
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
   458
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
   459
root.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   460
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   461
Example::
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   462
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   463
  [merge-patterns]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   464
  **.c = kdiff3
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   465
  **.jpg = myimgmerge
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   466
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   467
``merge-tools``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   468
"""""""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   469
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   470
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
   471
merges.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   472
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   473
Example ``~/.hgrc``::
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   474
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   475
  [merge-tools]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   476
  # Override stock tool location
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   477
  kdiff3.executable = ~/bin/kdiff3
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   478
  # Specify command line
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   479
  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
   480
  # Give higher priority
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   481
  kdiff3.priority = 1
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   482
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   483
  # Define new tool
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   484
  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
   485
  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
   486
  myHtmlTool.priority = 1
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   487
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   488
Supported arguments:
6445
a1db3d8b9b8a hgrc.5: fix subsection formatting
Christian Ebert <blacktrash@gmx.net>
parents: 6325
diff changeset
   489
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   490
``priority``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   491
  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
   492
  Default: 0.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   493
``executable``
10485
677fee0a0604 hgrc.5: document use of environment variables on Windows
Steve Borho <steve@borho.org>
parents: 10419
diff changeset
   494
  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
   495
  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
   496
  Default: the tool name.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   497
``args``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   498
  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
   499
  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
   500
  variables: ``$base``, ``$local``, ``$other``, ``$output``.
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   501
  Default: ``$local $base $other``
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   502
``premerge``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   503
  Attempt to run internal non-interactive 3-way merge tool before
11146
523330d567cf merge: tool.premerge=keep will leave premerge markers in $local
David Champion <dgc@uchicago.edu>
parents: 10997
diff changeset
   504
  launching external tool.  Options are ``true``, ``false``, or ``keep``
523330d567cf merge: tool.premerge=keep will leave premerge markers in $local
David Champion <dgc@uchicago.edu>
parents: 10997
diff changeset
   505
  to leave markers in the file if the premerge fails.
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   506
  Default: True
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   507
``binary``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   508
  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
   509
  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
   510
``symlink``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   511
  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
   512
  selected by file pattern match.
11148
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   513
``check``
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   514
  A list of merge success-checking options:
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   515
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   516
  ``changed``
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   517
    Ask whether merge was successful when the merged file shows no changes.
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   518
  ``conflicts``
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   519
    Check whether there are conflicts even though the tool reported success.
11149
d3c1eddfdbcf merge: tool.check = prompt will force an interactive merge check
David Champion <dgc@uchicago.edu>
parents: 11148
diff changeset
   520
  ``prompt``
d3c1eddfdbcf merge: tool.check = prompt will force an interactive merge check
David Champion <dgc@uchicago.edu>
parents: 11148
diff changeset
   521
    Always prompt for merge success, regardless of success reported by tool.
11148
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   522
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   523
``checkchanged``
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   524
  True is equivalent to ``check = changed``.
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   525
  Default: False
11148
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   526
``checkconflicts``
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   527
  True is equivalent to ``check = conflicts``.
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   528
  Default: False
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   529
``fixeol``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   530
  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
   531
  Default: False
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   532
``gui``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   533
  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
   534
``regkey``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   535
  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
   536
  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
   537
  ``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
   538
  Default: None
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   539
``regname``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   540
  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
   541
  unnamed (default) value.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   542
``regappend``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   543
  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
   544
  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
   545
  Default: None
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   546
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   547
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   548
``hooks``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   549
"""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   550
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
   551
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
   552
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
   553
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
   554
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
   555
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   556
Example ``.hg/hgrc``::
1485
625f3f13d7be mention running multiple hooks in the doc
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1316
diff changeset
   557
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   558
  [hooks]
9830
ab1625ccf3a9 hgrc.5: oft-requested "hg update" hook example
Martin Geisler <mg@lazybytes.net>
parents: 9792
diff changeset
   559
  # update working directory after adding changesets
ab1625ccf3a9 hgrc.5: oft-requested "hg update" hook example
Martin Geisler <mg@lazybytes.net>
parents: 9792
diff changeset
   560
  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
   561
  # 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
   562
  incoming =
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   563
  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
   564
  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
   565
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   566
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
   567
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
   568
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
   569
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   570
``changegroup``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   571
  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
   572
  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
   573
  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
   574
``commit``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   575
  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
   576
  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
   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
``incoming``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   579
  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
   580
  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
   581
  ``$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
   582
``outgoing``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   583
  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
   584
  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
   585
  ``$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
   586
``post-<command>``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   587
  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
   588
  contents of the command line are passed as ``$HG_ARGS`` and the result
11330
713ae78bb583 provide pre- and post- hooks with parsed command line arguments.
Chad Dombrova <chadrik@gmail.com>
parents: 11286
diff changeset
   589
  code in ``$HG_RESULT``. Parsed command line arguments are passed as 
713ae78bb583 provide pre- and post- hooks with parsed command line arguments.
Chad Dombrova <chadrik@gmail.com>
parents: 11286
diff changeset
   590
  ``$HG_PATS`` and ``$HG_OPTS``. These contain string representations of
713ae78bb583 provide pre- and post- hooks with parsed command line arguments.
Chad Dombrova <chadrik@gmail.com>
parents: 11286
diff changeset
   591
  the python data internally passed to <command>. ``$HG_OPTS`` is a 
713ae78bb583 provide pre- and post- hooks with parsed command line arguments.
Chad Dombrova <chadrik@gmail.com>
parents: 11286
diff changeset
   592
  dictionary of options (with unspecified options set to their defaults).
713ae78bb583 provide pre- and post- hooks with parsed command line arguments.
Chad Dombrova <chadrik@gmail.com>
parents: 11286
diff changeset
   593
  ``$HG_PATS`` is a list of arguments. Hook failure is ignored.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   594
``pre-<command>``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   595
  Run before executing the associated command. The contents of the
11330
713ae78bb583 provide pre- and post- hooks with parsed command line arguments.
Chad Dombrova <chadrik@gmail.com>
parents: 11286
diff changeset
   596
  command line are passed as ``$HG_ARGS``. Parsed command line arguments
713ae78bb583 provide pre- and post- hooks with parsed command line arguments.
Chad Dombrova <chadrik@gmail.com>
parents: 11286
diff changeset
   597
  are passed as ``$HG_PATS`` and ``$HG_OPTS``. These contain string
713ae78bb583 provide pre- and post- hooks with parsed command line arguments.
Chad Dombrova <chadrik@gmail.com>
parents: 11286
diff changeset
   598
  representations of the data internally passed to <command>. ``$HG_OPTS``
713ae78bb583 provide pre- and post- hooks with parsed command line arguments.
Chad Dombrova <chadrik@gmail.com>
parents: 11286
diff changeset
   599
  is a  dictionary of options (with unspecified options set to their
713ae78bb583 provide pre- and post- hooks with parsed command line arguments.
Chad Dombrova <chadrik@gmail.com>
parents: 11286
diff changeset
   600
  defaults). ``$HG_PATS`` is a list of arguments. If the hook returns 
713ae78bb583 provide pre- and post- hooks with parsed command line arguments.
Chad Dombrova <chadrik@gmail.com>
parents: 11286
diff changeset
   601
  failure, the command doesn't execute and Mercurial returns the failure
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   602
  code.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   603
``prechangegroup``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   604
  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
   605
  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
   606
  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
   607
  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
   608
``precommit``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   609
  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
   610
  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
   611
  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
   612
``preoutgoing``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   613
  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
   614
  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
   615
  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
   616
  (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
   617
  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
   618
  ``$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
   619
  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
   620
  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
   621
``pretag``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   622
  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
   623
  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
   624
  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
   625
  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
   626
``pretxnchangegroup``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   627
  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
   628
  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
   629
  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
   630
  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
   631
  ``$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
   632
  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
   633
  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
   634
  ``$HG_URL``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   635
``pretxncommit``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   636
  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
   637
  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
   638
  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
   639
  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
   640
  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
   641
  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
   642
``preupdate``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   643
  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
   644
  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
   645
  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
   646
  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
   647
``tag``
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   648
  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
   649
  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
   650
  repository if ``$HG_LOCAL=0``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   651
``update``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   652
  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
   653
  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
   654
  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
   655
  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
   656
9700
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   657
.. 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
   658
   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
   659
   called in the appropriate contexts for influencing transactions.
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   660
   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
   661
   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
   662
9700
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   663
.. 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
   664
   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
   665
   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
   666
   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
   667
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   668
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
   669
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   670
  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
   671
  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
   672
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   673
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
   674
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
   675
``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
   676
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
   677
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
   678
``HG_`` prefix, and names in lower case.
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2003
diff changeset
   679
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   680
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
   681
is treated as a failure.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   682
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2003
diff changeset
   683
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   684
``http_proxy``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   685
""""""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   686
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
   687
proxy.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   688
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   689
``host``
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   690
    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
   691
    "myproxy:8000".
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   692
``no``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   693
    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
   694
    the proxy.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   695
``passwd``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   696
    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
   697
``user``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   698
    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
   699
``always``
4cfd0d56be6d doc: add missing documentation for http_proxy.always
Henrik Stuart <hg@hstuart.dk>
parents: 10409
diff changeset
   700
    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
   701
    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
   702
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   703
``smtp``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   704
""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   705
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
   706
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   707
``host``
2853
619f1c65384c Adjusted documentation for hgrc's "[smtp] host" for change in 9f745d3675d4.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2691
diff changeset
   708
    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
   709
``port``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   710
    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
   711
``tls``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   712
    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
   713
    False. Default: False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   714
``username``
12384
ffcceca7406d doc: clarify smtp.password usage
Anthony Foiani <anthony.foiani@gmail.com>
parents: 11838
diff changeset
   715
    Optional. User name for authenticating with the SMTP server.
2200
9f43b6e24232 move mail sending code into core, so extensions can share it.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2197
diff changeset
   716
    Default: none.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   717
``password``
12384
ffcceca7406d doc: clarify smtp.password usage
Anthony Foiani <anthony.foiani@gmail.com>
parents: 11838
diff changeset
   718
    Optional. Password for authenticating with the SMTP server. If not
ffcceca7406d doc: clarify smtp.password usage
Anthony Foiani <anthony.foiani@gmail.com>
parents: 11838
diff changeset
   719
    specified, interactive sessions will prompt the user for a
ffcceca7406d doc: clarify smtp.password usage
Anthony Foiani <anthony.foiani@gmail.com>
parents: 11838
diff changeset
   720
    password; non-interactive sessions will fail. Default: none.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   721
``local_hostname``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   722
    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
   723
    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
   724
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   725
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   726
``patch``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   727
"""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   728
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
   729
command or with Mercurial Queues extension.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   730
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   731
``eol``
8810
ac92775b3b80 Add patch.eol to ignore EOLs when patching (issue1019)
Patrick Mezard <pmezard@gmail.com>
parents: 8782
diff changeset
   732
    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
   733
    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
   734
    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
   735
    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
   736
    ``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
   737
    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
   738
    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
   739
    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
   740
    Default: strict.
ac92775b3b80 Add patch.eol to ignore EOLs when patching (issue1019)
Patrick Mezard <pmezard@gmail.com>
parents: 8782
diff changeset
   741
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   742
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   743
``paths``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   744
"""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   745
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
   746
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
   747
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
   748
the following entries.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   749
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   750
``default``
2277
066d0055e430 Add more specific documentation about defaults for the [paths] section
Daniel <byteshack@gmail.com>
parents: 2266
diff changeset
   751
    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
   752
    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
   753
    cloned.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   754
``default-push``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   755
    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
   756
    is specified.
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   757
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   758
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   759
``profiling``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   760
"""""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   761
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
   762
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
   763
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
   764
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
   765
using lsprof.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   766
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   767
``format``
8023
fd9debb3ea1b profiling: Adding a profiling.format config variable
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8022
diff changeset
   768
    Profiling format.
fd9debb3ea1b profiling: Adding a profiling.format config variable
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8022
diff changeset
   769
    Default: text.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   770
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   771
    ``text``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   772
      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
   773
      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
   774
      not kept.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   775
    ``kcachegrind``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   776
      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
   777
      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
   778
      kcachegrind.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   779
``output``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   780
    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
   781
    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
   782
    stderr
8022
4f3fdfaa3874 profiling: Adding profiling.output config variable
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7916
diff changeset
   783
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   784
``server``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   785
""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   786
Controls generic server settings.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   787
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   788
``uncompressed``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   789
    Whether to allow clients to clone a repository using the
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   790
    uncompressed streaming protocol. This transfers about 40% more
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   791
    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
   792
    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
   793
    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
   794
    regular clone. Over most WAN connections (anything slower than
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   795
    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
   796
    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
   797
    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
   798
    Default is True.
2621
5a5852a417b1 clone: disable stream support on server side by default.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2583
diff changeset
   799
10419
992dc3d39357 hgrc: update docs for the server section
Matt Mackall <mpm@selenic.com>
parents: 10416
diff changeset
   800
``validate``
992dc3d39357 hgrc: update docs for the server section
Matt Mackall <mpm@selenic.com>
parents: 10416
diff changeset
   801
    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
   802
    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
   803
    present. Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   804
12827
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   805
``subpaths``
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   806
""""""""""""
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   807
Defines subrepositories source locations rewriting rules of the form::
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   808
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   809
    <pattern> = <replacement>
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   810
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   811
Where ``pattern`` is a regular expression matching the source and
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   812
``replacement`` is the replacement string used to rewrite it. Groups
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   813
can be matched in ``pattern`` and referenced in ``replacements``. For
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   814
instance::
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   815
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   816
    http://server/(.*)-hg/ = http://hg.server/\1/
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   817
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   818
rewrites ``http://server/foo-hg/`` into ``http://hg.server/foo/``.
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   819
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   820
All patterns are applied in definition order.
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   821
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   822
``trusted``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   823
"""""""""""
11286
ccfd1cbc7289 hgrc: improve docs for the trusted section
Matt Mackall <mpm@selenic.com>
parents: 11269
diff changeset
   824
ccfd1cbc7289 hgrc: improve docs for the trusted section
Matt Mackall <mpm@selenic.com>
parents: 11269
diff changeset
   825
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
   826
``.hg/hgrc`` file from a repository if it doesn't belong to a trusted
11286
ccfd1cbc7289 hgrc: improve docs for the trusted section
Matt Mackall <mpm@selenic.com>
parents: 11269
diff changeset
   827
user or to a trusted group, as various hgrc features allow arbitrary
ccfd1cbc7289 hgrc: improve docs for the trusted section
Matt Mackall <mpm@selenic.com>
parents: 11269
diff changeset
   828
commands to be run. This issue is often encountered when configuring
ccfd1cbc7289 hgrc: improve docs for the trusted section
Matt Mackall <mpm@selenic.com>
parents: 11269
diff changeset
   829
hooks or extensions for shared repositories or servers. However,
ccfd1cbc7289 hgrc: improve docs for the trusted section
Matt Mackall <mpm@selenic.com>
parents: 11269
diff changeset
   830
the web interface will use some safe settings from the ``[web]``
ccfd1cbc7289 hgrc: improve docs for the trusted section
Matt Mackall <mpm@selenic.com>
parents: 11269
diff changeset
   831
section.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   832
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   833
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
   834
current user is always trusted. To trust everybody, list a user or a
11286
ccfd1cbc7289 hgrc: improve docs for the trusted section
Matt Mackall <mpm@selenic.com>
parents: 11269
diff changeset
   835
group with name ``*``. These settings must be placed in an
ccfd1cbc7289 hgrc: improve docs for the trusted section
Matt Mackall <mpm@selenic.com>
parents: 11269
diff changeset
   836
*already-trusted file* to take effect, such as ``$HOME/.hgrc`` of the
ccfd1cbc7289 hgrc: improve docs for the trusted section
Matt Mackall <mpm@selenic.com>
parents: 11269
diff changeset
   837
user or service running Mercurial.
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
   838
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   839
``users``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   840
  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
   841
``groups``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   842
  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
   843
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3489
diff changeset
   844
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   845
``ui``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   846
""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   847
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   848
User interface controls.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   849
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   850
``archivemeta``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   851
    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
   852
    (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
   853
    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
   854
    Default is True.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   855
``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
   856
    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
   857
    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
   858
    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
   859
    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
   860
    Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   861
``debug``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   862
    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
   863
``editor``
9746
2dee9a359262 hgrc.5: mark more inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9745
diff changeset
   864
    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
   865
``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
   866
    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
   867
    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
   868
``ignore``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   869
    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
   870
    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
   871
    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
   872
    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
   873
    ``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
   874
    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
   875
``interactive``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   876
    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
   877
``logtemplate``
1907
7718885070b1 let commands that show changesets use templates.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1788
diff changeset
   878
    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
   879
``merge``
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   880
    The conflict resolution program to use during a manual merge.
12771
c77f6276c9e7 help: help topic for merge tools
Erik Zielke <ez@aragost.com>
parents: 12710
diff changeset
   881
    For more information on merge tools see :hg:`help merge-tools`.
c77f6276c9e7 help: help topic for merge tools
Erik Zielke <ez@aragost.com>
parents: 12710
diff changeset
   882
    For configuring merge tools see the merge-tools_ section.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   883
``patch``
9746
2dee9a359262 hgrc.5: mark more inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9745
diff changeset
   884
    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
   885
    PATH if unset.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   886
``quiet``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   887
    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
   888
``remotecmd``
9746
2dee9a359262 hgrc.5: mark more inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9745
diff changeset
   889
    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
   890
``report_untrusted``
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   891
    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
   892
    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
   893
``slash``
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   894
    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
   895
    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
   896
    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
   897
    backslash character (``\``)).
4527
b422b558015b Add ui.slash hgrc setting
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4435
diff changeset
   898
    Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   899
``ssh``
9746
2dee9a359262 hgrc.5: mark more inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9745
diff changeset
   900
    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
   901
``strict``
2988
63c3a1921a67 Add ui.strict config item.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2853
diff changeset
   902
    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
   903
    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
   904
``style``
4715
ad45209a7c7a Fixed sorting inside nearly sorted sections in hgrc.5
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4709
diff changeset
   905
    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
   906
``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
   907
    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
   908
    means no timeout. Default is 600.
9697
59e5ae188440 hgrc.5: document ui.traceback setting
Martin Geisler <mg@lazybytes.net>
parents: 9659
diff changeset
   909
``traceback``
59e5ae188440 hgrc.5: document ui.traceback setting
Martin Geisler <mg@lazybytes.net>
parents: 9659
diff changeset
   910
    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
   911
    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
   912
    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
   913
    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
   914
``username``
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   915
    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
   916
    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
   917
    <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
   918
    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
   919
    in a different hgrc file (e.g. ``$HOME/.hgrc``, if the admin set
11226
b9e89fc5c7f1 doc: document expansion of %include and ui.username
Martin Geisler <mg@aragost.com>
parents: 11222
diff changeset
   920
    ``username =``  in the system hgrc). Environment variables in the
b9e89fc5c7f1 doc: document expansion of %include and ui.username
Martin Geisler <mg@aragost.com>
parents: 11222
diff changeset
   921
    username are expanded.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   922
``verbose``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   923
    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
   924
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   925
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   926
``web``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   927
"""""""
13057
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   928
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   929
Web interface configuration. The settings in this section apply to
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   930
both the builtin webserver (started by :hg:`serve`) and the script you
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   931
run through a webserver (``hgweb.cgi`` and the derivatives for FastCGI
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   932
and WSGI).
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   933
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   934
The Mercurial webserver does no authentication (it does not prompt for
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   935
usernames and passwords to validate *who* users are), but it does do
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   936
authorization (it grants or denies access for *authenticated users*
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   937
based on settings in this section). You must either configure your
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   938
webserver to do authentication for you, or disable the authorization
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   939
checks.
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   940
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   941
For a quick setup in a trusted environment, e.g., a private LAN, where
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   942
you want it to accept pushes from anybody, you can use the following
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   943
command line::
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   944
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   945
    $ hg --config web.allow_push=* --config web.push_ssl=False serve
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   946
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   947
Note that this will allow anybody to push anything to the server and
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   948
that this should not be used for public servers.
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   949
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   950
The full set of options is:
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   951
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   952
``accesslog``
938
54b2a42e501e hgweb: add [web] section to hgrc
mpm@selenic.com
parents: 705
diff changeset
   953
    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
   954
``address``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
   955
    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
   956
``allow_archive``
2358
8819fc1dcf4b hgweb: add allow_archive support to [web] section of hgrc
TK Soh <teekaysoh@yahoo.com>
parents: 2318
diff changeset
   957
    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
   958
    Default is empty.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   959
``allowbz2``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   960
    (DEPRECATED) Whether to allow .tar.bz2 downloading of repository
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   961
    revisions.
9699
7f4a792e50eb hgrc.5: capitalize True and False consistently
Martin Geisler <mg@lazybytes.net>
parents: 9697
diff changeset
   962
    Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   963
``allowgz``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   964
    (DEPRECATED) Whether to allow .tar.gz downloading of repository
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   965
    revisions.
9699
7f4a792e50eb hgrc.5: capitalize True and False consistently
Martin Geisler <mg@lazybytes.net>
parents: 9697
diff changeset
   966
    Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   967
``allowpull``
9699
7f4a792e50eb hgrc.5: capitalize True and False consistently
Martin Geisler <mg@lazybytes.net>
parents: 9697
diff changeset
   968
    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
   969
``allow_push``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   970
    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
   971
    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
   972
    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
   973
    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
   974
    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
   975
    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
   976
``allow_read``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   977
    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
   978
    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
   979
    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
   980
    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
   981
    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
   982
    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
   983
    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
   984
    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
   985
    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
   986
``allowzip``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   987
    (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
   988
    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
   989
``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
   990
    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
   991
    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
   992
    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
   993
``cacerts``
12593
01c373762b76 doc: clarify that https cert verification requires web.cacerts
Mads Kiilerich <mads@kiilerich.com>
parents: 12384
diff changeset
   994
    Path to file containing a list of PEM encoded certificate authority
01c373762b76 doc: clarify that https cert verification requires web.cacerts
Mads Kiilerich <mads@kiilerich.com>
parents: 12384
diff changeset
   995
    certificates. If specified on the client, then it will verify the identity
01c373762b76 doc: clarify that https cert verification requires web.cacerts
Mads Kiilerich <mads@kiilerich.com>
parents: 12384
diff changeset
   996
    of remote HTTPS servers with these certificates. The form must be
10409
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   997
    as follows::
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   998
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
   999
        -----BEGIN CERTIFICATE-----
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
  1000
        ... (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
  1001
        -----END CERTIFICATE-----
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
  1002
        -----BEGIN CERTIFICATE-----
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
  1003
        ... (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
  1004
        -----END CERTIFICATE-----
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
  1005
12593
01c373762b76 doc: clarify that https cert verification requires web.cacerts
Mads Kiilerich <mads@kiilerich.com>
parents: 12384
diff changeset
  1006
    This feature is only supported when using Python 2.6 or later. If you wish
01c373762b76 doc: clarify that https cert verification requires web.cacerts
Mads Kiilerich <mads@kiilerich.com>
parents: 12384
diff changeset
  1007
    to use it with earlier versions of Python, install the backported
10409
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
  1008
    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
  1009
    ``http://pypi.python.org``.
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
  1010
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
  1011
    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
  1012
    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
  1013
    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
  1014
``contact``
2430
4ccd71b83d5e Add web.contact to the hgrc documentation.
"Daniel Santa Cruz <byteshack@gmail.com>"
parents: 2387
diff changeset
  1015
    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
  1016
    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
  1017
``deny_push``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
  1018
    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
  1019
    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
  1020
    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
  1021
    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
  1022
    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
  1023
``deny_read``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
  1024
    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
  1025
    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
  1026
    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
  1027
    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
  1028
    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
  1029
    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
  1030
    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
  1031
    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
  1032
    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
  1033
    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
  1034
    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
  1035
    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
  1036
    list.
9363
8635b33eaade hgweb: add web.descend configuration variable
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 9162
diff changeset
  1037
``descend``
8635b33eaade hgweb: add web.descend configuration variable
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 9162
diff changeset
  1038
    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
  1039
    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
  1040
    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
  1041
``description``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
  1042
    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
  1043
    Default is "unknown".
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
  1044
``encoding``
10997
b3a1f535ce4f docs: document default for web.encoding
Matt Mackall <mpm@selenic.com>
parents: 10982
diff changeset
  1045
    Character encoding name. Default is the current locale charset.
4715
ad45209a7c7a Fixed sorting inside nearly sorted sections in hgrc.5
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4709
diff changeset
  1046
    Example: "UTF-8"
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
  1047
``errorlog``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
  1048
    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
  1049
``hidden``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
  1050
    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
  1051
    Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
  1052
``ipv6``
9699
7f4a792e50eb hgrc.5: capitalize True and False consistently
Martin Geisler <mg@lazybytes.net>
parents: 9697
diff changeset
  1053
    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
  1054
``name``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
  1055
    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
  1056
    working directory.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
  1057
``maxchanges``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
  1058
    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
  1059
``maxfiles``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
  1060
    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
  1061
``port``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
  1062
    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
  1063
``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
  1064
    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
  1065
``push_ssl``
2466
e10665147d26 push over http: server side authorization support.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2430
diff changeset
  1066
    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
  1067
    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
  1068
``staticurl``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
  1069
    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
  1070
    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
  1071
    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
  1072
    Example: ``http://hgserver/static/``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
  1073
``stripes``
2666
ebf033bc8eb2 hgweb: Configurable zebra stripes
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 2622
diff changeset
  1074
    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
  1075
    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
  1076
``style``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
  1077
    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
  1078
``templates``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
  1079
    Where to find the HTML templates. Default is install path.
1079
a37974035f1f Document archive download options
mpm@selenic.com
parents: 986
diff changeset
  1080
938
54b2a42e501e hgweb: add [web] section to hgrc
mpm@selenic.com
parents: 705
diff changeset
  1081
9792
dd1a95ccbe07 doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents: 9784
diff changeset
  1082
Author
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
  1083
------
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
  1084
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
  1085
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
  1086
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
  1087
9792
dd1a95ccbe07 doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents: 9784
diff changeset
  1088
See Also
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
  1089
--------
9162
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents: 9161
diff changeset
  1090
|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
  1091
9792
dd1a95ccbe07 doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents: 9784
diff changeset
  1092
Copying
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
  1093
-------
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
  1094
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
  1095
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
  1096
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
  1097
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
  1098
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents: 9161
diff changeset
  1099
.. include:: common.txt