doc/hgrc.5.txt
author Luke Plant <L.Plant.98@cantab.net>
Fri, 11 Mar 2011 15:48:44 +0000
changeset 13579 3cbb3c57a50e
parent 13565 984175605311
child 13751 85d74f6babf6
child 13904 5065e120636d
permissions -rw-r--r--
transplant: added 'HGREVISION' variable to the environment passed to the 'filter' command Sometimes it is necessary to know the original revision ID in order to correctly rewrite the patch or commit message when transplanting. This patch follows the pattern set by the existing 'HGUSER' environment variable, and adds a test that covers both HGUSER and HGREVISION.
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
13398
661331407163 doc: Add diff.unified to the hgrc docs.
Afuna
parents: 13329
diff changeset
   333
Settings used when displaying diffs. Everything except for ``unified`` is a
661331407163 doc: Add diff.unified to the hgrc docs.
Afuna
parents: 13329
diff changeset
   334
Boolean and defaults to False.
9158
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.
13398
661331407163 doc: Add diff.unified to the hgrc docs.
Afuna
parents: 13329
diff changeset
   348
``unified``
661331407163 doc: Add diff.unified to the hgrc docs.
Afuna
parents: 13329
diff changeset
   349
    Number of lines of context to show.
4011
15955d84bc68 add [diff] section to hgrc documentation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3835
diff changeset
   350
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   351
``email``
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
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
   354
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   355
``from``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   356
    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
   357
    of outgoing messages.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   358
``to``
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 recipients' email addresses.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   360
``cc``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   361
    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
   362
    email addresses.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   363
``bcc``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   364
    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
   365
    email addresses.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   366
