##// END OF EJS Templates
doc: fixup font markup in man pages...
Martin Geisler -
r9161:e8b653a4 default
parent child Browse files
Show More
@@ -1,45 +1,48 b''
1 SOURCES=$(wildcard *.[0-9].txt)
1 SOURCES=$(wildcard *.[0-9].txt)
2 MAN=$(SOURCES:%.txt=%)
2 MAN=$(SOURCES:%.txt=%)
3 HTML=$(SOURCES:%.txt=%.html)
3 HTML=$(SOURCES:%.txt=%.html)
4 PREFIX=/usr/local
4 PREFIX=/usr/local
5 MANDIR=$(PREFIX)/share/man
5 MANDIR=$(PREFIX)/share/man
6 INSTALL=install -c -m 644
6 INSTALL=install -c -m 644
7 PYTHON=python
7 PYTHON=python
8 RST2HTML=rst2html
8 RST2HTML=rst2html
9 RST2MAN=rst2man
9 RST2MAN=rst2man
10
10
11 all: man html
11 all: man html
12
12
13 man: $(MAN)
13 man: $(MAN)
14
14
15 html: $(HTML)
15 html: $(HTML)
16
16
17 hg.1.txt: hg.1.gendoc.txt
17 hg.1.txt: hg.1.gendoc.txt
18 touch hg.1.txt
18 touch hg.1.txt
19
19
20 hg.1.gendoc.txt: gendoc.py ../mercurial/commands.py ../mercurial/help.py
20 hg.1.gendoc.txt: gendoc.py ../mercurial/commands.py ../mercurial/help.py
21 ${PYTHON} gendoc.py > $@
21 ${PYTHON} gendoc.py > $@
22
22
23 %: %.txt
23 %: %.txt
24 # add newline after all literal blocks
24 # add newline after all literal blocks and fix backslash escape
25 $(RST2MAN) $*.txt | sed -e 's/^\.fi$$/.fi\n/' > $*
25 $(RST2MAN) $*.txt \
26 | sed -e 's/^\.fi$$/.fi\n/' \
27 | sed -e 's/\\fB\\\\fP/\\fB\\e\\fP/' \
28 > $*
26
29
27 %.html: %.txt
30 %.html: %.txt
28 $(RST2HTML) $*.txt > $*.html
31 $(RST2HTML) $*.txt > $*.html
29
32
30 MANIFEST: man html
33 MANIFEST: man html
31 # tracked files are already in the main MANIFEST
34 # tracked files are already in the main MANIFEST
32 $(RM) $@
35 $(RM) $@
33 for i in $(MAN) $(HTML) hg.1.gendoc.txt; do \
36 for i in $(MAN) $(HTML) hg.1.gendoc.txt; do \
34 echo "doc/$$i" >> $@ ; \
37 echo "doc/$$i" >> $@ ; \
35 done
38 done
36
39
37 install: man
40 install: man
38 for i in $(MAN) ; do \
41 for i in $(MAN) ; do \
39 subdir=`echo $$i | sed -n 's/^.*\.\([0-9]\)$$/man\1/p'` ; \
42 subdir=`echo $$i | sed -n 's/^.*\.\([0-9]\)$$/man\1/p'` ; \
40 mkdir -p $(DESTDIR)$(MANDIR)/$$subdir ; \
43 mkdir -p $(DESTDIR)$(MANDIR)/$$subdir ; \
41 $(INSTALL) $$i $(DESTDIR)$(MANDIR)/$$subdir ; \
44 $(INSTALL) $$i $(DESTDIR)$(MANDIR)/$$subdir ; \
42 done
45 done
43
46
44 clean:
47 clean:
45 $(RM) $(MAN) $(MAN:%=%.html) *.[0-9].gendoc.txt MANIFEST
48 $(RM) $(MAN) $(MAN:%=%.html) *.[0-9].gendoc.txt MANIFEST
@@ -1,93 +1,94 b''
1 ====
1 ====
2 hg
2 hg
3 ====
3 ====
4
4
5 ---------------------------------------
5 ---------------------------------------
6 Mercurial source code management system
6 Mercurial source code management system
7 ---------------------------------------
7 ---------------------------------------
8
8
9 :Author: Matt Mackall <mpm@selenic.com>
9 :Author: Matt Mackall <mpm@selenic.com>
10 :Organization: Mercurial
10 :Organization: Mercurial
11 :Manual section: 1
11 :Manual section: 1
12 :Manual group: Mercurial Manual
12 :Manual group: Mercurial Manual
13
13
14
14
15 SYNOPSIS
15 SYNOPSIS
16 --------
16 --------
17 **hg** *command* [*option*]... [*argument*]...
17 **hg** *command* [*option*]... [*argument*]...
18
18
19 DESCRIPTION
19 DESCRIPTION
20 -----------
20 -----------
21 The *hg* command provides a command line interface to the Mercurial
21 The **hg** command provides a command line interface to the Mercurial
22 system.
22 system.
23
23
24 COMMAND ELEMENTS
24 COMMAND ELEMENTS
25 ----------------
25 ----------------
26
26
27 files...
27 files...
28 indicates one or more filename or relative path filenames; see
28 indicates one or more filename or relative path filenames; see
29 "FILE NAME PATTERNS" for information on pattern matching
29 "FILE NAME PATTERNS" for information on pattern matching
30
30
31 path
31 path
32 indicates a path on the local machine
32 indicates a path on the local machine
33
33
34 revision
34 revision
35 indicates a changeset which can be specified as a changeset
35 indicates a changeset which can be specified as a changeset
36 revision number, a tag, or a unique substring of the changeset
36 revision number, a tag, or a unique substring of the changeset
37 hash value
37 hash value
38
38
39 repository path
39 repository path
40 either the pathname of a local repository or the URI of a remote
40 either the pathname of a local repository or the URI of a remote
41 repository.
41 repository.
42
42
43 .. include:: hg.1.gendoc.txt
43 .. include:: hg.1.gendoc.txt
44
44
45 FILES
45 FILES
46 -----
46 -----
47
47
48 `.hgignore`
48 ``.hgignore``
49 This file contains regular expressions (one per line) that
49 This file contains regular expressions (one per line) that
50 describe file names that should be ignored by *hg*. For details,
50 describe file names that should be ignored by **hg**. For details,
51 see *hgignore(5)*.
51 see *hgignore(5)*.
52
52
53 `.hgtags`
53 ``.hgtags``
54 This file contains changeset hash values and text tag names (one
54 This file contains changeset hash values and text tag names (one
55 of each separated by spaces) that correspond to tagged versions of
55 of each separated by spaces) that correspond to tagged versions of
56 the repository contents.
56 the repository contents.
57
57
58 `/etc/mercurial/hgrc`, `$HOME/.hgrc`, `.hg/hgrc`
58 ``/etc/mercurial/hgrc``, ``$HOME/.hgrc``, ``.hg/hgrc``
59 This file contains defaults and configuration. Values in `.hg/hgrc`
59 This file contains defaults and configuration. Values in
60 override those in `$HOME/.hgrc`, and these override settings made in
60 ``.hg/hgrc`` override those in ``$HOME/.hgrc``, and these override
61 the global `/etc/mercurial/hgrc` configuration. See *hgrc(5)* for
61 settings made in the global ``/etc/mercurial/hgrc`` configuration.
62 details of the contents and format of these files.
62 See *hgrc(5)* for details of the contents and format of these
63 files.
63
64
64 Some commands (e.g. revert) produce backup files ending in `.orig`, if
65 Some commands (e.g. revert) produce backup files ending in ``.orig``,
65 the `.orig` file already exists and is not tracked by Mercurial, it will
66 if the ``.orig`` file already exists and is not tracked by Mercurial,
66 be overwritten.
67 it will be overwritten.
67
68
68 BUGS
69 BUGS
69 ----
70 ----
70 Probably lots, please post them to the mailing list (See Resources
71 Probably lots, please post them to the mailing list (See Resources
71 below) when you find them.
72 below) when you find them.
72
73
73 SEE ALSO
74 SEE ALSO
74 --------
75 --------
75 *hgignore(5)*, *hgrc(5)*
76 *hgignore(5)*, *hgrc(5)*
76
77
77 AUTHOR
78 AUTHOR
78 ------
79 ------
79 Written by Matt Mackall <mpm@selenic.com>
80 Written by Matt Mackall <mpm@selenic.com>
80
81
81 RESOURCES
82 RESOURCES
82 ---------
83 ---------
83 Main Web Site: http://mercurial.selenic.com/
84 Main Web Site: http://mercurial.selenic.com/
84
85
85 Source code repository: http://selenic.com/hg
86 Source code repository: http://selenic.com/hg
86
87
87 Mailing list: http://selenic.com/mailman/listinfo/mercurial
88 Mailing list: http://selenic.com/mailman/listinfo/mercurial
88
89
89 COPYING
90 COPYING
90 -------
91 -------
91 Copyright \(C) 2005-2009 Matt Mackall.
92 Copyright \(C) 2005-2009 Matt Mackall.
92 Free use of this software is granted under the terms of the GNU General
93 Free use of this software is granted under the terms of the GNU General
93 Public License (GPL).
94 Public License (GPL).
@@ -1,101 +1,101 b''
1 ==========
1 ==========
2 hgignore
2 hgignore
3 ==========
3 ==========
4
4
5 ---------------------------------
5 ---------------------------------
6 syntax for Mercurial ignore files
6 syntax for Mercurial ignore files
7 ---------------------------------
7 ---------------------------------
8
8
9 :Author: Vadim Gelfer <vadim.gelfer@gmail.com>
9 :Author: Vadim Gelfer <vadim.gelfer@gmail.com>
10 :Organization: Mercurial
10 :Organization: Mercurial
11 :Manual section: 5
11 :Manual section: 5
12 :Manual group: Mercurial Manual
12 :Manual group: Mercurial Manual
13
13
14 SYNOPSIS
14 SYNOPSIS
15 --------
15 --------
16
16
17 The Mercurial system uses a file called ``.hgignore`` in the root
17 The Mercurial system uses a file called ``.hgignore`` in the root
18 directory of a repository to control its behavior when it searches
18 directory of a repository to control its behavior when it searches
19 for files that it is not currently tracking.
19 for files that it is not currently tracking.
20
20
21 DESCRIPTION
21 DESCRIPTION
22 -----------
22 -----------
23
23
24 An untracked file is ignored if its path relative to the repository
24 An untracked file is ignored if its path relative to the repository
25 root directory, or any prefix path of that path, is matched against
25 root directory, or any prefix path of that path, is matched against
26 any pattern in `.hgignore`.
26 any pattern in `.hgignore`.
27
27
28 For example, say we have an an untracked file, `file.c`, at
28 For example, say we have an an untracked file, ``file.c``, at
29 `a/b/file.c` inside our repository. Mercurial will ignore `file.c` if
29 ``a/b/file.c`` inside our repository. Mercurial will ignore ``file.c``
30 any pattern in `.hgignore` matches `a/b/file.c`, `a/b` or `a`.
30 if any pattern in ``.hgignore`` matches ``a/b/file.c``, ``a/b`` or ``a``.
31
31
32 In addition, a Mercurial configuration file can reference a set of
32 In addition, a Mercurial configuration file can reference a set of
33 per-user or global ignore files. See the hgrc(5) man page for details
33 per-user or global ignore files. See the hgrc(5) man page for details
34 of how to configure these files. Look for the "ignore" entry in the
34 of how to configure these files. Look for the "ignore" entry in the
35 "ui" section.
35 "ui" section.
36
36
37 To control Mercurial's handling of files that it manages, see the
37 To control Mercurial's handling of files that it manages, see the
38 hg(1) man page. Look for the "-I" and "-X" options.
38 hg(1) man page. Look for the "-I" and "-X" options.
39
39
40 SYNTAX
40 SYNTAX
41 ------
41 ------
42
42
43 An ignore file is a plain text file consisting of a list of patterns,
43 An ignore file is a plain text file consisting of a list of patterns,
44 with one pattern per line. Empty lines are skipped. The "``#``"
44 with one pattern per line. Empty lines are skipped. The "``#``"
45 character is treated as a comment character, and the "``\``" character
45 character is treated as a comment character, and the "``\``" character
46 is treated as an escape character.
46 is treated as an escape character.
47
47
48 Mercurial supports several pattern syntaxes. The default syntax used
48 Mercurial supports several pattern syntaxes. The default syntax used
49 is Python/Perl-style regular expressions.
49 is Python/Perl-style regular expressions.
50
50
51 To change the syntax used, use a line of the following form::
51 To change the syntax used, use a line of the following form::
52
52
53 syntax: NAME
53 syntax: NAME
54
54
55 where ``NAME`` is one of the following:
55 where ``NAME`` is one of the following:
56
56
57 ``regexp``
57 ``regexp``
58 Regular expression, Python/Perl syntax.
58 Regular expression, Python/Perl syntax.
59 ``glob``
59 ``glob``
60 Shell-style glob.
60 Shell-style glob.
61
61
62 The chosen syntax stays in effect when parsing all patterns that
62 The chosen syntax stays in effect when parsing all patterns that
63 follow, until another syntax is selected.
63 follow, until another syntax is selected.
64
64
65 Neither glob nor regexp patterns are rooted. A glob-syntax pattern of
65 Neither glob nor regexp patterns are rooted. A glob-syntax pattern of
66 the form "``*.c``" will match a file ending in "``.c``" in any directory,
66 the form "``*.c``" will match a file ending in "``.c``" in any directory,
67 and a regexp pattern of the form "``\.c$``" will do the same. To root a
67 and a regexp pattern of the form "``\.c$``" will do the same. To root a
68 regexp pattern, start it with "``^``".
68 regexp pattern, start it with "``^``".
69
69
70 EXAMPLE
70 EXAMPLE
71 -------
71 -------
72
72
73 Here is an example ignore file. ::
73 Here is an example ignore file. ::
74
74
75 # use glob syntax.
75 # use glob syntax.
76 syntax: glob
76 syntax: glob
77
77
78 *.elc
78 *.elc
79 *.pyc
79 *.pyc
80 *~
80 *~
81
81
82 # switch to regexp syntax.
82 # switch to regexp syntax.
83 syntax: regexp
83 syntax: regexp
84 ^\.pc/
84 ^\.pc/
85
85
86 AUTHOR
86 AUTHOR
87 ------
87 ------
88 Vadim Gelfer <vadim.gelfer@gmail.com>
88 Vadim Gelfer <vadim.gelfer@gmail.com>
89
89
90 Mercurial was written by Matt Mackall <mpm@selenic.com>.
90 Mercurial was written by Matt Mackall <mpm@selenic.com>.
91
91
92 SEE ALSO
92 SEE ALSO
93 --------
93 --------
94 hg(1), hgrc(5)
94 hg(1), hgrc(5)
95
95
96 COPYING
96 COPYING
97 -------
97 -------
98 This manual page is copyright 2006 Vadim Gelfer.
98 This manual page is copyright 2006 Vadim Gelfer.
99 Mercurial is copyright 2005-2009 Matt Mackall.
99 Mercurial is copyright 2005-2009 Matt Mackall.
100 Free use of this software is granted under the terms of the GNU General
100 Free use of this software is granted under the terms of the GNU General
101 Public License (GPL).
101 Public License (GPL).
@@ -1,932 +1,932 b''
1 ======
1 ======
2 hgrc
2 hgrc
3 ======
3 ======
4
4
5 ---------------------------------
5 ---------------------------------
6 configuration files for Mercurial
6 configuration files for Mercurial
7 ---------------------------------
7 ---------------------------------
8
8
9 :Author: Bryan O'Sullivan <bos@serpentine.com>
9 :Author: Bryan O'Sullivan <bos@serpentine.com>
10 :Organization: Mercurial
10 :Organization: Mercurial
11 :Manual section: 5
11 :Manual section: 5
12 :Manual group: Mercurial Manual
12 :Manual group: Mercurial Manual
13
13
14
14
15 SYNOPSIS
15 SYNOPSIS
16 --------
16 --------
17
17
18 The Mercurial system uses a set of configuration files to control
18 The Mercurial system uses a set of configuration files to control
19 aspects of its behavior.
19 aspects of its behavior.
20
20
21 FILES
21 FILES
22 -----
22 -----
23
23
24 Mercurial reads configuration data from several files, if they exist.
24 Mercurial reads configuration data from several files, if they exist.
25 The names of these files depend on the system on which Mercurial is
25 The names of these files depend on the system on which Mercurial is
26 installed. `*.rc` files from a single directory are read in
26 installed. ``*.rc`` files from a single directory are read in
27 alphabetical order, later ones overriding earlier ones. Where multiple
27 alphabetical order, later ones overriding earlier ones. Where multiple
28 paths are given below, settings from later paths override earlier
28 paths are given below, settings from later paths override earlier
29 ones.
29 ones.
30
30
31 | (Unix) ``<install-root>/etc/mercurial/hgrc.d/*.rc``
31 | (Unix) ``<install-root>/etc/mercurial/hgrc.d/*.rc``
32 | (Unix) ``<install-root>/etc/mercurial/hgrc``
32 | (Unix) ``<install-root>/etc/mercurial/hgrc``
33
33
34 Per-installation configuration files, searched for in the
34 Per-installation configuration files, searched for in the
35 directory where Mercurial is installed. `<install-root>` is the
35 directory where Mercurial is installed. ``<install-root>`` is the
36 parent directory of the hg executable (or symlink) being run. For
36 parent directory of the **hg** executable (or symlink) being run. For
37 example, if installed in `/shared/tools/bin/hg`, Mercurial will look
37 example, if installed in ``/shared/tools/bin/hg``, Mercurial will look
38 in `/shared/tools/etc/mercurial/hgrc`. Options in these files apply
38 in ``/shared/tools/etc/mercurial/hgrc``. Options in these files apply
39 to all Mercurial commands executed by any user in any directory.
39 to all Mercurial commands executed by any user in any directory.
40
40
41 | (Unix) ``/etc/mercurial/hgrc.d/*.rc``
41 | (Unix) ``/etc/mercurial/hgrc.d/*.rc``
42 | (Unix) ``/etc/mercurial/hgrc``
42 | (Unix) ``/etc/mercurial/hgrc``
43
43
44 Per-system configuration files, for the system on which Mercurial
44 Per-system configuration files, for the system on which Mercurial
45 is running. Options in these files apply to all Mercurial commands
45 is running. Options in these files apply to all Mercurial commands
46 executed by any user in any directory. Options in these files
46 executed by any user in any directory. Options in these files
47 override per-installation options.
47 override per-installation options.
48
48
49 | (Windows) ``<install-dir>\Mercurial.ini`` or else
49 | (Windows) ``<install-dir>\Mercurial.ini`` or else
50 | (Windows) ``HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial`` or else
50 | (Windows) ``HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial`` or else
51 | (Windows) ``C:\Mercurial\Mercurial.ini``
51 | (Windows) ``C:\Mercurial\Mercurial.ini``
52
52
53 Per-installation/system configuration files, for the system on
53 Per-installation/system configuration files, for the system on
54 which Mercurial is running. Options in these files apply to all
54 which Mercurial is running. Options in these files apply to all
55 Mercurial commands executed by any user in any directory. Registry
55 Mercurial commands executed by any user in any directory. Registry
56 keys contain PATH-like strings, every part of which must reference
56 keys contain PATH-like strings, every part of which must reference
57 a `Mercurial.ini` file or be a directory where `*.rc` files will
57 a ``Mercurial.ini`` file or be a directory where ``*.rc`` files will
58 be read.
58 be read.
59
59
60 | (Unix) ``$HOME/.hgrc``
60 | (Unix) ``$HOME/.hgrc``
61 | (Windows) ``%HOME%\Mercurial.ini``
61 | (Windows) ``%HOME%\Mercurial.ini``
62 | (Windows) ``%HOME%\.hgrc``
62 | (Windows) ``%HOME%\.hgrc``
63 | (Windows) ``%USERPROFILE%\Mercurial.ini``
63 | (Windows) ``%USERPROFILE%\Mercurial.ini``
64 | (Windows) ``%USERPROFILE%\.hgrc``
64 | (Windows) ``%USERPROFILE%\.hgrc``
65
65
66 Per-user configuration file(s), for the user running Mercurial. On
66 Per-user configuration file(s), for the user running Mercurial. On
67 Windows 9x, `%HOME%` is replaced by `%APPDATA%`. Options in these
67 Windows 9x, ``%HOME%`` is replaced by ``%APPDATA%``. Options in these
68 files apply to all Mercurial commands executed by this user in any
68 files apply to all Mercurial commands executed by this user in any
69 directory. Options in these files override per-installation and
69 directory. Options in these files override per-installation and
70 per-system options.
70 per-system options.
71
71
72 | (Unix, Windows) ``<repo>/.hg/hgrc``
72 | (Unix, Windows) ``<repo>/.hg/hgrc``
73
73
74 Per-repository configuration options that only apply in a
74 Per-repository configuration options that only apply in a
75 particular repository. This file is not version-controlled, and
75 particular repository. This file is not version-controlled, and
76 will not get transferred during a "clone" operation. Options in
76 will not get transferred during a "clone" operation. Options in
77 this file override options in all other configuration files. On
77 this file override options in all other configuration files. On
78 Unix, most of this file will be ignored if it doesn't belong to a
78 Unix, most of this file will be ignored if it doesn't belong to a
79 trusted user or to a trusted group. See the documentation for the
79 trusted user or to a trusted group. See the documentation for the
80 trusted section below for more details.
80 trusted section below for more details.
81
81
82 SYNTAX
82 SYNTAX
83 ------
83 ------
84
84
85 A configuration file consists of sections, led by a "`[section]`" header
85 A configuration file consists of sections, led by a "``[section]``" header
86 and followed by "`name: value`" entries; "`name=value`" is also accepted.
86 and followed by "``name: value``" entries; "``name=value``" is also accepted.
87
87
88 ::
88 ::
89
89
90 [spam]
90 [spam]
91 eggs=ham
91 eggs=ham
92 green=
92 green=
93 eggs
93 eggs
94
94
95 Each line contains one entry. If the lines that follow are indented,
95 Each line contains one entry. If the lines that follow are indented,
96 they are treated as continuations of that entry.
96 they are treated as continuations of that entry.
97
97
98 Leading whitespace is removed from values. Empty lines are skipped.
98 Leading whitespace is removed from values. Empty lines are skipped.
99
99
100 Lines beginning with "``#``" or "``;``" are ignored and may be used to provide
100 Lines beginning with "``#``" or "``;``" are ignored and may be used to provide
101 comments.
101 comments.
102
102
103 SECTIONS
103 SECTIONS
104 --------
104 --------
105
105
106 This section describes the different sections that may appear in a
106 This section describes the different sections that may appear in a
107 Mercurial "hgrc" file, the purpose of each section, its possible keys,
107 Mercurial "hgrc" file, the purpose of each section, its possible keys,
108 and their possible values.
108 and their possible values.
109
109
110 ``alias``
110 ``alias``
111 """""""""
111 """""""""
112 Defines command aliases.
112 Defines command aliases.
113 Aliases allow you to define your own commands in terms of other
113 Aliases allow you to define your own commands in terms of other
114 commands (or aliases), optionally including arguments.
114 commands (or aliases), optionally including arguments.
115
115
116 Alias definitions consist of lines of the form::
116 Alias definitions consist of lines of the form::
117
117
118 <alias> = <command> [<argument]...
118 <alias> = <command> [<argument]...
119
119
120 For example, this definition::
120 For example, this definition::
121
121
122 latest = log --limit 5
122 latest = log --limit 5
123
123
124 creates a new command `latest` that shows only the five most recent
124 creates a new command ``latest`` that shows only the five most recent
125 changesets. You can define subsequent aliases using earlier ones::
125 changesets. You can define subsequent aliases using earlier ones::
126
126
127 stable5 = latest -b stable
127 stable5 = latest -b stable
128
128
129 NOTE: It is possible to create aliases with the same names as existing
129 NOTE: It is possible to create aliases with the same names as existing
130 commands, which will then override the original definitions. This is
130 commands, which will then override the original definitions. This is
131 almost always a bad idea!
131 almost always a bad idea!
132
132
133
133
134 ``auth``
134 ``auth``
135 """"""""
135 """"""""
136 Authentication credentials for HTTP authentication. Each line has
136 Authentication credentials for HTTP authentication. Each line has
137 the following format::
137 the following format::
138
138
139 <name>.<argument> = <value>
139 <name>.<argument> = <value>
140
140
141 where <name> is used to group arguments into authentication entries.
141 where <name> is used to group arguments into authentication entries.
142 Example::
142 Example::
143
143
144 foo.prefix = hg.intevation.org/mercurial
144 foo.prefix = hg.intevation.org/mercurial
145 foo.username = foo
145 foo.username = foo
146 foo.password = bar
146 foo.password = bar
147 foo.schemes = http https
147 foo.schemes = http https
148
148
149 bar.prefix = secure.example.org
149 bar.prefix = secure.example.org
150 bar.key = path/to/file.key
150 bar.key = path/to/file.key
151 bar.cert = path/to/file.cert
151 bar.cert = path/to/file.cert
152 bar.schemes = https
152 bar.schemes = https
153
153
154 Supported arguments:
154 Supported arguments:
155
155
156 ``prefix``
156 ``prefix``
157 Either "\*" or a URI prefix with or without the scheme part.
157 Either "``*``" or a URI prefix with or without the scheme part.
158 The authentication entry with the longest matching prefix is used
158 The authentication entry with the longest matching prefix is used
159 (where "*" matches everything and counts as a match of length
159 (where "``*``" matches everything and counts as a match of length
160 1). If the prefix doesn't include a scheme, the match is performed
160 1). If the prefix doesn't include a scheme, the match is performed
161 against the URI with its scheme stripped as well, and the schemes
161 against the URI with its scheme stripped as well, and the schemes
162 argument, q.v., is then subsequently consulted.
162 argument, q.v., is then subsequently consulted.
163 ``username``
163 ``username``
164 Optional. Username to authenticate with. If not given, and the
164 Optional. Username to authenticate with. If not given, and the
165 remote site requires basic or digest authentication, the user
165 remote site requires basic or digest authentication, the user
166 will be prompted for it.
166 will be prompted for it.
167 ``password``
167 ``password``
168 Optional. Password to authenticate with. If not given, and the
168 Optional. Password to authenticate with. If not given, and the
169 remote site requires basic or digest authentication, the user
169 remote site requires basic or digest authentication, the user
170 will be prompted for it.
170 will be prompted for it.
171 ``key``
171 ``key``
172 Optional. PEM encoded client certificate key file.
172 Optional. PEM encoded client certificate key file.
173 ``cert``
173 ``cert``
174 Optional. PEM encoded client certificate chain file.
174 Optional. PEM encoded client certificate chain file.
175 ``schemes``
175 ``schemes``
176 Optional. Space separated list of URI schemes to use this
176 Optional. Space separated list of URI schemes to use this
177 authentication entry with. Only used if the prefix doesn't include
177 authentication entry with. Only used if the prefix doesn't include
178 a scheme. Supported schemes are http and https. They will match
178 a scheme. Supported schemes are http and https. They will match
179 static-http and static-https respectively, as well.
179 static-http and static-https respectively, as well.
180 Default: https.
180 Default: https.
181
181
182 If no suitable authentication entry is found, the user is prompted
182 If no suitable authentication entry is found, the user is prompted
183 for credentials as usual if required by the remote.
183 for credentials as usual if required by the remote.
184
184
185
185
186 ``decode/encode``
186 ``decode/encode``
187 """""""""""""""""
187 """""""""""""""""
188 Filters for transforming files on checkout/checkin. This would
188 Filters for transforming files on checkout/checkin. This would
189 typically be used for newline processing or other
189 typically be used for newline processing or other
190 localization/canonicalization of files.
190 localization/canonicalization of files.
191
191
192 Filters consist of a filter pattern followed by a filter command.
192 Filters consist of a filter pattern followed by a filter command.
193 Filter patterns are globs by default, rooted at the repository root.
193 Filter patterns are globs by default, rooted at the repository root.
194 For example, to match any file ending in "`.txt`" in the root
194 For example, to match any file ending in "``.txt``" in the root
195 directory only, use the pattern "`*.txt`". To match any file ending
195 directory only, use the pattern "``*.txt``". To match any file ending
196 in "`.c`" anywhere in the repository, use the pattern "`**.c`".
196 in "``.c``" anywhere in the repository, use the pattern "``**.c``".
197
197
198 The filter command can start with a specifier, either "pipe:" or
198 The filter command can start with a specifier, either "pipe:" or
199 "tempfile:". If no specifier is given, "pipe:" is used by default.
199 "tempfile:". If no specifier is given, "pipe:" is used by default.
200
200
201 A "pipe:" command must accept data on stdin and return the transformed
201 A "pipe:" command must accept data on stdin and return the transformed
202 data on stdout.
202 data on stdout.
203
203
204 Pipe example::
204 Pipe example::
205
205
206 [encode]
206 [encode]
207 # uncompress gzip files on checkin to improve delta compression
207 # uncompress gzip files on checkin to improve delta compression
208 # note: not necessarily a good idea, just an example
208 # note: not necessarily a good idea, just an example
209 *.gz = pipe: gunzip
209 *.gz = pipe: gunzip
210
210
211 [decode]
211 [decode]
212 # recompress gzip files when writing them to the working dir (we
212 # recompress gzip files when writing them to the working dir (we
213 # can safely omit "pipe:", because it's the default)
213 # can safely omit "pipe:", because it's the default)
214 *.gz = gzip
214 *.gz = gzip
215
215
216 A "tempfile:" command is a template. The string INFILE is replaced
216 A "tempfile:" command is a template. The string INFILE is replaced
217 with the name of a temporary file that contains the data to be
217 with the name of a temporary file that contains the data to be
218 filtered by the command. The string OUTFILE is replaced with the name
218 filtered by the command. The string OUTFILE is replaced with the name
219 of an empty temporary file, where the filtered data must be written by
219 of an empty temporary file, where the filtered data must be written by
220 the command.
220 the command.
221
221
222 NOTE: the tempfile mechanism is recommended for Windows systems, where
222 NOTE: the tempfile mechanism is recommended for Windows systems, where
223 the standard shell I/O redirection operators often have strange
223 the standard shell I/O redirection operators often have strange
224 effects and may corrupt the contents of your files.
224 effects and may corrupt the contents of your files.
225
225
226 The most common usage is for LF <-> CRLF translation on Windows. For
226 The most common usage is for LF <-> CRLF translation on Windows. For
227 this, use the "smart" converters which check for binary files::
227 this, use the "smart" converters which check for binary files::
228
228
229 [extensions]
229 [extensions]
230 hgext.win32text =
230 hgext.win32text =
231 [encode]
231 [encode]
232 ** = cleverencode:
232 ** = cleverencode:
233 [decode]
233 [decode]
234 ** = cleverdecode:
234 ** = cleverdecode:
235
235
236 or if you only want to translate certain files::
236 or if you only want to translate certain files::
237
237
238 [extensions]
238 [extensions]
239 hgext.win32text =
239 hgext.win32text =
240 [encode]
240 [encode]
241 **.txt = dumbencode:
241 **.txt = dumbencode:
242 [decode]
242 [decode]
243 **.txt = dumbdecode:
243 **.txt = dumbdecode:
244
244
245
245
246 ``defaults``
246 ``defaults``
247 """"""""""""
247 """"""""""""
248
248
249 Use the [defaults] section to define command defaults, i.e. the
249 Use the [defaults] section to define command defaults, i.e. the
250 default options/arguments to pass to the specified commands.
250 default options/arguments to pass to the specified commands.
251
251
252 The following example makes 'hg log' run in verbose mode, and 'hg
252 The following example makes 'hg log' run in verbose mode, and 'hg
253 status' show only the modified files, by default::
253 status' show only the modified files, by default::
254
254
255 [defaults]
255 [defaults]
256 log = -v
256 log = -v
257 status = -m
257 status = -m
258
258
259 The actual commands, instead of their aliases, must be used when
259 The actual commands, instead of their aliases, must be used when
260 defining command defaults. The command defaults will also be applied
260 defining command defaults. The command defaults will also be applied
261 to the aliases of the commands defined.
261 to the aliases of the commands defined.
262
262
263
263
264 ``diff``
264 ``diff``
265 """"""""
265 """"""""
266
266
267 Settings used when displaying diffs. They are all Boolean and
267 Settings used when displaying diffs. They are all Boolean and
268 defaults to False.
268 defaults to False.
269
269
270 ``git``
270 ``git``
271 Use git extended diff format.
271 Use git extended diff format.
272 ``nodates``
272 ``nodates``
273 Don't include dates in diff headers.
273 Don't include dates in diff headers.
274 ``showfunc``
274 ``showfunc``
275 Show which function each change is in.
275 Show which function each change is in.
276 ``ignorews``
276 ``ignorews``
277 Ignore white space when comparing lines.
277 Ignore white space when comparing lines.
278 ``ignorewsamount``
278 ``ignorewsamount``
279 Ignore changes in the amount of white space.
279 Ignore changes in the amount of white space.
280 ``ignoreblanklines``
280 ``ignoreblanklines``
281 Ignore changes whose lines are all blank.
281 Ignore changes whose lines are all blank.
282
282
283 ``email``
283 ``email``
284 """""""""
284 """""""""
285 Settings for extensions that send email messages.
285 Settings for extensions that send email messages.
286
286
287 ``from``
287 ``from``
288 Optional. Email address to use in "From" header and SMTP envelope
288 Optional. Email address to use in "From" header and SMTP envelope
289 of outgoing messages.
289 of outgoing messages.
290 ``to``
290 ``to``
291 Optional. Comma-separated list of recipients' email addresses.
291 Optional. Comma-separated list of recipients' email addresses.
292 ``cc``
292 ``cc``
293 Optional. Comma-separated list of carbon copy recipients'
293 Optional. Comma-separated list of carbon copy recipients'
294 email addresses.
294 email addresses.
295 ``bcc``
295 ``bcc``
296 Optional. Comma-separated list of blind carbon copy recipients'
296 Optional. Comma-separated list of blind carbon copy recipients'
297 email addresses. Cannot be set interactively.
297 email addresses. Cannot be set interactively.
298 ``method``
298 ``method``
299 Optional. Method to use to send email messages. If value is "smtp"
299 Optional. Method to use to send email messages. If value is "smtp"
300 (default), use SMTP (see section "[smtp]" for configuration).
300 (default), use SMTP (see section "[smtp]" for configuration).
301 Otherwise, use as name of program to run that acts like sendmail
301 Otherwise, use as name of program to run that acts like sendmail
302 (takes "-f" option for sender, list of recipients on command line,
302 (takes "-f" option for sender, list of recipients on command line,
303 message on stdin). Normally, setting this to "sendmail" or
303 message on stdin). Normally, setting this to "sendmail" or
304 "/usr/sbin/sendmail" is enough to use sendmail to send messages.
304 "/usr/sbin/sendmail" is enough to use sendmail to send messages.
305 ``charsets``
305 ``charsets``
306 Optional. Comma-separated list of character sets considered
306 Optional. Comma-separated list of character sets considered
307 convenient for recipients. Addresses, headers, and parts not
307 convenient for recipients. Addresses, headers, and parts not
308 containing patches of outgoing messages will be encoded in the
308 containing patches of outgoing messages will be encoded in the
309 first character set to which conversion from local encoding
309 first character set to which conversion from local encoding
310 (`$HGENCODING`, `ui.fallbackencoding`) succeeds. If correct
310 (``$HGENCODING``, ``ui.fallbackencoding``) succeeds. If correct
311 conversion fails, the text in question is sent as is. Defaults to
311 conversion fails, the text in question is sent as is. Defaults to
312 empty (explicit) list.
312 empty (explicit) list.
313
313
314 Order of outgoing email character sets::
314 Order of outgoing email character sets::
315
315
316 us-ascii always first, regardless of settings
316 us-ascii always first, regardless of settings
317 email.charsets in order given by user
317 email.charsets in order given by user
318 ui.fallbackencoding if not in email.charsets
318 ui.fallbackencoding if not in email.charsets
319 $HGENCODING if not in email.charsets
319 $HGENCODING if not in email.charsets
320 utf-8 always last, regardless of settings
320 utf-8 always last, regardless of settings
321
321
322 Email example::
322 Email example::
323
323
324 [email]
324 [email]
325 from = Joseph User <joe.user@example.com>
325 from = Joseph User <joe.user@example.com>
326 method = /usr/sbin/sendmail
326 method = /usr/sbin/sendmail
327 # charsets for western Europeans
327 # charsets for western Europeans
328 # us-ascii, utf-8 omitted, as they are tried first and last
328 # us-ascii, utf-8 omitted, as they are tried first and last
329 charsets = iso-8859-1, iso-8859-15, windows-1252
329 charsets = iso-8859-1, iso-8859-15, windows-1252
330
330
331
331
332 ``extensions``
332 ``extensions``
333 """"""""""""""
333 """"""""""""""
334
334
335 Mercurial has an extension mechanism for adding new features. To
335 Mercurial has an extension mechanism for adding new features. To
336 enable an extension, create an entry for it in this section.
336 enable an extension, create an entry for it in this section.
337
337
338 If you know that the extension is already in Python's search path,
338 If you know that the extension is already in Python's search path,
339 you can give the name of the module, followed by "`=`", with nothing
339 you can give the name of the module, followed by "``=``", with nothing
340 after the "`=`".
340 after the "``=``".
341
341
342 Otherwise, give a name that you choose, followed by "`=`", followed by
342 Otherwise, give a name that you choose, followed by "``=``", followed by
343 the path to the "`.py`" file (including the file name extension) that
343 the path to the "``.py``" file (including the file name extension) that
344 defines the extension.
344 defines the extension.
345
345
346 To explicitly disable an extension that is enabled in an hgrc of
346 To explicitly disable an extension that is enabled in an hgrc of
347 broader scope, prepend its path with "`!`", as in
347 broader scope, prepend its path with "``!``", as in
348 "`hgext.foo = !/ext/path`" or "`hgext.foo = !`" when path is not
348 "``hgext.foo = !/ext/path``" or "``hgext.foo = !``" when path is not
349 supplied.
349 supplied.
350
350
351 Example for `~/.hgrc`::
351 Example for ``~/.hgrc``::
352
352
353 [extensions]
353 [extensions]
354 # (the mq extension will get loaded from Mercurial's path)
354 # (the mq extension will get loaded from Mercurial's path)
355 hgext.mq =
355 hgext.mq =
356 # (this extension will get loaded from the file specified)
356 # (this extension will get loaded from the file specified)
357 myfeature = ~/.hgext/myfeature.py
357 myfeature = ~/.hgext/myfeature.py
358
358
359
359
360 ``format``
360 ``format``
361 """"""""""
361 """"""""""
362
362
363 ``usestore``
363 ``usestore``
364 Enable or disable the "store" repository format which improves
364 Enable or disable the "store" repository format which improves
365 compatibility with systems that fold case or otherwise mangle
365 compatibility with systems that fold case or otherwise mangle
366 filenames. Enabled by default. Disabling this option will allow
366 filenames. Enabled by default. Disabling this option will allow
367 you to store longer filenames in some situations at the expense of
367 you to store longer filenames in some situations at the expense of
368 compatibility and ensures that the on-disk format of newly created
368 compatibility and ensures that the on-disk format of newly created
369 repositories will be compatible with Mercurial before version 0.9.4.
369 repositories will be compatible with Mercurial before version 0.9.4.
370
370
371 ``usefncache``
371 ``usefncache``
372 Enable or disable the "fncache" repository format which enhances
372 Enable or disable the "fncache" repository format which enhances
373 the "store" repository format (which has to be enabled to use
373 the "store" repository format (which has to be enabled to use
374 fncache) to allow longer filenames and avoids using Windows
374 fncache) to allow longer filenames and avoids using Windows
375 reserved names, e.g. "nul". Enabled by default. Disabling this
375 reserved names, e.g. "nul". Enabled by default. Disabling this
376 option ensures that the on-disk format of newly created
376 option ensures that the on-disk format of newly created
377 repositories will be compatible with Mercurial before version 1.1.
377 repositories will be compatible with Mercurial before version 1.1.
378
378
379 ``merge-patterns``
379 ``merge-patterns``
380 """"""""""""""""""
380 """"""""""""""""""
381
381
382 This section specifies merge tools to associate with particular file
382 This section specifies merge tools to associate with particular file
383 patterns. Tools matched here will take precedence over the default
383 patterns. Tools matched here will take precedence over the default
384 merge tool. Patterns are globs by default, rooted at the repository
384 merge tool. Patterns are globs by default, rooted at the repository
385 root.
385 root.
386
386
387 Example::
387 Example::
388
388
389 [merge-patterns]
389 [merge-patterns]
390 **.c = kdiff3
390 **.c = kdiff3
391 **.jpg = myimgmerge
391 **.jpg = myimgmerge
392
392
393 ``merge-tools``
393 ``merge-tools``
394 """""""""""""""
394 """""""""""""""
395
395
396 This section configures external merge tools to use for file-level
396 This section configures external merge tools to use for file-level
397 merges.
397 merges.
398
398
399 Example `~/.hgrc`::
399 Example ``~/.hgrc``::
400
400
401 [merge-tools]
401 [merge-tools]
402 # Override stock tool location
402 # Override stock tool location
403 kdiff3.executable = ~/bin/kdiff3
403 kdiff3.executable = ~/bin/kdiff3
404 # Specify command line
404 # Specify command line
405 kdiff3.args = $base $local $other -o $output
405 kdiff3.args = $base $local $other -o $output
406 # Give higher priority
406 # Give higher priority
407 kdiff3.priority = 1
407 kdiff3.priority = 1
408
408
409 # Define new tool
409 # Define new tool
410 myHtmlTool.args = -m $local $other $base $output
410 myHtmlTool.args = -m $local $other $base $output
411 myHtmlTool.regkey = Software\FooSoftware\HtmlMerge
411 myHtmlTool.regkey = Software\FooSoftware\HtmlMerge
412 myHtmlTool.priority = 1
412 myHtmlTool.priority = 1
413
413
414 Supported arguments:
414 Supported arguments:
415
415
416 ``priority``
416 ``priority``
417 The priority in which to evaluate this tool.
417 The priority in which to evaluate this tool.
418 Default: 0.
418 Default: 0.
419 ``executable``
419 ``executable``
420 Either just the name of the executable or its pathname.
420 Either just the name of the executable or its pathname.
421 Default: the tool name.
421 Default: the tool name.
422 ``args``
422 ``args``
423 The arguments to pass to the tool executable. You can refer to the
423 The arguments to pass to the tool executable. You can refer to the
424 files being merged as well as the output file through these
424 files being merged as well as the output file through these
425 variables: `$base`, `$local`, `$other`, `$output`.
425 variables: ``$base``, ``$local``, ``$other``, ``$output``.
426 Default: `$local $base $other`
426 Default: ``$local $base $other``
427 ``premerge``
427 ``premerge``
428 Attempt to run internal non-interactive 3-way merge tool before
428 Attempt to run internal non-interactive 3-way merge tool before
429 launching external tool.
429 launching external tool.
430 Default: True
430 Default: True
431 ``binary``
431 ``binary``
432 This tool can merge binary files. Defaults to False, unless tool
432 This tool can merge binary files. Defaults to False, unless tool
433 was selected by file pattern match.
433 was selected by file pattern match.
434 ``symlink``
434 ``symlink``
435 This tool can merge symlinks. Defaults to False, even if tool was
435 This tool can merge symlinks. Defaults to False, even if tool was
436 selected by file pattern match.
436 selected by file pattern match.
437 ``checkconflicts``
437 ``checkconflicts``
438 Check whether there are conflicts even though the tool reported
438 Check whether there are conflicts even though the tool reported
439 success.
439 success.
440 Default: False
440 Default: False
441 ``checkchanged``
441 ``checkchanged``
442 Check whether outputs were written even though the tool reported
442 Check whether outputs were written even though the tool reported
443 success.
443 success.
444 Default: False
444 Default: False
445 ``fixeol``
445 ``fixeol``
446 Attempt to fix up EOL changes caused by the merge tool.
446 Attempt to fix up EOL changes caused by the merge tool.
447 Default: False
447 Default: False
448 ``gui``
448 ``gui``
449 This tool requires a graphical interface to run. Default: False
449 This tool requires a graphical interface to run. Default: False
450 ``regkey``
450 ``regkey``
451 Windows registry key which describes install location of this
451 Windows registry key which describes install location of this
452 tool. Mercurial will search for this key first under
452 tool. Mercurial will search for this key first under
453 `HKEY_CURRENT_USER` and then under `HKEY_LOCAL_MACHINE`.
453 ``HKEY_CURRENT_USER`` and then under ``HKEY_LOCAL_MACHINE``.
454 Default: None
454 Default: None
455 ``regname``
455 ``regname``
456 Name of value to read from specified registry key. Defaults to the
456 Name of value to read from specified registry key. Defaults to the
457 unnamed (default) value.
457 unnamed (default) value.
458 ``regappend``
458 ``regappend``
459 String to append to the value read from the registry, typically
459 String to append to the value read from the registry, typically
460 the executable name of the tool.
460 the executable name of the tool.
461 Default: None
461 Default: None
462
462
463
463
464 ``hooks``
464 ``hooks``
465 """""""""
465 """""""""
466 Commands or Python functions that get automatically executed by
466 Commands or Python functions that get automatically executed by
467 various actions such as starting or finishing a commit. Multiple
467 various actions such as starting or finishing a commit. Multiple
468 hooks can be run for the same action by appending a suffix to the
468 hooks can be run for the same action by appending a suffix to the
469 action. Overriding a site-wide hook can be done by changing its
469 action. Overriding a site-wide hook can be done by changing its
470 value or setting it to an empty string.
470 value or setting it to an empty string.
471
471
472 Example `.hg/hgrc`::
472 Example ``.hg/hgrc``::
473
473
474 [hooks]
474 [hooks]
475 # do not use the site-wide hook
475 # do not use the site-wide hook
476 incoming =
476 incoming =
477 incoming.email = /my/email/hook
477 incoming.email = /my/email/hook
478 incoming.autobuild = /my/build/hook
478 incoming.autobuild = /my/build/hook
479
479
480 Most hooks are run with environment variables set that give useful
480 Most hooks are run with environment variables set that give useful
481 additional information. For each hook below, the environment
481 additional information. For each hook below, the environment
482 variables it is passed are listed with names of the form "$HG_foo".
482 variables it is passed are listed with names of the form "$HG_foo".
483
483
484 ``changegroup``
484 ``changegroup``
485 Run after a changegroup has been added via push, pull or unbundle.
485 Run after a changegroup has been added via push, pull or unbundle.
486 ID of the first new changeset is in `$HG_NODE`. URL from which
486 ID of the first new changeset is in ``$HG_NODE``. URL from which
487 changes came is in `$HG_URL`.
487 changes came is in ``$HG_URL``.
488 ``commit``
488 ``commit``
489 Run after a changeset has been created in the local repository. ID
489 Run after a changeset has been created in the local repository. ID
490 of the newly created changeset is in `$HG_NODE`. Parent changeset
490 of the newly created changeset is in ``$HG_NODE``. Parent changeset
491 IDs are in `$HG_PARENT1` and `$HG_PARENT2`.
491 IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
492 ``incoming``
492 ``incoming``
493 Run after a changeset has been pulled, pushed, or unbundled into
493 Run after a changeset has been pulled, pushed, or unbundled into
494 the local repository. The ID of the newly arrived changeset is in
494 the local repository. The ID of the newly arrived changeset is in
495 `$HG_NODE`. URL that was source of changes came is in `$HG_URL`.
495 ``$HG_NODE``. URL that was source of changes came is in ``$HG_URL``.
496 ``outgoing``
496 ``outgoing``
497 Run after sending changes from local repository to another. ID of
497 Run after sending changes from local repository to another. ID of
498 first changeset sent is in `$HG_NODE`. Source of operation is in
498 first changeset sent is in ``$HG_NODE``. Source of operation is in
499 `$HG_SOURCE`; see "preoutgoing" hook for description.
499 ``$HG_SOURCE``; see "preoutgoing" hook for description.
500 ``post-<command>``
500 ``post-<command>``
501 Run after successful invocations of the associated command. The
501 Run after successful invocations of the associated command. The
502 contents of the command line are passed as `$HG_ARGS` and the result
502 contents of the command line are passed as ``$HG_ARGS`` and the result
503 code in `$HG_RESULT`. Hook failure is ignored.
503 code in ``$HG_RESULT``. Hook failure is ignored.
504 ``pre-<command>``
504 ``pre-<command>``
505 Run before executing the associated command. The contents of the
505 Run before executing the associated command. The contents of the
506 command line are passed as `$HG_ARGS`. If the hook returns failure,
506 command line are passed as ``$HG_ARGS``. If the hook returns failure,
507 the command doesn't execute and Mercurial returns the failure
507 the command doesn't execute and Mercurial returns the failure
508 code.
508 code.
509 ``prechangegroup``
509 ``prechangegroup``
510 Run before a changegroup is added via push, pull or unbundle. Exit
510 Run before a changegroup is added via push, pull or unbundle. Exit
511 status 0 allows the changegroup to proceed. Non-zero status will
511 status 0 allows the changegroup to proceed. Non-zero status will
512 cause the push, pull or unbundle to fail. URL from which changes
512 cause the push, pull or unbundle to fail. URL from which changes
513 will come is in `$HG_URL`.
513 will come is in ``$HG_URL``.
514 ``precommit``
514 ``precommit``
515 Run before starting a local commit. Exit status 0 allows the
515 Run before starting a local commit. Exit status 0 allows the
516 commit to proceed. Non-zero status will cause the commit to fail.
516 commit to proceed. Non-zero status will cause the commit to fail.
517 Parent changeset IDs are in `$HG_PARENT1` and `$HG_PARENT2`.
517 Parent changeset IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
518 ``preoutgoing``
518 ``preoutgoing``
519 Run before collecting changes to send from the local repository to
519 Run before collecting changes to send from the local repository to
520 another. Non-zero status will cause failure. This lets you prevent
520 another. Non-zero status will cause failure. This lets you prevent
521 pull over HTTP or SSH. Also prevents against local pull, push
521 pull over HTTP or SSH. Also prevents against local pull, push
522 (outbound) or bundle commands, but not effective, since you can
522 (outbound) or bundle commands, but not effective, since you can
523 just copy files instead then. Source of operation is in
523 just copy files instead then. Source of operation is in
524 `$HG_SOURCE`. If "serve", operation is happening on behalf of remote
524 ``$HG_SOURCE``. If "serve", operation is happening on behalf of remote
525 SSH or HTTP repository. If "push", "pull" or "bundle", operation
525 SSH or HTTP repository. If "push", "pull" or "bundle", operation
526 is happening on behalf of repository on same system.
526 is happening on behalf of repository on same system.
527 ``pretag``
527 ``pretag``
528 Run before creating a tag. Exit status 0 allows the tag to be
528 Run before creating a tag. Exit status 0 allows the tag to be
529 created. Non-zero status will cause the tag to fail. ID of
529 created. Non-zero status will cause the tag to fail. ID of
530 changeset to tag is in `$HG_NODE`. Name of tag is in `$HG_TAG`. Tag is
530 changeset to tag is in ``$HG_NODE``. Name of tag is in ``$HG_TAG``. Tag is
531 local if `$HG_LOCAL=1`, in repository if `$HG_LOCAL=0`.
531 local if ``$HG_LOCAL=1``, in repository if ``$HG_LOCAL=0``.
532 ``pretxnchangegroup``
532 ``pretxnchangegroup``
533 Run after a changegroup has been added via push, pull or unbundle,
533 Run after a changegroup has been added via push, pull or unbundle,
534 but before the transaction has been committed. Changegroup is
534 but before the transaction has been committed. Changegroup is
535 visible to hook program. This lets you validate incoming changes
535 visible to hook program. This lets you validate incoming changes
536 before accepting them. Passed the ID of the first new changeset in
536 before accepting them. Passed the ID of the first new changeset in
537 `$HG_NODE`. Exit status 0 allows the transaction to commit. Non-zero
537 ``$HG_NODE``. Exit status 0 allows the transaction to commit. Non-zero
538 status will cause the transaction to be rolled back and the push,
538 status will cause the transaction to be rolled back and the push,
539 pull or unbundle will fail. URL that was source of changes is in
539 pull or unbundle will fail. URL that was source of changes is in
540 `$HG_URL`.
540 ``$HG_URL``.
541 ``pretxncommit``
541 ``pretxncommit``
542 Run after a changeset has been created but the transaction not yet
542 Run after a changeset has been created but the transaction not yet
543 committed. Changeset is visible to hook program. This lets you
543 committed. Changeset is visible to hook program. This lets you
544 validate commit message and changes. Exit status 0 allows the
544 validate commit message and changes. Exit status 0 allows the
545 commit to proceed. Non-zero status will cause the transaction to
545 commit to proceed. Non-zero status will cause the transaction to
546 be rolled back. ID of changeset is in `$HG_NODE`. Parent changeset
546 be rolled back. ID of changeset is in ``$HG_NODE``. Parent changeset
547 IDs are in `$HG_PARENT1` and `$HG_PARENT2`.
547 IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
548 ``preupdate``
548 ``preupdate``
549 Run before updating the working directory. Exit status 0 allows
549 Run before updating the working directory. Exit status 0 allows
550 the update to proceed. Non-zero status will prevent the update.
550 the update to proceed. Non-zero status will prevent the update.
551 Changeset ID of first new parent is in `$HG_PARENT1`. If merge, ID
551 Changeset ID of first new parent is in ``$HG_PARENT1``. If merge, ID
552 of second new parent is in `$HG_PARENT2`.
552 of second new parent is in ``$HG_PARENT2``.
553 ``tag``
553 ``tag``
554 Run after a tag is created. ID of tagged changeset is in `$HG_NODE`.
554 Run after a tag is created. ID of tagged changeset is in ``$HG_NODE``.
555 Name of tag is in `$HG_TAG`. Tag is local if `$HG_LOCAL=1`, in
555 Name of tag is in ``$HG_TAG``. Tag is local if ``$HG_LOCAL=1``, in
556 repository if `$HG_LOCAL=0`.
556 repository if ``$HG_LOCAL=0``.
557 ``update``
557 ``update``
558 Run after updating the working directory. Changeset ID of first
558 Run after updating the working directory. Changeset ID of first
559 new parent is in `$HG_PARENT1`. If merge, ID of second new parent is
559 new parent is in ``$HG_PARENT1``. If merge, ID of second new parent is
560 in `$HG_PARENT2`. If the update succeeded, `$HG_ERROR=0`. If the
560 in ``$HG_PARENT2``. If the update succeeded, ``$HG_ERROR=0``. If the
561 update failed (e.g. because conflicts not resolved), `$HG_ERROR=1`.
561 update failed (e.g. because conflicts not resolved), ``$HG_ERROR=1``.
562
562
563 NOTE: it is generally better to use standard hooks rather than the
563 NOTE: it is generally better to use standard hooks rather than the
564 generic pre- and post- command hooks as they are guaranteed to be
564 generic pre- and post- command hooks as they are guaranteed to be
565 called in the appropriate contexts for influencing transactions.
565 called in the appropriate contexts for influencing transactions.
566 Also, hooks like "commit" will be called in all contexts that
566 Also, hooks like "commit" will be called in all contexts that
567 generate a commit (e.g. tag) and not just the commit command.
567 generate a commit (e.g. tag) and not just the commit command.
568
568
569 NOTE: Environment variables with empty values may not be passed to
569 NOTE: Environment variables with empty values may not be passed to
570 hooks on platforms such as Windows. As an example, `$HG_PARENT2` will
570 hooks on platforms such as Windows. As an example, ``$HG_PARENT2`` will
571 have an empty value under Unix-like platforms for non-merge
571 have an empty value under Unix-like platforms for non-merge
572 changesets, while it will not be available at all under Windows.
572 changesets, while it will not be available at all under Windows.
573
573
574 The syntax for Python hooks is as follows::
574 The syntax for Python hooks is as follows::
575
575
576 hookname = python:modulename.submodule.callable
576 hookname = python:modulename.submodule.callable
577 hookname = python:/path/to/python/module.py:callable
577 hookname = python:/path/to/python/module.py:callable
578
578
579 Python hooks are run within the Mercurial process. Each hook is
579 Python hooks are run within the Mercurial process. Each hook is
580 called with at least three keyword arguments: a ui object (keyword
580 called with at least three keyword arguments: a ui object (keyword
581 "ui"), a repository object (keyword "repo"), and a "hooktype"
581 "ui"), a repository object (keyword "repo"), and a "hooktype"
582 keyword that tells what kind of hook is used. Arguments listed as
582 keyword that tells what kind of hook is used. Arguments listed as
583 environment variables above are passed as keyword arguments, with no
583 environment variables above are passed as keyword arguments, with no
584 "`HG_`" prefix, and names in lower case.
584 "``HG_``" prefix, and names in lower case.
585
585
586 If a Python hook returns a "true" value or raises an exception, this
586 If a Python hook returns a "true" value or raises an exception, this
587 is treated as a failure.
587 is treated as a failure.
588
588
589
589
590 ``http_proxy``
590 ``http_proxy``
591 """"""""""""""
591 """"""""""""""
592 Used to access web-based Mercurial repositories through a HTTP
592 Used to access web-based Mercurial repositories through a HTTP
593 proxy.
593 proxy.
594
594
595 ``host``
595 ``host``
596 Host name and (optional) port of the proxy server, for example
596 Host name and (optional) port of the proxy server, for example
597 "myproxy:8000".
597 "myproxy:8000".
598 ``no``
598 ``no``
599 Optional. Comma-separated list of host names that should bypass
599 Optional. Comma-separated list of host names that should bypass
600 the proxy.
600 the proxy.
601 ``passwd``
601 ``passwd``
602 Optional. Password to authenticate with at the proxy server.
602 Optional. Password to authenticate with at the proxy server.
603 ``user``
603 ``user``
604 Optional. User name to authenticate with at the proxy server.
604 Optional. User name to authenticate with at the proxy server.
605
605
606 ``smtp``
606 ``smtp``
607 """"""""
607 """"""""
608 Configuration for extensions that need to send email messages.
608 Configuration for extensions that need to send email messages.
609
609
610 ``host``
610 ``host``
611 Host name of mail server, e.g. "mail.example.com".
611 Host name of mail server, e.g. "mail.example.com".
612 ``port``
612 ``port``
613 Optional. Port to connect to on mail server. Default: 25.
613 Optional. Port to connect to on mail server. Default: 25.
614 ``tls``
614 ``tls``
615 Optional. Whether to connect to mail server using TLS. True or
615 Optional. Whether to connect to mail server using TLS. True or
616 False. Default: False.
616 False. Default: False.
617 ``username``
617 ``username``
618 Optional. User name to authenticate to SMTP server with. If
618 Optional. User name to authenticate to SMTP server with. If
619 username is specified, password must also be specified.
619 username is specified, password must also be specified.
620 Default: none.
620 Default: none.
621 ``password``
621 ``password``
622 Optional. Password to authenticate to SMTP server with. If
622 Optional. Password to authenticate to SMTP server with. If
623 username is specified, password must also be specified.
623 username is specified, password must also be specified.
624 Default: none.
624 Default: none.
625 ``local_hostname``
625 ``local_hostname``
626 Optional. It's the hostname that the sender can use to identify
626 Optional. It's the hostname that the sender can use to identify
627 itself to the MTA.
627 itself to the MTA.
628
628
629
629
630 ``patch``
630 ``patch``
631 """""""""
631 """""""""
632 Settings used when applying patches, for instance through the 'import'
632 Settings used when applying patches, for instance through the 'import'
633 command or with Mercurial Queues extension.
633 command or with Mercurial Queues extension.
634
634
635 ``eol``
635 ``eol``
636 When set to 'strict' patch content and patched files end of lines
636 When set to 'strict' patch content and patched files end of lines
637 are preserved. When set to 'lf' or 'crlf', both files end of lines
637 are preserved. When set to 'lf' or 'crlf', both files end of lines
638 are ignored when patching and the result line endings are
638 are ignored when patching and the result line endings are
639 normalized to either LF (Unix) or CRLF (Windows).
639 normalized to either LF (Unix) or CRLF (Windows).
640 Default: strict.
640 Default: strict.
641
641
642
642
643 ``paths``
643 ``paths``
644 """""""""
644 """""""""
645 Assigns symbolic names to repositories. The left side is the
645 Assigns symbolic names to repositories. The left side is the
646 symbolic name, and the right gives the directory or URL that is the
646 symbolic name, and the right gives the directory or URL that is the
647 location of the repository. Default paths can be declared by setting
647 location of the repository. Default paths can be declared by setting
648 the following entries.
648 the following entries.
649
649
650 ``default``
650 ``default``
651 Directory or URL to use when pulling if no source is specified.
651 Directory or URL to use when pulling if no source is specified.
652 Default is set to repository from which the current repository was
652 Default is set to repository from which the current repository was
653 cloned.
653 cloned.
654 ``default-push``
654 ``default-push``
655 Optional. Directory or URL to use when pushing if no destination
655 Optional. Directory or URL to use when pushing if no destination
656 is specified.
656 is specified.
657
657
658
658
659 ``profiling``
659 ``profiling``
660 """""""""""""
660 """""""""""""
661 Specifies profiling format and file output. In this section
661 Specifies profiling format and file output. In this section
662 description, 'profiling data' stands for the raw data collected
662 description, 'profiling data' stands for the raw data collected
663 during profiling, while 'profiling report' stands for a statistical
663 during profiling, while 'profiling report' stands for a statistical
664 text report generated from the profiling data. The profiling is done
664 text report generated from the profiling data. The profiling is done
665 using lsprof.
665 using lsprof.
666
666
667 ``format``
667 ``format``
668 Profiling format.
668 Profiling format.
669 Default: text.
669 Default: text.
670
670
671 ``text``
671 ``text``
672 Generate a profiling report. When saving to a file, it should be
672 Generate a profiling report. When saving to a file, it should be
673 noted that only the report is saved, and the profiling data is
673 noted that only the report is saved, and the profiling data is
674 not kept.
674 not kept.
675 ``kcachegrind``
675 ``kcachegrind``
676 Format profiling data for kcachegrind use: when saving to a
676 Format profiling data for kcachegrind use: when saving to a
677 file, the generated file can directly be loaded into
677 file, the generated file can directly be loaded into
678 kcachegrind.
678 kcachegrind.
679 ``output``
679 ``output``
680 File path where profiling data or report should be saved. If the
680 File path where profiling data or report should be saved. If the
681 file exists, it is replaced. Default: None, data is printed on
681 file exists, it is replaced. Default: None, data is printed on
682 stderr
682 stderr
683
683
684 ``server``
684 ``server``
685 """"""""""
685 """"""""""
686 Controls generic server settings.
686 Controls generic server settings.
687
687
688 ``uncompressed``
688 ``uncompressed``
689 Whether to allow clients to clone a repository using the
689 Whether to allow clients to clone a repository using the
690 uncompressed streaming protocol. This transfers about 40% more
690 uncompressed streaming protocol. This transfers about 40% more
691 data than a regular clone, but uses less memory and CPU on both
691 data than a regular clone, but uses less memory and CPU on both
692 server and client. Over a LAN (100 Mbps or better) or a very fast
692 server and client. Over a LAN (100 Mbps or better) or a very fast
693 WAN, an uncompressed streaming clone is a lot faster (~10x) than a
693 WAN, an uncompressed streaming clone is a lot faster (~10x) than a
694 regular clone. Over most WAN connections (anything slower than
694 regular clone. Over most WAN connections (anything slower than
695 about 6 Mbps), uncompressed streaming is slower, because of the
695 about 6 Mbps), uncompressed streaming is slower, because of the
696 extra data transfer overhead. Default is False.
696 extra data transfer overhead. Default is False.
697
697
698
698
699 ``trusted``
699 ``trusted``
700 """""""""""
700 """""""""""
701 For security reasons, Mercurial will not use the settings in the
701 For security reasons, Mercurial will not use the settings in the
702 `.hg/hgrc` file from a repository if it doesn't belong to a trusted
702 ``.hg/hgrc`` file from a repository if it doesn't belong to a trusted
703 user or to a trusted group. The main exception is the web interface,
703 user or to a trusted group. The main exception is the web interface,
704 which automatically uses some safe settings, since it's common to
704 which automatically uses some safe settings, since it's common to
705 serve repositories from different users.
705 serve repositories from different users.
706
706
707 This section specifies what users and groups are trusted. The
707 This section specifies what users and groups are trusted. The
708 current user is always trusted. To trust everybody, list a user or a
708 current user is always trusted. To trust everybody, list a user or a
709 group with name "`*`".
709 group with name "``*``".
710
710
711 ``users``
711 ``users``
712 Comma-separated list of trusted users.
712 Comma-separated list of trusted users.
713 ``groups``
713 ``groups``
714 Comma-separated list of trusted groups.
714 Comma-separated list of trusted groups.
715
715
716
716
717 ``ui``
717 ``ui``
718 """"""
718 """"""
719
719
720 User interface controls.
720 User interface controls.
721
721
722 ``archivemeta``
722 ``archivemeta``
723 Whether to include the .hg_archival.txt file containing meta data
723 Whether to include the .hg_archival.txt file containing meta data
724 (hashes for the repository base and for tip) in archives created
724 (hashes for the repository base and for tip) in archives created
725 by the hg archive command or downloaded via hgweb.
725 by the hg archive command or downloaded via hgweb.
726 Default is true.
726 Default is true.
727 ``askusername``
727 ``askusername``
728 Whether to prompt for a username when committing. If True, and
728 Whether to prompt for a username when committing. If True, and
729 neither `$HGUSER` nor `$EMAIL` has been specified, then the user will
729 neither ``$HGUSER`` nor ``$EMAIL`` has been specified, then the user will
730 be prompted to enter a username. If no username is entered, the
730 be prompted to enter a username. If no username is entered, the
731 default USER@HOST is used instead.
731 default USER@HOST is used instead.
732 Default is False.
732 Default is False.
733 ``debug``
733 ``debug``
734 Print debugging information. True or False. Default is False.
734 Print debugging information. True or False. Default is False.
735 ``editor``
735 ``editor``
736 The editor to use during a commit. Default is `$EDITOR` or "vi".
736 The editor to use during a commit. Default is ``$EDITOR`` or "vi".
737 ``fallbackencoding``
737 ``fallbackencoding``
738 Encoding to try if it's not possible to decode the changelog using
738 Encoding to try if it's not possible to decode the changelog using
739 UTF-8. Default is ISO-8859-1.
739 UTF-8. Default is ISO-8859-1.
740 ``ignore``
740 ``ignore``
741 A file to read per-user ignore patterns from. This file should be
741 A file to read per-user ignore patterns from. This file should be
742 in the same format as a repository-wide .hgignore file. This
742 in the same format as a repository-wide .hgignore file. This
743 option supports hook syntax, so if you want to specify multiple
743 option supports hook syntax, so if you want to specify multiple
744 ignore files, you can do so by setting something like
744 ignore files, you can do so by setting something like
745 "ignore.other = ~/.hgignore2". For details of the ignore file
745 "``ignore.other = ~/.hgignore2``". For details of the ignore file
746 format, see the hgignore(5) man page.
746 format, see the hgignore(5) man page.
747 ``interactive``
747 ``interactive``
748 Allow to prompt the user. True or False. Default is True.
748 Allow to prompt the user. True or False. Default is True.
749 ``logtemplate``
749 ``logtemplate``
750 Template string for commands that print changesets.
750 Template string for commands that print changesets.
751 ``merge``
751 ``merge``
752 The conflict resolution program to use during a manual merge.
752 The conflict resolution program to use during a manual merge.
753 There are some internal tools available:
753 There are some internal tools available:
754
754
755 ``internal:local``
755 ``internal:local``
756 keep the local version
756 keep the local version
757 ``internal:other``
757 ``internal:other``
758 use the other version
758 use the other version
759 ``internal:merge``
759 ``internal:merge``
760 use the internal non-interactive merge tool
760 use the internal non-interactive merge tool
761 ``internal:fail``
761 ``internal:fail``
762 fail to merge
762 fail to merge
763
763
764 For more information on configuring merge tools see the
764 For more information on configuring merge tools see the
765 merge-tools section.
765 merge-tools section.
766
766
767 ``patch``
767 ``patch``
768 command to use to apply patches. Look for 'gpatch' or 'patch' in
768 command to use to apply patches. Look for 'gpatch' or 'patch' in
769 PATH if unset.
769 PATH if unset.
770 ``quiet``
770 ``quiet``
771 Reduce the amount of output printed. True or False. Default is False.
771 Reduce the amount of output printed. True or False. Default is False.
772 ``remotecmd``
772 ``remotecmd``
773 remote command to use for clone/push/pull operations. Default is 'hg'.
773 remote command to use for clone/push/pull operations. Default is 'hg'.
774 ``report_untrusted``
774 ``report_untrusted``
775 Warn if a `.hg/hgrc` file is ignored due to not being owned by a
775 Warn if a ``.hg/hgrc`` file is ignored due to not being owned by a
776 trusted user or group. True or False. Default is True.
776 trusted user or group. True or False. Default is True.
777 ``slash``
777 ``slash``
778 Display paths using a slash ("`/`") as the path separator. This
778 Display paths using a slash ("``/``") as the path separator. This
779 only makes a difference on systems where the default path
779 only makes a difference on systems where the default path
780 separator is not the slash character (e.g. Windows uses the
780 separator is not the slash character (e.g. Windows uses the
781 backslash character ("`\\`")).
781 backslash character ("``\``")).
782 Default is False.
782 Default is False.
783 ``ssh``
783 ``ssh``
784 command to use for SSH connections. Default is 'ssh'.
784 command to use for SSH connections. Default is 'ssh'.
785 ``strict``
785 ``strict``
786 Require exact command names, instead of allowing unambiguous
786 Require exact command names, instead of allowing unambiguous
787 abbreviations. True or False. Default is False.
787 abbreviations. True or False. Default is False.
788 ``style``
788 ``style``
789 Name of style to use for command output.
789 Name of style to use for command output.
790 ``timeout``
790 ``timeout``
791 The timeout used when a lock is held (in seconds), a negative value
791 The timeout used when a lock is held (in seconds), a negative value
792 means no timeout. Default is 600.
792 means no timeout. Default is 600.
793 ``username``
793 ``username``
794 The committer of a changeset created when running "commit".
794 The committer of a changeset created when running "commit".
795 Typically a person's name and email address, e.g. "Fred Widget
795 Typically a person's name and email address, e.g. "Fred Widget
796 <fred@example.com>". Default is `$EMAIL` or username@hostname. If
796 <fred@example.com>". Default is ``$EMAIL`` or username@hostname. If
797 the username in hgrc is empty, it has to be specified manually or
797 the username in hgrc is empty, it has to be specified manually or
798 in a different hgrc file (e.g. `$HOME/.hgrc`, if the admin set
798 in a different hgrc file (e.g. ``$HOME/.hgrc``, if the admin set
799 "username =" in the system hgrc).
799 "username =" in the system hgrc).
800 ``verbose``
800 ``verbose``
801 Increase the amount of output printed. True or False. Default is False.
801 Increase the amount of output printed. True or False. Default is False.
802
802
803
803
804 ``web``
804 ``web``
805 """""""
805 """""""
806 Web interface configuration.
806 Web interface configuration.
807
807
808 ``accesslog``
808 ``accesslog``
809 Where to output the access log. Default is stdout.
809 Where to output the access log. Default is stdout.
810 ``address``
810 ``address``
811 Interface address to bind to. Default is all.
811 Interface address to bind to. Default is all.
812 ``allow_archive``
812 ``allow_archive``
813 List of archive format (bz2, gz, zip) allowed for downloading.
813 List of archive format (bz2, gz, zip) allowed for downloading.
814 Default is empty.
814 Default is empty.
815 ``allowbz2``
815 ``allowbz2``
816 (DEPRECATED) Whether to allow .tar.bz2 downloading of repository
816 (DEPRECATED) Whether to allow .tar.bz2 downloading of repository
817 revisions.
817 revisions.
818 Default is false.
818 Default is false.
819 ``allowgz``
819 ``allowgz``
820 (DEPRECATED) Whether to allow .tar.gz downloading of repository
820 (DEPRECATED) Whether to allow .tar.gz downloading of repository
821 revisions.
821 revisions.
822 Default is false.
822 Default is false.
823 ``allowpull``
823 ``allowpull``
824 Whether to allow pulling from the repository. Default is true.
824 Whether to allow pulling from the repository. Default is true.
825 ``allow_push``
825 ``allow_push``
826 Whether to allow pushing to the repository. If empty or not set,
826 Whether to allow pushing to the repository. If empty or not set,
827 push is not allowed. If the special value "`*`", any remote user can
827 push is not allowed. If the special value "``*``", any remote user can
828 push, including unauthenticated users. Otherwise, the remote user
828 push, including unauthenticated users. Otherwise, the remote user
829 must have been authenticated, and the authenticated user name must
829 must have been authenticated, and the authenticated user name must
830 be present in this list (separated by whitespace or ","). The
830 be present in this list (separated by whitespace or ","). The
831 contents of the allow_push list are examined after the deny_push
831 contents of the allow_push list are examined after the deny_push
832 list.
832 list.
833 ``allow_read``
833 ``allow_read``
834 If the user has not already been denied repository access due to
834 If the user has not already been denied repository access due to
835 the contents of deny_read, this list determines whether to grant
835 the contents of deny_read, this list determines whether to grant
836 repository access to the user. If this list is not empty, and the
836 repository access to the user. If this list is not empty, and the
837 user is unauthenticated or not present in the list (separated by
837 user is unauthenticated or not present in the list (separated by
838 whitespace or ","), then access is denied for the user. If the
838 whitespace or ","), then access is denied for the user. If the
839 list is empty or not set, then access is permitted to all users by
839 list is empty or not set, then access is permitted to all users by
840 default. Setting allow_read to the special value "`*`" is equivalent
840 default. Setting allow_read to the special value "``*``" is equivalent
841 to it not being set (i.e. access is permitted to all users). The
841 to it not being set (i.e. access is permitted to all users). The
842 contents of the allow_read list are examined after the deny_read
842 contents of the allow_read list are examined after the deny_read
843 list.
843 list.
844 ``allowzip``
844 ``allowzip``
845 (DEPRECATED) Whether to allow .zip downloading of repository
845 (DEPRECATED) Whether to allow .zip downloading of repository
846 revisions. Default is false. This feature creates temporary files.
846 revisions. Default is false. This feature creates temporary files.
847 ``baseurl``
847 ``baseurl``
848 Base URL to use when publishing URLs in other locations, so
848 Base URL to use when publishing URLs in other locations, so
849 third-party tools like email notification hooks can construct
849 third-party tools like email notification hooks can construct
850 URLs. Example: "http://hgserver/repos/"
850 URLs. Example: "http://hgserver/repos/"
851 ``contact``
851 ``contact``
852 Name or email address of the person in charge of the repository.
852 Name or email address of the person in charge of the repository.
853 Defaults to ui.username or `$EMAIL` or "unknown" if unset or empty.
853 Defaults to ui.username or ``$EMAIL`` or "unknown" if unset or empty.
854 ``deny_push``
854 ``deny_push``
855 Whether to deny pushing to the repository. If empty or not set,
855 Whether to deny pushing to the repository. If empty or not set,
856 push is not denied. If the special value "`*`", all remote users are
856 push is not denied. If the special value "``*``", all remote users are
857 denied push. Otherwise, unauthenticated users are all denied, and
857 denied push. Otherwise, unauthenticated users are all denied, and
858 any authenticated user name present in this list (separated by
858 any authenticated user name present in this list (separated by
859 whitespace or ",") is also denied. The contents of the deny_push
859 whitespace or ",") is also denied. The contents of the deny_push
860 list are examined before the allow_push list.
860 list are examined before the allow_push list.
861 ``deny_read``
861 ``deny_read``
862 Whether to deny reading/viewing of the repository. If this list is
862 Whether to deny reading/viewing of the repository. If this list is
863 not empty, unauthenticated users are all denied, and any
863 not empty, unauthenticated users are all denied, and any
864 authenticated user name present in this list (separated by
864 authenticated user name present in this list (separated by
865 whitespace or ",") is also denied access to the repository. If set
865 whitespace or ",") is also denied access to the repository. If set
866 to the special value "`*`", all remote users are denied access
866 to the special value "``*``", all remote users are denied access
867 (rarely needed ;). If deny_read is empty or not set, the
867 (rarely needed ;). If deny_read is empty or not set, the
868 determination of repository access depends on the presence and
868 determination of repository access depends on the presence and
869 content of the allow_read list (see description). If both
869 content of the allow_read list (see description). If both
870 deny_read and allow_read are empty or not set, then access is
870 deny_read and allow_read are empty or not set, then access is
871 permitted to all users by default. If the repository is being
871 permitted to all users by default. If the repository is being
872 served via hgwebdir, denied users will not be able to see it in
872 served via hgwebdir, denied users will not be able to see it in
873 the list of repositories. The contents of the deny_read list have
873 the list of repositories. The contents of the deny_read list have
874 priority over (are examined before) the contents of the allow_read
874 priority over (are examined before) the contents of the allow_read
875 list.
875 list.
876 ``description``
876 ``description``
877 Textual description of the repository's purpose or contents.
877 Textual description of the repository's purpose or contents.
878 Default is "unknown".
878 Default is "unknown".
879 ``encoding``
879 ``encoding``
880 Character encoding name.
880 Character encoding name.
881 Example: "UTF-8"
881 Example: "UTF-8"
882 ``errorlog``
882 ``errorlog``
883 Where to output the error log. Default is stderr.
883 Where to output the error log. Default is stderr.
884 ``hidden``
884 ``hidden``
885 Whether to hide the repository in the hgwebdir index.
885 Whether to hide the repository in the hgwebdir index.
886 Default is false.
886 Default is false.
887 ``ipv6``
887 ``ipv6``
888 Whether to use IPv6. Default is false.
888 Whether to use IPv6. Default is false.
889 ``name``
889 ``name``
890 Repository name to use in the web interface. Default is current
890 Repository name to use in the web interface. Default is current
891 working directory.
891 working directory.
892 ``maxchanges``
892 ``maxchanges``
893 Maximum number of changes to list on the changelog. Default is 10.
893 Maximum number of changes to list on the changelog. Default is 10.
894 ``maxfiles``
894 ``maxfiles``
895 Maximum number of files to list per changeset. Default is 10.
895 Maximum number of files to list per changeset. Default is 10.
896 ``port``
896 ``port``
897 Port to listen on. Default is 8000.
897 Port to listen on. Default is 8000.
898 ``prefix``
898 ``prefix``
899 Prefix path to serve from. Default is '' (server root).
899 Prefix path to serve from. Default is '' (server root).
900 ``push_ssl``
900 ``push_ssl``
901 Whether to require that inbound pushes be transported over SSL to
901 Whether to require that inbound pushes be transported over SSL to
902 prevent password sniffing. Default is true.
902 prevent password sniffing. Default is true.
903 ``staticurl``
903 ``staticurl``
904 Base URL to use for static files. If unset, static files (e.g. the
904 Base URL to use for static files. If unset, static files (e.g. the
905 hgicon.png favicon) will be served by the CGI script itself. Use
905 hgicon.png favicon) will be served by the CGI script itself. Use
906 this setting to serve them directly with the HTTP server.
906 this setting to serve them directly with the HTTP server.
907 Example: "http://hgserver/static/"
907 Example: "http://hgserver/static/"
908 ``stripes``
908 ``stripes``
909 How many lines a "zebra stripe" should span in multiline output.
909 How many lines a "zebra stripe" should span in multiline output.
910 Default is 1; set to 0 to disable.
910 Default is 1; set to 0 to disable.
911 ``style``
911 ``style``
912 Which template map style to use.
912 Which template map style to use.
913 ``templates``
913 ``templates``
914 Where to find the HTML templates. Default is install path.
914 Where to find the HTML templates. Default is install path.
915
915
916
916
917 AUTHOR
917 AUTHOR
918 ------
918 ------
919 Bryan O'Sullivan <bos@serpentine.com>.
919 Bryan O'Sullivan <bos@serpentine.com>.
920
920
921 Mercurial was written by Matt Mackall <mpm@selenic.com>.
921 Mercurial was written by Matt Mackall <mpm@selenic.com>.
922
922
923 SEE ALSO
923 SEE ALSO
924 --------
924 --------
925 hg(1), hgignore(5)
925 hg(1), hgignore(5)
926
926
927 COPYING
927 COPYING
928 -------
928 -------
929 This manual page is copyright 2005 Bryan O'Sullivan.
929 This manual page is copyright 2005 Bryan O'Sullivan.
930 Mercurial is copyright 2005-2009 Matt Mackall.
930 Mercurial is copyright 2005-2009 Matt Mackall.
931 Free use of this software is granted under the terms of the GNU General
931 Free use of this software is granted under the terms of the GNU General
932 Public License (GPL).
932 Public License (GPL).
General Comments 0
You need to be logged in to leave comments. Login now