``method``
9835
6a07e74370d7 hgrc.5: mark some words as inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9830
diff changeset
   367
    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
   368
    (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
   369
    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
   370
    (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
   371
    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
   372
    ``/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
   373
``charsets``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   374
    Optional. Comma-separated list of character sets considered
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   375
    convenient for recipients. Addresses, headers, and parts not
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   376
    containing patches of outgoing messages will be encoded in the
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   377
    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
   378
    (``$HGENCODING``, ``ui.fallbackencoding``) succeeds. If correct
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   379
    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
   380
    empty (explicit) list.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   381
9744
e8990ce2f2d4 hgrc.5: use enumerated list for email charsets
Martin Geisler <mg@lazybytes.net>
parents: 9743
diff changeset
   382
    Order of outgoing email character sets:
7241
421f4cbddd68 hgrc.5: explain order of mail.charsets
Christian Ebert <blacktrash@gmx.net>
parents: 7235
diff changeset
   383
9744
e8990ce2f2d4 hgrc.5: use enumerated list for email charsets
Martin Geisler <mg@lazybytes.net>
parents: 9743
diff changeset
   384
    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
   385
    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
   386
    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
   387
    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
   388
    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
   389
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   390
Email example::
2292
903ab41ac7eb allow to send email using sendmail.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2288
diff changeset
   391
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   392
  [email]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   393
  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
   394
  method = /usr/sbin/sendmail
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   395
  # 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
   396
  # 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
   397
  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
   398
2200
9f43b6e24232 move mail sending code into core, so extensions can share it.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2197
diff changeset
   399
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   400
``extensions``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   401
""""""""""""""
2200
9f43b6e24232 move mail sending code into core, so extensions can share it.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2197
diff changeset
   402
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   403
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
   404
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
   405
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   406
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
   407
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
   408
after the ``=``.
2211
b8b7a79a4d88 document [extensions] in doc/hgrc.5.txt.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2209
diff changeset
   409
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   410
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
   411
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
   412
defines the extension.
2211
b8b7a79a4d88 document [extensions] in doc/hgrc.5.txt.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2209
diff changeset
   413
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   414
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
   415
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
   416
``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
   417
supplied.
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   418
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   419
Example for ``~/.hgrc``::
6175
7f9f3233a2c6 add explicit extension disabling syntax to hgrc.5
Steve Borho <steve@borho.org>
parents: 6142
diff changeset
   420
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   421
  [extensions]
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   422
  # (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
   423
  hgext.mq =
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   424
  # (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
   425
  myfeature = ~/.hgext/myfeature.py
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   426
2387
62ce297f214f Expand '~' in path to extensions.
Markus F.X.J. Oberhumer <markus@oberhumer.com>
parents: 2358
diff changeset
   427
13314
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   428
``hostfingerprints``
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   429
""""""""""""""""""""
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   430
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   431
Fingerprints of the certificates of known HTTPS servers.
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   432
A HTTPS connection to a server with a fingerprint configured here will
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   433
only succeed if the servers certificate matches the fingerprint.
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   434
This is very similar to how ssh known hosts works.
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   435
The fingerprint is the SHA-1 hash value of the DER encoded certificate.
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   436
The CA chain and web.cacerts is not used for servers with a fingerprint.
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   437
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   438
For example::
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   439
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   440
    [hostfingerprints]
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   441
    hg.intevation.org = 38:76:52:7c:87:26:9a:8f:4a:f8:d3:de:08:45:3b:ea:d6:4b:ee:cc
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   442
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   443
This feature is only supported when using Python 2.6 or later.
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   444
8dc488dfcdb4 url: 'ssh known host'-like checking of fingerprints of HTTPS certificates
Mads Kiilerich <mads@kiilerich.com>
parents: 13232
diff changeset
   445
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   446
``format``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   447
""""""""""
4163
fe41d9a186ab Allow disabling store format to work with absurdly long filenames
Matt Mackall <mpm@selenic.com>
parents: 4084
diff changeset
   448
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   449
``usestore``
4163
fe41d9a186ab Allow disabling store format to work with absurdly long filenames
Matt Mackall <mpm@selenic.com>
parents: 4084
diff changeset
   450
    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
   451
    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
   452
    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
   453
    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
   454
    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
   455
    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
   456
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   457
``usefncache``
7235
7488a1f14e3c Document config option format.usefncache and improve format.usestore docs.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 7117
diff changeset
   458
    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
   459
    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
   460
    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
   461
    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
   462
    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
   463
    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
   464
12710
e23895aea892 doc: add [format] dotencode description
Adrian Buehlmann <adrian@cadifra.com>
parents: 12593
diff changeset
   465
``dotencode``
e23895aea892 doc: add [format] dotencode description
Adrian Buehlmann <adrian@cadifra.com>
parents: 12593
diff changeset
   466
    Enable or disable the "dotencode" repository format which enhances
e23895aea892 doc: add [format] dotencode description
Adrian Buehlmann <adrian@cadifra.com>
parents: 12593
diff changeset
   467
    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
   468
    dotencode) to avoid issues with filenames starting with ._ on
e23895aea892 doc: add [format] dotencode description
Adrian Buehlmann <adrian@cadifra.com>
parents: 12593
diff changeset
   469
    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
   470
    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
   471
    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
   472
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   473
``merge-patterns``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   474
""""""""""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   475
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   476
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
   477
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
   478
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
   479
root.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   480
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   481
Example::
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
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
  [merge-patterns]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   484
  **.c = kdiff3
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   485
  **.jpg = myimgmerge
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   486
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   487
``merge-tools``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   488
"""""""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   489
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   490
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
   491
merges.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   492
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   493
Example ``~/.hgrc``::
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   494
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   495
  [merge-tools]
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   496
  # Override stock tool location
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   497
  kdiff3.executable = ~/bin/kdiff3
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   498
  # Specify command line
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   499
  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
   500
  # Give higher priority
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   501
  kdiff3.priority = 1
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   502
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   503
  # Define new tool
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   504
  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
   505
  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
   506
  myHtmlTool.priority = 1
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   507
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   508
Supported arguments:
6445
a1db3d8b9b8a hgrc.5: fix subsection formatting
Christian Ebert <blacktrash@gmx.net>
parents: 6325
diff changeset
   509
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   510
``priority``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   511
  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
   512
  Default: 0.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   513
``executable``
10485
677fee0a0604 hgrc.5: document use of environment variables on Windows
Steve Borho <steve@borho.org>
parents: 10419
diff changeset
   514
  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
   515
  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
   516
  Default: the tool name.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   517
``args``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   518
  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
   519
  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
   520
  variables: ``$base``, ``$local``, ``$other``, ``$output``.
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   521
  Default: ``$local $base $other``
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   522
``premerge``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   523
  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
   524
  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
   525
  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
   526
  Default: True
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   527
``binary``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   528
  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
   529
  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
   530
``symlink``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   531
  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
   532
  selected by file pattern match.
11148
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   533
``check``
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   534
  A list of merge success-checking options:
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   535
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   536
  ``changed``
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   537
    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
   538
  ``conflicts``
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   539
    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
   540
  ``prompt``
d3c1eddfdbcf merge: tool.check = prompt will force an interactive merge check
David Champion <dgc@uchicago.edu>
parents: 11148
diff changeset
   541
    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
   542
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   543
``checkchanged``
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   544
  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
   545
  Default: False
11148
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   546
``checkconflicts``
a912f26777d3 merge: introduce tool.check parameter
David Champion <dgc@uchicago.edu>
parents: 11146
diff changeset
   547
  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
   548
  Default: False
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   549
``fixeol``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   550
  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
   551
  Default: False
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   552
``gui``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   553
  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
   554
``regkey``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   555
  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
   556
  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
   557
  ``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
   558
  Default: None
13565
984175605311 filemerge: introduce a 'regkeyalt' merge tool variable
Steve Borho <steve@borho.org>
parents: 13411
diff changeset
   559
``regkeyalt``
984175605311 filemerge: introduce a 'regkeyalt' merge tool variable
Steve Borho <steve@borho.org>
parents: 13411
diff changeset
   560
  An alternate Windows registry key to try if the first key is not
984175605311 filemerge: introduce a 'regkeyalt' merge tool variable
Steve Borho <steve@borho.org>
parents: 13411
diff changeset
   561
  found.  The alternate key uses the same ``regname`` and ``regappend``
984175605311 filemerge: introduce a 'regkeyalt' merge tool variable
Steve Borho <steve@borho.org>
parents: 13411
diff changeset
   562
  semantics of the primary key.  The most common use for this key
984175605311 filemerge: introduce a 'regkeyalt' merge tool variable
Steve Borho <steve@borho.org>
parents: 13411
diff changeset
   563
  is to search for 32bit applications on 64bit operating systems.
984175605311 filemerge: introduce a 'regkeyalt' merge tool variable
Steve Borho <steve@borho.org>
parents: 13411
diff changeset
   564
  Default: None
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   565
``regname``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   566
  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
   567
  unnamed (default) value.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   568
``regappend``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   569
  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
   570
  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
   571
  Default: None
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   572
6010
83d193a513c8 add merge sections to hgrc.5
Steve Borho <steve@borho.org>
parents: 5997
diff changeset
   573
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   574
``hooks``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   575
"""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   576
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
   577
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
   578
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
   579
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
   580
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
   581
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   582
Example ``.hg/hgrc``::
1485
625f3f13d7be mention running multiple hooks in the doc
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1316
diff changeset
   583
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   584
  [hooks]
9830
ab1625ccf3a9 hgrc.5: oft-requested "hg update" hook example
Martin Geisler <mg@lazybytes.net>
parents: 9792
diff changeset
   585
  # update working directory after adding changesets
ab1625ccf3a9 hgrc.5: oft-requested "hg update" hook example
Martin Geisler <mg@lazybytes.net>
parents: 9792
diff changeset
   586
  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
   587
  # 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
   588
  incoming =
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   589
  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
   590
  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
   591
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   592
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
   593
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
   594
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
   595
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   596
``changegroup``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   597
  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
   598
  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
   599
  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
   600
``commit``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   601
  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
   602
  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
   603
  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
   604
``incoming``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   605
  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
   606
  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
   607
  ``$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
   608
``outgoing``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   609
  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
   610
  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
   611
  ``$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
   612
``post-<command>``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   613
  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
   614
  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
   615
  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
   616
  ``$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
   617
  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
   618
  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
   619
  ``$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
   620
``pre-<command>``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   621
  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
   622
  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
   623
  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
   624
  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
   625
  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
   626
  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
   627
  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
   628
  code.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   629
``prechangegroup``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   630
  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
   631
  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
   632
  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
   633
  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
   634
``precommit``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   635
  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
   636
  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
   637
  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
   638
``preoutgoing``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   639
  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
   640
  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
   641
  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
   642
  (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
   643
  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
   644
  ``$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
   645
  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
   646
  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
   647
``pretag``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   648
  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
   649
  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
   650
  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
   651
  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
   652
``pretxnchangegroup``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   653
  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
   654
  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
   655
  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
   656
  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
   657
  ``$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
   658
  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
   659
  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
   660
  ``$HG_URL``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   661
``pretxncommit``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   662
  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
   663
  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
   664
  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
   665
  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
   666
  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
   667
  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
   668
``preupdate``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   669
  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
   670
  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
   671
  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
   672
  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
   673
``tag``
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   674
  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
   675
  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
   676
  repository if ``$HG_LOCAL=0``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   677
``update``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   678
  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
   679
  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
   680
  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
   681
  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
   682
9700
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   683
.. 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
   684
   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
   685
   called in the appropriate contexts for influencing transactions.
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   686
   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
   687
   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
   688
9700
26fc6024dd06 doc: use reST note directive
Martin Geisler <mg@lazybytes.net>
parents: 9699
diff changeset
   689
.. 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
   690
   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
   691
   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
   692
   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
   693
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   694
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
   695
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   696
  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
   697
  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
   698
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   699
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
   700
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
   701
``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
   702
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
   703
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
   704
``HG_`` prefix, and names in lower case.
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2003
diff changeset
   705
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   706
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
   707
is treated as a failure.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   708
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2003
diff changeset
   709
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   710
``http_proxy``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   711
""""""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   712
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
   713
proxy.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   714
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   715
``host``
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   716
    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
   717
    "myproxy:8000".
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   718
``no``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   719
    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
   720
    the proxy.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   721
``passwd``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   722
    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
   723
``user``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   724
    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
   725
``always``
4cfd0d56be6d doc: add missing documentation for http_proxy.always
Henrik Stuart <hg@hstuart.dk>
parents: 10409
diff changeset
   726
    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
   727
    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
   728
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   729
``smtp``
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
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
   732
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   733
``host``
2853
619f1c65384c Adjusted documentation for hgrc's "[smtp] host" for change in 9f745d3675d4.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2691
diff changeset
   734
    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
   735
``port``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   736
    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
   737
``tls``
13201
f05250572467 smtp: fix for server doesn't support starttls extension
Zhigang Wang <zhigang.x.wang@oracle.com>
parents: 13057
diff changeset
   738
    Optional. Method to enable TLS when connecting to mail server: starttls,
f05250572467 smtp: fix for server doesn't support starttls extension
Zhigang Wang <zhigang.x.wang@oracle.com>
parents: 13057
diff changeset
   739
    smtps or none. Default: none.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   740
``username``
12384
ffcceca7406d doc: clarify smtp.password usage
Anthony Foiani <anthony.foiani@gmail.com>
parents: 11838
diff changeset
   741
    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
   742
    Default: none.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   743
``password``
12384
ffcceca7406d doc: clarify smtp.password usage
Anthony Foiani <anthony.foiani@gmail.com>
parents: 11838
diff changeset
   744
    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
   745
    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
   746
    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
   747
``local_hostname``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   748
    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
   749
    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
   750
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   751
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   752
``patch``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   753
"""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   754
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
   755
command or with Mercurial Queues extension.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   756
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   757
``eol``
8810
ac92775b3b80 Add patch.eol to ignore EOLs when patching (issue1019)
Patrick Mezard <pmezard@gmail.com>
parents: 8782
diff changeset
   758
    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
   759
    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
   760
    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
   761
    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
   762
    ``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
   763
    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
   764
    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
   765
    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
   766
    Default: strict.
ac92775b3b80 Add patch.eol to ignore EOLs when patching (issue1019)
Patrick Mezard <pmezard@gmail.com>
parents: 8782
diff changeset
   767
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   768
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   769
``paths``
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
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
   772
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
   773
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
   774
the following entries.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   775
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   776
``default``
2277
066d0055e430 Add more specific documentation about defaults for the [paths] section
Daniel <byteshack@gmail.com>
parents: 2266
diff changeset
   777
    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
   778
    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
   779
    cloned.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   780
``default-push``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   781
    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
   782
    is specified.
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   783
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   784
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   785
``profiling``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   786
"""""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   787
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
   788
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
   789
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
   790
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
   791
using lsprof.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   792
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   793
``format``
8023
fd9debb3ea1b profiling: Adding a profiling.format config variable
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8022
diff changeset
   794
    Profiling format.
fd9debb3ea1b profiling: Adding a profiling.format config variable
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8022
diff changeset
   795
    Default: text.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   796
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   797
    ``text``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   798
      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
   799
      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
   800
      not kept.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   801
    ``kcachegrind``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   802
      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
   803
      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
   804
      kcachegrind.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   805
``output``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   806
    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
   807
    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
   808
    stderr
8022
4f3fdfaa3874 profiling: Adding profiling.output config variable
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 7916
diff changeset
   809
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   810
``server``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   811
""""""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   812
Controls generic server settings.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   813
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   814
``uncompressed``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   815
    Whether to allow clients to clone a repository using the
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   816
    uncompressed streaming protocol. This transfers about 40% more
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   817
    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
   818
    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
   819
    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
   820
    regular clone. Over most WAN connections (anything slower than
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   821
    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
   822
    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
   823
    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
   824
    Default is True.
2621
5a5852a417b1 clone: disable stream support on server side by default.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2583
diff changeset
   825
10419
992dc3d39357 hgrc: update docs for the server section
Matt Mackall <mpm@selenic.com>
parents: 10416
diff changeset
   826
``validate``
992dc3d39357 hgrc: update docs for the server section
Matt Mackall <mpm@selenic.com>
parents: 10416
diff changeset
   827
    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
   828
    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
   829
    present. Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   830
12827
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   831
``subpaths``
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   832
""""""""""""
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   833
Defines subrepositories source locations rewriting rules of the form::
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   834
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   835
    <pattern> = <replacement>
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   836
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   837
Where ``pattern`` is a regular expression matching the source and
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   838
``replacement`` is the replacement string used to rewrite it. Groups
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   839
can be matched in ``pattern`` and referenced in ``replacements``. For
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   840
instance::
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   841
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   842
    http://server/(.*)-hg/ = http://hg.server/\1/
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   843
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   844
rewrites ``http://server/foo-hg/`` into ``http://hg.server/foo/``.
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   845
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   846
All patterns are applied in definition order.
042bc18dee4b hgrc: document [subpaths] section
Patrick Mezard <pmezard@gmail.com>
parents: 12771
diff changeset
   847
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   848
``trusted``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   849
"""""""""""
11286
ccfd1cbc7289 hgrc: improve docs for the trusted section
Matt Mackall <mpm@selenic.com>
parents: 11269
diff changeset
   850
ccfd1cbc7289 hgrc: improve docs for the trusted section
Matt Mackall <mpm@selenic.com>
parents: 11269
diff changeset
   851
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
   852
``.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
   853
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
   854
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
   855
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
   856
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
   857
section.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   858
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   859
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
   860
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
   861
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
   862
*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
   863
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
   864
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   865
``users``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   866
  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
   867
``groups``
8769
a5d0e821ab77 hgrc.5: reformatted to avoid big chunks of monospaced text
Martin Geisler <mg@lazybytes.net>
parents: 8768
diff changeset
   868
  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
   869
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3489
diff changeset
   870
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   871
``ui``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   872
""""""
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   873
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   874
User interface controls.
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   875
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   876
``archivemeta``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   877
    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
   878
    (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
   879
    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
   880
    Default is True.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   881
``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
   882
    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
   883
    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
   884
    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
   885
    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
   886
    Default is False.
13411
d4de90a612f7 commit: abort if a subrepo is modified and ui.commitsubrepos=no
Patrick Mezard <pmezard@gmail.com>
parents: 13398
diff changeset
   887
``commitsubrepos``
d4de90a612f7 commit: abort if a subrepo is modified and ui.commitsubrepos=no
Patrick Mezard <pmezard@gmail.com>
parents: 13398
diff changeset
   888
    Whether to commit modified subrepositories when committing the
d4de90a612f7 commit: abort if a subrepo is modified and ui.commitsubrepos=no
Patrick Mezard <pmezard@gmail.com>
parents: 13398
diff changeset
   889
    parent repository. If False and one subrepository has uncommitted
d4de90a612f7 commit: abort if a subrepo is modified and ui.commitsubrepos=no
Patrick Mezard <pmezard@gmail.com>
parents: 13398
diff changeset
   890
    changes, abort the commit.
d4de90a612f7 commit: abort if a subrepo is modified and ui.commitsubrepos=no
Patrick Mezard <pmezard@gmail.com>
parents: 13398
diff changeset
   891
    Default is True.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   892
``debug``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   893
    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
   894
``editor``
9746
2dee9a359262 hgrc.5: mark more inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9745
diff changeset
   895
    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
   896
``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
   897
    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
   898
    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
   899
``ignore``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
   900
    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
   901
    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
   902
    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
   903
    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
   904
    ``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
   905
    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
   906
``interactive``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   907
    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
   908
``logtemplate``
1907
7718885070b1 let commands that show changesets use templates.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1788
diff changeset
   909
    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
   910
``merge``
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   911
    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
   912
    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
   913
    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
   914
``patch``
9746
2dee9a359262 hgrc.5: mark more inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9745
diff changeset
   915
    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
   916
    PATH if unset.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   917
``quiet``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   918
    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
   919
``remotecmd``
9746
2dee9a359262 hgrc.5: mark more inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9745
diff changeset
   920
    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
   921
``report_untrusted``
9161
e8b653a4b8da doc: fixup font markup in man pages
Martin Geisler <mg@lazybytes.net>
parents: 9158
diff changeset
   922
    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
   923
    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
   924
``slash``
9624
585d2ffe969b doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents: 9569
diff changeset
   925
    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
   926
    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
   927
    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
   928
    backslash character (``\``)).
4527
b422b558015b Add ui.slash hgrc setting
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4435
diff changeset
   929
    Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   930
``ssh``
9746
2dee9a359262 hgrc.5: mark more inline literals
Martin Geisler <mg@lazybytes.net>
parents: 9745
diff changeset
   931
    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
   932
``strict``
2988
63c3a1921a67 Add ui.strict config item.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2853
diff changeset
   933
    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
   934
    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
   935
``style``
4715
ad45209a7c7a Fixed sorting inside nearly sorted sections in hgrc.5
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4709
diff changeset
   936
    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
   937
``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
   938
    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
   939
    means no timeout. Default is 600.
9697
59e5ae188440 hgrc.5: document ui.traceback setting
Martin Geisler <mg@lazybytes.net>
parents: 9659
diff changeset
   940
``traceback``
59e5ae188440 hgrc.5: document ui.traceback setting
Martin Geisler <mg@lazybytes.net>
parents: 9659
diff changeset
   941
    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
   942
    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
   943
    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
   944
    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
   945
``username``
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   946
    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
   947
    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
   948
    <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
   949
    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
   950
    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
   951
    ``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
   952
    username are expanded.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   953
``verbose``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
   954
    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
   955
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   956
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   957
``web``
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   958
"""""""
13057
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   959
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   960
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
   961
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
   962
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
   963
and WSGI).
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   964
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   965
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
   966
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
   967
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
   968
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
   969
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
   970
checks.
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   971
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   972
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
   973
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
   974
command line::
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   975
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   976
    $ 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
   977
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   978
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
   979
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
   980
1cfaf11c6398 hgrc.5: expand introduction for [web] section
Martin Geisler <mg@lazybytes.net>
parents: 13056
diff changeset
   981
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
   982
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   983
``accesslog``
938
54b2a42e501e hgweb: add [web] section to hgrc
mpm@selenic.com
parents: 705
diff changeset
   984
    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
   985
``address``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
   986
    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
   987
``allow_archive``
2358
8819fc1dcf4b hgweb: add allow_archive support to [web] section of hgrc
TK Soh <teekaysoh@yahoo.com>
parents: 2318
diff changeset
   988
    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
   989
    Default is empty.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   990
``allowbz2``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   991
    (DEPRECATED) Whether to allow .tar.bz2 downloading of repository
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   992
    revisions.
9699
7f4a792e50eb hgrc.5: capitalize True and False consistently
Martin Geisler <mg@lazybytes.net>
parents: 9697
diff changeset
   993
    Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   994
``allowgz``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   995
    (DEPRECATED) Whether to allow .tar.gz downloading of repository
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
   996
    revisions.
9699
7f4a792e50eb hgrc.5: capitalize True and False consistently
Martin Geisler <mg@lazybytes.net>
parents: 9697
diff changeset
   997
    Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
   998
``allowpull``
9699
7f4a792e50eb hgrc.5: capitalize True and False consistently
Martin Geisler <mg@lazybytes.net>
parents: 9697
diff changeset
   999
    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
  1000
``allow_push``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
  1001
    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
  1002
    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
  1003
    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
  1004
    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
  1005
    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
  1006
    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
  1007
``allow_read``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
  1008
    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
  1009
    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
  1010
    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
  1011
    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
  1012
    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
  1013
    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
  1014
    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
  1015
    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
  1016
    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
  1017
``allowzip``
8773
bf8ff9e8a506 hgrc.5: spell check
Martin Geisler <mg@lazybytes.net>
parents: 8772
diff changeset
  1018
    (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
  1019
    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
  1020
``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
  1021
    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
  1022
    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
  1023
    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
  1024
``cacerts``
13232
b25b5ad0cca8 hgrc.5: mention that web.cacerts are run through util.expandpath
Martin Geisler <mg@aragost.com>
parents: 13057
diff changeset
  1025
    Path to file containing a list of PEM encoded certificate
b25b5ad0cca8 hgrc.5: mention that web.cacerts are run through util.expandpath
Martin Geisler <mg@aragost.com>
parents: 13057
diff changeset
  1026
    authority certificates. Environment variables and ``~user``
b25b5ad0cca8 hgrc.5: mention that web.cacerts are run through util.expandpath
Martin Geisler <mg@aragost.com>
parents: 13057
diff changeset
  1027
    constructs are expanded in the filename. If specified on the
b25b5ad0cca8 hgrc.5: mention that web.cacerts are run through util.expandpath
Martin Geisler <mg@aragost.com>
parents: 13057
diff changeset
  1028
    client, then it will verify the identity of remote HTTPS servers
b25b5ad0cca8 hgrc.5: mention that web.cacerts are run through util.expandpath
Martin Geisler <mg@aragost.com>
parents: 13057
diff changeset
  1029
    with these certificates. The form must be as follows::
10409
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
  1030
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
  1031
        -----BEGIN CERTIFICATE-----
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
  1032
        ... (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
  1033
        -----END CERTIFICATE-----
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
  1034
        -----BEGIN CERTIFICATE-----
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
  1035
        ... (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
  1036
        -----END CERTIFICATE-----
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
  1037
12593
01c373762b76 doc: clarify that https cert verification requires web.cacerts
Mads Kiilerich <mads@kiilerich.com>
parents: 12384
diff changeset
  1038
    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
  1039
    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
  1040
    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
  1041
    ``http://pypi.python.org``.
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
  1042
4c94a3df4b10 url: SSL server certificate verification using web.cacerts file (issue1174)
Henrik Stuart <hg@hstuart.dk>
parents: 10391
diff changeset
  1043
    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
  1044
    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
  1045
    Otherwise you will have to generate this file manually.
13328
a939f08fae9c url: add --insecure option to bypass verification of ssl certificates
Yuya Nishihara <yuya@tcha.org>
parents: 13314
diff changeset
  1046
a939f08fae9c url: add --insecure option to bypass verification of ssl certificates
Yuya Nishihara <yuya@tcha.org>
parents: 13314
diff changeset
  1047
    To disable SSL verification temporarily, specify ``--insecure`` from
a939f08fae9c url: add --insecure option to bypass verification of ssl certificates
Yuya Nishihara <yuya@tcha.org>
parents: 13314
diff changeset
  1048
    command line.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
  1049
``contact``
2430
4ccd71b83d5e Add web.contact to the hgrc documentation.
"Daniel Santa Cruz <byteshack@gmail.com>"
parents: 2387
diff changeset
  1050
    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
  1051
    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
  1052
``deny_push``
6446
ee5313bc3c0c asciidoc: consistently use 1 space after full stop
Christian Ebert <blacktrash@gmx.net>
parents: 6445
diff changeset
  1053
    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
  1054
    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
  1055
    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
  1056
    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
  1057
    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
  1058
``deny_read``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
  1059
    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
  1060
    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
  1061
    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
  1062
    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
  1063
    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
  1064
    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
  1065
    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
  1066
    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
  1067
    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
  1068
    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
  1069
    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
  1070
    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
  1071
    list.
9363
8635b33eaade hgweb: add web.descend configuration variable
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 9162
diff changeset
  1072
``descend``
8635b33eaade hgweb: add web.descend configuration variable
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 9162
diff changeset
  1073
    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
  1074
    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
  1075
    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
  1076
``description``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
  1077
    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
  1078
    Default is "unknown".
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
  1079
``encoding``
10997
b3a1f535ce4f docs: document default for web.encoding
Matt Mackall <mpm@selenic.com>
parents: 10982
diff changeset
  1080
    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
  1081
    Example: "UTF-8"
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
  1082
``errorlog``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
  1083
    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
  1084
``hidden``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
  1085
    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
  1086
    Default is False.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
  1087
``ipv6``
9699
7f4a792e50eb hgrc.5: capitalize True and False consistently
Martin Geisler <mg@lazybytes.net>
parents: 9697
diff changeset
  1088
    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
  1089
``name``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
  1090
    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
  1091
    working directory.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
  1092
``maxchanges``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
  1093
    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
  1094
``maxfiles``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
  1095
    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
  1096
``port``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
  1097
    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
  1098
``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
  1099
    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
  1100
``push_ssl``
2466
e10665147d26 push over http: server side authorization support.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2430
diff changeset
  1101
    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
  1102
    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
  1103
``staticurl``
8730
01f0ddb90342 hgrc.5: wrap lines at 70 chars (whitespace cleanup)
Martin Geisler <mg@lazybytes.net>
parents: 8727
diff changeset
  1104
    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
  1105
    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
  1106
    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
  1107
    Example: ``http://hgserver/static/``.
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 8900
diff changeset
  1108
``stripes``
2666
ebf033bc8eb2 hgweb: Configurable zebra stripes
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 2622
diff changeset
  1109
    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
  1110
    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
  1111
``style``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
  1112
    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
  1113
``templates``
1171
a425bb927ede Sort items in each hgrc section. Add web/description.
Bryan O'Sullivan <bos@serpentine.com>
parents: 1079
diff changeset
  1114
    Where to find the HTML templates. Default is install path.
1079
a37974035f1f Document archive download options
mpm@selenic.com
parents: 986
diff changeset
  1115
938
54b2a42e501e hgweb: add [web] section to hgrc
mpm@selenic.com
parents: 705
diff changeset
  1116
9792
dd1a95ccbe07 doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents: 9784
diff changeset
  1117
Author
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
  1118
------
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
  1119
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
  1120
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
  1121
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
  1122
9792
dd1a95ccbe07 doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents: 9784
diff changeset
  1123
See Also
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
  1124
--------
9162
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents: 9161
diff changeset
  1125
|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
  1126
9792
dd1a95ccbe07 doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents: 9784
diff changeset
  1127
Copying
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
  1128
-------
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
  1129
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
  1130
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
  1131
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
  1132
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
  1133
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents: 9161
diff changeset
  1134
.. include:: common.txt