##// END OF EJS Templates
help: document that default hgweb style is called paper (issue4373)
Augie Fackler -
r22550:85ade05d default
parent child Browse files
Show More
@@ -1,1694 +1,1694 b''
1 The Mercurial system uses a set of configuration files to control
1 The Mercurial system uses a set of configuration files to control
2 aspects of its behavior.
2 aspects of its behavior.
3
3
4 The configuration files use a simple ini-file format. A configuration
4 The configuration files use a simple ini-file format. A configuration
5 file consists of sections, led by a ``[section]`` header and followed
5 file consists of sections, led by a ``[section]`` header and followed
6 by ``name = value`` entries::
6 by ``name = value`` entries::
7
7
8 [ui]
8 [ui]
9 username = Firstname Lastname <firstname.lastname@example.net>
9 username = Firstname Lastname <firstname.lastname@example.net>
10 verbose = True
10 verbose = True
11
11
12 The above entries will be referred to as ``ui.username`` and
12 The above entries will be referred to as ``ui.username`` and
13 ``ui.verbose``, respectively. See the Syntax section below.
13 ``ui.verbose``, respectively. See the Syntax section below.
14
14
15 Files
15 Files
16 =====
16 =====
17
17
18 Mercurial reads configuration data from several files, if they exist.
18 Mercurial reads configuration data from several files, if they exist.
19 These files do not exist by default and you will have to create the
19 These files do not exist by default and you will have to create the
20 appropriate configuration files yourself: global configuration like
20 appropriate configuration files yourself: global configuration like
21 the username setting is typically put into
21 the username setting is typically put into
22 ``%USERPROFILE%\mercurial.ini`` or ``$HOME/.hgrc`` and local
22 ``%USERPROFILE%\mercurial.ini`` or ``$HOME/.hgrc`` and local
23 configuration is put into the per-repository ``<repo>/.hg/hgrc`` file.
23 configuration is put into the per-repository ``<repo>/.hg/hgrc`` file.
24
24
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 earlier paths override later
28 paths are given below, settings from earlier paths override later
29 ones.
29 ones.
30
30
31 | (All) ``<repo>/.hg/hgrc``
31 | (All) ``<repo>/.hg/hgrc``
32
32
33 Per-repository configuration options that only apply in a
33 Per-repository configuration options that only apply in a
34 particular repository. This file is not version-controlled, and
34 particular repository. This file is not version-controlled, and
35 will not get transferred during a "clone" operation. Options in
35 will not get transferred during a "clone" operation. Options in
36 this file override options in all other configuration files. On
36 this file override options in all other configuration files. On
37 Plan 9 and Unix, most of this file will be ignored if it doesn't
37 Plan 9 and Unix, most of this file will be ignored if it doesn't
38 belong to a trusted user or to a trusted group. See the documentation
38 belong to a trusted user or to a trusted group. See the documentation
39 for the ``[trusted]`` section below for more details.
39 for the ``[trusted]`` section below for more details.
40
40
41 | (Plan 9) ``$home/lib/hgrc``
41 | (Plan 9) ``$home/lib/hgrc``
42 | (Unix) ``$HOME/.hgrc``
42 | (Unix) ``$HOME/.hgrc``
43 | (Windows) ``%USERPROFILE%\.hgrc``
43 | (Windows) ``%USERPROFILE%\.hgrc``
44 | (Windows) ``%USERPROFILE%\Mercurial.ini``
44 | (Windows) ``%USERPROFILE%\Mercurial.ini``
45 | (Windows) ``%HOME%\.hgrc``
45 | (Windows) ``%HOME%\.hgrc``
46 | (Windows) ``%HOME%\Mercurial.ini``
46 | (Windows) ``%HOME%\Mercurial.ini``
47
47
48 Per-user configuration file(s), for the user running Mercurial. On
48 Per-user configuration file(s), for the user running Mercurial. On
49 Windows 9x, ``%HOME%`` is replaced by ``%APPDATA%``. Options in these
49 Windows 9x, ``%HOME%`` is replaced by ``%APPDATA%``. Options in these
50 files apply to all Mercurial commands executed by this user in any
50 files apply to all Mercurial commands executed by this user in any
51 directory. Options in these files override per-system and per-installation
51 directory. Options in these files override per-system and per-installation
52 options.
52 options.
53
53
54 | (Plan 9) ``/lib/mercurial/hgrc``
54 | (Plan 9) ``/lib/mercurial/hgrc``
55 | (Plan 9) ``/lib/mercurial/hgrc.d/*.rc``
55 | (Plan 9) ``/lib/mercurial/hgrc.d/*.rc``
56 | (Unix) ``/etc/mercurial/hgrc``
56 | (Unix) ``/etc/mercurial/hgrc``
57 | (Unix) ``/etc/mercurial/hgrc.d/*.rc``
57 | (Unix) ``/etc/mercurial/hgrc.d/*.rc``
58
58
59 Per-system configuration files, for the system on which Mercurial
59 Per-system configuration files, for the system on which Mercurial
60 is running. Options in these files apply to all Mercurial commands
60 is running. Options in these files apply to all Mercurial commands
61 executed by any user in any directory. Options in these files
61 executed by any user in any directory. Options in these files
62 override per-installation options.
62 override per-installation options.
63
63
64 | (Plan 9) ``<install-root>/lib/mercurial/hgrc``
64 | (Plan 9) ``<install-root>/lib/mercurial/hgrc``
65 | (Plan 9) ``<install-root>/lib/mercurial/hgrc.d/*.rc``
65 | (Plan 9) ``<install-root>/lib/mercurial/hgrc.d/*.rc``
66 | (Unix) ``<install-root>/etc/mercurial/hgrc``
66 | (Unix) ``<install-root>/etc/mercurial/hgrc``
67 | (Unix) ``<install-root>/etc/mercurial/hgrc.d/*.rc``
67 | (Unix) ``<install-root>/etc/mercurial/hgrc.d/*.rc``
68
68
69 Per-installation configuration files, searched for in the
69 Per-installation configuration files, searched for in the
70 directory where Mercurial is installed. ``<install-root>`` is the
70 directory where Mercurial is installed. ``<install-root>`` is the
71 parent directory of the **hg** executable (or symlink) being run. For
71 parent directory of the **hg** executable (or symlink) being run. For
72 example, if installed in ``/shared/tools/bin/hg``, Mercurial will look
72 example, if installed in ``/shared/tools/bin/hg``, Mercurial will look
73 in ``/shared/tools/etc/mercurial/hgrc``. Options in these files apply
73 in ``/shared/tools/etc/mercurial/hgrc``. Options in these files apply
74 to all Mercurial commands executed by any user in any directory.
74 to all Mercurial commands executed by any user in any directory.
75
75
76 | (Windows) ``<install-dir>\Mercurial.ini`` **or**
76 | (Windows) ``<install-dir>\Mercurial.ini`` **or**
77 | (Windows) ``<install-dir>\hgrc.d\*.rc`` **or**
77 | (Windows) ``<install-dir>\hgrc.d\*.rc`` **or**
78 | (Windows) ``HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial``
78 | (Windows) ``HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial``
79
79
80 Per-installation/system configuration files, for the system on
80 Per-installation/system configuration files, for the system on
81 which Mercurial is running. Options in these files apply to all
81 which Mercurial is running. Options in these files apply to all
82 Mercurial commands executed by any user in any directory. Registry
82 Mercurial commands executed by any user in any directory. Registry
83 keys contain PATH-like strings, every part of which must reference
83 keys contain PATH-like strings, every part of which must reference
84 a ``Mercurial.ini`` file or be a directory where ``*.rc`` files will
84 a ``Mercurial.ini`` file or be a directory where ``*.rc`` files will
85 be read. Mercurial checks each of these locations in the specified
85 be read. Mercurial checks each of these locations in the specified
86 order until one or more configuration files are detected.
86 order until one or more configuration files are detected.
87
87
88 .. note::
88 .. note::
89
89
90 The registry key ``HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mercurial``
90 The registry key ``HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mercurial``
91 is used when running 32-bit Python on 64-bit Windows.
91 is used when running 32-bit Python on 64-bit Windows.
92
92
93 Syntax
93 Syntax
94 ======
94 ======
95
95
96 A configuration file consists of sections, led by a ``[section]`` header
96 A configuration file consists of sections, led by a ``[section]`` header
97 and followed by ``name = value`` entries (sometimes called
97 and followed by ``name = value`` entries (sometimes called
98 ``configuration keys``)::
98 ``configuration keys``)::
99
99
100 [spam]
100 [spam]
101 eggs=ham
101 eggs=ham
102 green=
102 green=
103 eggs
103 eggs
104
104
105 Each line contains one entry. If the lines that follow are indented,
105 Each line contains one entry. If the lines that follow are indented,
106 they are treated as continuations of that entry. Leading whitespace is
106 they are treated as continuations of that entry. Leading whitespace is
107 removed from values. Empty lines are skipped. Lines beginning with
107 removed from values. Empty lines are skipped. Lines beginning with
108 ``#`` or ``;`` are ignored and may be used to provide comments.
108 ``#`` or ``;`` are ignored and may be used to provide comments.
109
109
110 Configuration keys can be set multiple times, in which case Mercurial
110 Configuration keys can be set multiple times, in which case Mercurial
111 will use the value that was configured last. As an example::
111 will use the value that was configured last. As an example::
112
112
113 [spam]
113 [spam]
114 eggs=large
114 eggs=large
115 ham=serrano
115 ham=serrano
116 eggs=small
116 eggs=small
117
117
118 This would set the configuration key named ``eggs`` to ``small``.
118 This would set the configuration key named ``eggs`` to ``small``.
119
119
120 It is also possible to define a section multiple times. A section can
120 It is also possible to define a section multiple times. A section can
121 be redefined on the same and/or on different configuration files. For
121 be redefined on the same and/or on different configuration files. For
122 example::
122 example::
123
123
124 [foo]
124 [foo]
125 eggs=large
125 eggs=large
126 ham=serrano
126 ham=serrano
127 eggs=small
127 eggs=small
128
128
129 [bar]
129 [bar]
130 eggs=ham
130 eggs=ham
131 green=
131 green=
132 eggs
132 eggs
133
133
134 [foo]
134 [foo]
135 ham=prosciutto
135 ham=prosciutto
136 eggs=medium
136 eggs=medium
137 bread=toasted
137 bread=toasted
138
138
139 This would set the ``eggs``, ``ham``, and ``bread`` configuration keys
139 This would set the ``eggs``, ``ham``, and ``bread`` configuration keys
140 of the ``foo`` section to ``medium``, ``prosciutto``, and ``toasted``,
140 of the ``foo`` section to ``medium``, ``prosciutto``, and ``toasted``,
141 respectively. As you can see there only thing that matters is the last
141 respectively. As you can see there only thing that matters is the last
142 value that was set for each of the configuration keys.
142 value that was set for each of the configuration keys.
143
143
144 If a configuration key is set multiple times in different
144 If a configuration key is set multiple times in different
145 configuration files the final value will depend on the order in which
145 configuration files the final value will depend on the order in which
146 the different configuration files are read, with settings from earlier
146 the different configuration files are read, with settings from earlier
147 paths overriding later ones as described on the ``Files`` section
147 paths overriding later ones as described on the ``Files`` section
148 above.
148 above.
149
149
150 A line of the form ``%include file`` will include ``file`` into the
150 A line of the form ``%include file`` will include ``file`` into the
151 current configuration file. The inclusion is recursive, which means
151 current configuration file. The inclusion is recursive, which means
152 that included files can include other files. Filenames are relative to
152 that included files can include other files. Filenames are relative to
153 the configuration file in which the ``%include`` directive is found.
153 the configuration file in which the ``%include`` directive is found.
154 Environment variables and ``~user`` constructs are expanded in
154 Environment variables and ``~user`` constructs are expanded in
155 ``file``. This lets you do something like::
155 ``file``. This lets you do something like::
156
156
157 %include ~/.hgrc.d/$HOST.rc
157 %include ~/.hgrc.d/$HOST.rc
158
158
159 to include a different configuration file on each computer you use.
159 to include a different configuration file on each computer you use.
160
160
161 A line with ``%unset name`` will remove ``name`` from the current
161 A line with ``%unset name`` will remove ``name`` from the current
162 section, if it has been set previously.
162 section, if it has been set previously.
163
163
164 The values are either free-form text strings, lists of text strings,
164 The values are either free-form text strings, lists of text strings,
165 or Boolean values. Boolean values can be set to true using any of "1",
165 or Boolean values. Boolean values can be set to true using any of "1",
166 "yes", "true", or "on" and to false using "0", "no", "false", or "off"
166 "yes", "true", or "on" and to false using "0", "no", "false", or "off"
167 (all case insensitive).
167 (all case insensitive).
168
168
169 List values are separated by whitespace or comma, except when values are
169 List values are separated by whitespace or comma, except when values are
170 placed in double quotation marks::
170 placed in double quotation marks::
171
171
172 allow_read = "John Doe, PhD", brian, betty
172 allow_read = "John Doe, PhD", brian, betty
173
173
174 Quotation marks can be escaped by prefixing them with a backslash. Only
174 Quotation marks can be escaped by prefixing them with a backslash. Only
175 quotation marks at the beginning of a word is counted as a quotation
175 quotation marks at the beginning of a word is counted as a quotation
176 (e.g., ``foo"bar baz`` is the list of ``foo"bar`` and ``baz``).
176 (e.g., ``foo"bar baz`` is the list of ``foo"bar`` and ``baz``).
177
177
178 Sections
178 Sections
179 ========
179 ========
180
180
181 This section describes the different sections that may appear in a
181 This section describes the different sections that may appear in a
182 Mercurial configuration file, the purpose of each section, its possible
182 Mercurial configuration file, the purpose of each section, its possible
183 keys, and their possible values.
183 keys, and their possible values.
184
184
185 ``alias``
185 ``alias``
186 ---------
186 ---------
187
187
188 Defines command aliases.
188 Defines command aliases.
189 Aliases allow you to define your own commands in terms of other
189 Aliases allow you to define your own commands in terms of other
190 commands (or aliases), optionally including arguments. Positional
190 commands (or aliases), optionally including arguments. Positional
191 arguments in the form of ``$1``, ``$2``, etc in the alias definition
191 arguments in the form of ``$1``, ``$2``, etc in the alias definition
192 are expanded by Mercurial before execution. Positional arguments not
192 are expanded by Mercurial before execution. Positional arguments not
193 already used by ``$N`` in the definition are put at the end of the
193 already used by ``$N`` in the definition are put at the end of the
194 command to be executed.
194 command to be executed.
195
195
196 Alias definitions consist of lines of the form::
196 Alias definitions consist of lines of the form::
197
197
198 <alias> = <command> [<argument>]...
198 <alias> = <command> [<argument>]...
199
199
200 For example, this definition::
200 For example, this definition::
201
201
202 latest = log --limit 5
202 latest = log --limit 5
203
203
204 creates a new command ``latest`` that shows only the five most recent
204 creates a new command ``latest`` that shows only the five most recent
205 changesets. You can define subsequent aliases using earlier ones::
205 changesets. You can define subsequent aliases using earlier ones::
206
206
207 stable5 = latest -b stable
207 stable5 = latest -b stable
208
208
209 .. note::
209 .. note::
210
210
211 It is possible to create aliases with the same names as
211 It is possible to create aliases with the same names as
212 existing commands, which will then override the original
212 existing commands, which will then override the original
213 definitions. This is almost always a bad idea!
213 definitions. This is almost always a bad idea!
214
214
215 An alias can start with an exclamation point (``!``) to make it a
215 An alias can start with an exclamation point (``!``) to make it a
216 shell alias. A shell alias is executed with the shell and will let you
216 shell alias. A shell alias is executed with the shell and will let you
217 run arbitrary commands. As an example, ::
217 run arbitrary commands. As an example, ::
218
218
219 echo = !echo $@
219 echo = !echo $@
220
220
221 will let you do ``hg echo foo`` to have ``foo`` printed in your
221 will let you do ``hg echo foo`` to have ``foo`` printed in your
222 terminal. A better example might be::
222 terminal. A better example might be::
223
223
224 purge = !$HG status --no-status --unknown -0 | xargs -0 rm
224 purge = !$HG status --no-status --unknown -0 | xargs -0 rm
225
225
226 which will make ``hg purge`` delete all unknown files in the
226 which will make ``hg purge`` delete all unknown files in the
227 repository in the same manner as the purge extension.
227 repository in the same manner as the purge extension.
228
228
229 Positional arguments like ``$1``, ``$2``, etc. in the alias definition
229 Positional arguments like ``$1``, ``$2``, etc. in the alias definition
230 expand to the command arguments. Unmatched arguments are
230 expand to the command arguments. Unmatched arguments are
231 removed. ``$0`` expands to the alias name and ``$@`` expands to all
231 removed. ``$0`` expands to the alias name and ``$@`` expands to all
232 arguments separated by a space. ``"$@"`` (with quotes) expands to all
232 arguments separated by a space. ``"$@"`` (with quotes) expands to all
233 arguments quoted individually and separated by a space. These expansions
233 arguments quoted individually and separated by a space. These expansions
234 happen before the command is passed to the shell.
234 happen before the command is passed to the shell.
235
235
236 Shell aliases are executed in an environment where ``$HG`` expands to
236 Shell aliases are executed in an environment where ``$HG`` expands to
237 the path of the Mercurial that was used to execute the alias. This is
237 the path of the Mercurial that was used to execute the alias. This is
238 useful when you want to call further Mercurial commands in a shell
238 useful when you want to call further Mercurial commands in a shell
239 alias, as was done above for the purge alias. In addition,
239 alias, as was done above for the purge alias. In addition,
240 ``$HG_ARGS`` expands to the arguments given to Mercurial. In the ``hg
240 ``$HG_ARGS`` expands to the arguments given to Mercurial. In the ``hg
241 echo foo`` call above, ``$HG_ARGS`` would expand to ``echo foo``.
241 echo foo`` call above, ``$HG_ARGS`` would expand to ``echo foo``.
242
242
243 .. note::
243 .. note::
244
244
245 Some global configuration options such as ``-R`` are
245 Some global configuration options such as ``-R`` are
246 processed before shell aliases and will thus not be passed to
246 processed before shell aliases and will thus not be passed to
247 aliases.
247 aliases.
248
248
249
249
250 ``annotate``
250 ``annotate``
251 ------------
251 ------------
252
252
253 Settings used when displaying file annotations. All values are
253 Settings used when displaying file annotations. All values are
254 Booleans and default to False. See ``diff`` section for related
254 Booleans and default to False. See ``diff`` section for related
255 options for the diff command.
255 options for the diff command.
256
256
257 ``ignorews``
257 ``ignorews``
258 Ignore white space when comparing lines.
258 Ignore white space when comparing lines.
259
259
260 ``ignorewsamount``
260 ``ignorewsamount``
261 Ignore changes in the amount of white space.
261 Ignore changes in the amount of white space.
262
262
263 ``ignoreblanklines``
263 ``ignoreblanklines``
264 Ignore changes whose lines are all blank.
264 Ignore changes whose lines are all blank.
265
265
266
266
267 ``auth``
267 ``auth``
268 --------
268 --------
269
269
270 Authentication credentials for HTTP authentication. This section
270 Authentication credentials for HTTP authentication. This section
271 allows you to store usernames and passwords for use when logging
271 allows you to store usernames and passwords for use when logging
272 *into* HTTP servers. See the ``[web]`` configuration section if
272 *into* HTTP servers. See the ``[web]`` configuration section if
273 you want to configure *who* can login to your HTTP server.
273 you want to configure *who* can login to your HTTP server.
274
274
275 Each line has the following format::
275 Each line has the following format::
276
276
277 <name>.<argument> = <value>
277 <name>.<argument> = <value>
278
278
279 where ``<name>`` is used to group arguments into authentication
279 where ``<name>`` is used to group arguments into authentication
280 entries. Example::
280 entries. Example::
281
281
282 foo.prefix = hg.intevation.org/mercurial
282 foo.prefix = hg.intevation.org/mercurial
283 foo.username = foo
283 foo.username = foo
284 foo.password = bar
284 foo.password = bar
285 foo.schemes = http https
285 foo.schemes = http https
286
286
287 bar.prefix = secure.example.org
287 bar.prefix = secure.example.org
288 bar.key = path/to/file.key
288 bar.key = path/to/file.key
289 bar.cert = path/to/file.cert
289 bar.cert = path/to/file.cert
290 bar.schemes = https
290 bar.schemes = https
291
291
292 Supported arguments:
292 Supported arguments:
293
293
294 ``prefix``
294 ``prefix``
295 Either ``*`` or a URI prefix with or without the scheme part.
295 Either ``*`` or a URI prefix with or without the scheme part.
296 The authentication entry with the longest matching prefix is used
296 The authentication entry with the longest matching prefix is used
297 (where ``*`` matches everything and counts as a match of length
297 (where ``*`` matches everything and counts as a match of length
298 1). If the prefix doesn't include a scheme, the match is performed
298 1). If the prefix doesn't include a scheme, the match is performed
299 against the URI with its scheme stripped as well, and the schemes
299 against the URI with its scheme stripped as well, and the schemes
300 argument, q.v., is then subsequently consulted.
300 argument, q.v., is then subsequently consulted.
301
301
302 ``username``
302 ``username``
303 Optional. Username to authenticate with. If not given, and the
303 Optional. Username to authenticate with. If not given, and the
304 remote site requires basic or digest authentication, the user will
304 remote site requires basic or digest authentication, the user will
305 be prompted for it. Environment variables are expanded in the
305 be prompted for it. Environment variables are expanded in the
306 username letting you do ``foo.username = $USER``. If the URI
306 username letting you do ``foo.username = $USER``. If the URI
307 includes a username, only ``[auth]`` entries with a matching
307 includes a username, only ``[auth]`` entries with a matching
308 username or without a username will be considered.
308 username or without a username will be considered.
309
309
310 ``password``
310 ``password``
311 Optional. Password to authenticate with. If not given, and the
311 Optional. Password to authenticate with. If not given, and the
312 remote site requires basic or digest authentication, the user
312 remote site requires basic or digest authentication, the user
313 will be prompted for it.
313 will be prompted for it.
314
314
315 ``key``
315 ``key``
316 Optional. PEM encoded client certificate key file. Environment
316 Optional. PEM encoded client certificate key file. Environment
317 variables are expanded in the filename.
317 variables are expanded in the filename.
318
318
319 ``cert``
319 ``cert``
320 Optional. PEM encoded client certificate chain file. Environment
320 Optional. PEM encoded client certificate chain file. Environment
321 variables are expanded in the filename.
321 variables are expanded in the filename.
322
322
323 ``schemes``
323 ``schemes``
324 Optional. Space separated list of URI schemes to use this
324 Optional. Space separated list of URI schemes to use this
325 authentication entry with. Only used if the prefix doesn't include
325 authentication entry with. Only used if the prefix doesn't include
326 a scheme. Supported schemes are http and https. They will match
326 a scheme. Supported schemes are http and https. They will match
327 static-http and static-https respectively, as well.
327 static-http and static-https respectively, as well.
328 Default: https.
328 Default: https.
329
329
330 If no suitable authentication entry is found, the user is prompted
330 If no suitable authentication entry is found, the user is prompted
331 for credentials as usual if required by the remote.
331 for credentials as usual if required by the remote.
332
332
333
333
334 ``committemplate``
334 ``committemplate``
335 ------------------
335 ------------------
336
336
337 ``changeset`` configuration in this section is used as the template to
337 ``changeset`` configuration in this section is used as the template to
338 customize the text shown in the editor when committing.
338 customize the text shown in the editor when committing.
339
339
340 In addition to pre-defined template keywords, commit log specific one
340 In addition to pre-defined template keywords, commit log specific one
341 below can be used for customization:
341 below can be used for customization:
342
342
343 ``extramsg``
343 ``extramsg``
344 String: Extra message (typically 'Leave message empty to abort
344 String: Extra message (typically 'Leave message empty to abort
345 commit.'). This may be changed by some commands or extensions.
345 commit.'). This may be changed by some commands or extensions.
346
346
347 For example, the template configuration below shows as same text as
347 For example, the template configuration below shows as same text as
348 one shown by default::
348 one shown by default::
349
349
350 [committemplate]
350 [committemplate]
351 changeset = {desc}\n\n
351 changeset = {desc}\n\n
352 HG: Enter commit message. Lines beginning with 'HG:' are removed.
352 HG: Enter commit message. Lines beginning with 'HG:' are removed.
353 HG: {extramsg}
353 HG: {extramsg}
354 HG: --
354 HG: --
355 HG: user: {author}\n{ifeq(p2rev, "-1", "",
355 HG: user: {author}\n{ifeq(p2rev, "-1", "",
356 "HG: branch merge\n")
356 "HG: branch merge\n")
357 }HG: branch '{branch}'\n{if(currentbookmark,
357 }HG: branch '{branch}'\n{if(currentbookmark,
358 "HG: bookmark '{currentbookmark}'\n") }{subrepos %
358 "HG: bookmark '{currentbookmark}'\n") }{subrepos %
359 "HG: subrepo {subrepo}\n" }{file_adds %
359 "HG: subrepo {subrepo}\n" }{file_adds %
360 "HG: added {file}\n" }{file_mods %
360 "HG: added {file}\n" }{file_mods %
361 "HG: changed {file}\n" }{file_dels %
361 "HG: changed {file}\n" }{file_dels %
362 "HG: removed {file}\n" }{if(files, "",
362 "HG: removed {file}\n" }{if(files, "",
363 "HG: no files changed\n")}
363 "HG: no files changed\n")}
364
364
365 .. note::
365 .. note::
366
366
367 For some problematic encodings (see :hg:`help win32mbcs` for
367 For some problematic encodings (see :hg:`help win32mbcs` for
368 detail), this customization should be configured carefully, to
368 detail), this customization should be configured carefully, to
369 avoid showing broken characters.
369 avoid showing broken characters.
370
370
371 For example, if multibyte character ending with backslash (0x5c) is
371 For example, if multibyte character ending with backslash (0x5c) is
372 followed by ASCII character 'n' in the customized template,
372 followed by ASCII character 'n' in the customized template,
373 sequence of backslash and 'n' is treated as line-feed unexpectedly
373 sequence of backslash and 'n' is treated as line-feed unexpectedly
374 (and multibyte character is broken, too).
374 (and multibyte character is broken, too).
375
375
376 Customized template is used for commands below (``--edit`` may be
376 Customized template is used for commands below (``--edit`` may be
377 required):
377 required):
378
378
379 - :hg:`backout`
379 - :hg:`backout`
380 - :hg:`commit`
380 - :hg:`commit`
381 - :hg:`fetch` (for merge commit only)
381 - :hg:`fetch` (for merge commit only)
382 - :hg:`graft`
382 - :hg:`graft`
383 - :hg:`histedit`
383 - :hg:`histedit`
384 - :hg:`import`
384 - :hg:`import`
385 - :hg:`qfold`, :hg:`qnew` and :hg:`qrefresh`
385 - :hg:`qfold`, :hg:`qnew` and :hg:`qrefresh`
386 - :hg:`rebase`
386 - :hg:`rebase`
387 - :hg:`shelve`
387 - :hg:`shelve`
388 - :hg:`sign`
388 - :hg:`sign`
389 - :hg:`tag`
389 - :hg:`tag`
390 - :hg:`transplant`
390 - :hg:`transplant`
391
391
392 Configuring items below instead of ``changeset`` allows showing
392 Configuring items below instead of ``changeset`` allows showing
393 customized message only for specific actions, or showing different
393 customized message only for specific actions, or showing different
394 messages for each actions.
394 messages for each actions.
395
395
396 - ``changeset.backout`` for :hg:`backout`
396 - ``changeset.backout`` for :hg:`backout`
397 - ``changeset.commit.amend.merge`` for :hg:`commit --amend` on merges
397 - ``changeset.commit.amend.merge`` for :hg:`commit --amend` on merges
398 - ``changeset.commit.amend.normal`` for :hg:`commit --amend` on other
398 - ``changeset.commit.amend.normal`` for :hg:`commit --amend` on other
399 - ``changeset.commit.normal.merge`` for :hg:`commit` on merges
399 - ``changeset.commit.normal.merge`` for :hg:`commit` on merges
400 - ``changeset.commit.normal.normal`` for :hg:`commit` on other
400 - ``changeset.commit.normal.normal`` for :hg:`commit` on other
401 - ``changeset.fetch`` for :hg:`fetch` (impling merge commit)
401 - ``changeset.fetch`` for :hg:`fetch` (impling merge commit)
402 - ``changeset.gpg.sign`` for :hg:`sign`
402 - ``changeset.gpg.sign`` for :hg:`sign`
403 - ``changeset.graft`` for :hg:`graft`
403 - ``changeset.graft`` for :hg:`graft`
404 - ``changeset.histedit.edit`` for ``edit`` of :hg:`histedit`
404 - ``changeset.histedit.edit`` for ``edit`` of :hg:`histedit`
405 - ``changeset.histedit.fold`` for ``fold`` of :hg:`histedit`
405 - ``changeset.histedit.fold`` for ``fold`` of :hg:`histedit`
406 - ``changeset.histedit.mess`` for ``mess`` of :hg:`histedit`
406 - ``changeset.histedit.mess`` for ``mess`` of :hg:`histedit`
407 - ``changeset.histedit.pick`` for ``pick`` of :hg:`histedit`
407 - ``changeset.histedit.pick`` for ``pick`` of :hg:`histedit`
408 - ``changeset.import.bypass`` for :hg:`import --bypass`
408 - ``changeset.import.bypass`` for :hg:`import --bypass`
409 - ``changeset.import.normal.merge`` for :hg:`import` on merges
409 - ``changeset.import.normal.merge`` for :hg:`import` on merges
410 - ``changeset.import.normal.normal`` for :hg:`import` on other
410 - ``changeset.import.normal.normal`` for :hg:`import` on other
411 - ``changeset.mq.qnew`` for :hg:`qnew`
411 - ``changeset.mq.qnew`` for :hg:`qnew`
412 - ``changeset.mq.qfold`` for :hg:`qfold`
412 - ``changeset.mq.qfold`` for :hg:`qfold`
413 - ``changeset.mq.qrefresh`` for :hg:`qrefresh`
413 - ``changeset.mq.qrefresh`` for :hg:`qrefresh`
414 - ``changeset.rebase.collapse`` for :hg:`rebase --collapse`
414 - ``changeset.rebase.collapse`` for :hg:`rebase --collapse`
415 - ``changeset.rebase.merge`` for :hg:`rebase` on merges
415 - ``changeset.rebase.merge`` for :hg:`rebase` on merges
416 - ``changeset.rebase.normal`` for :hg:`rebase` on other
416 - ``changeset.rebase.normal`` for :hg:`rebase` on other
417 - ``changeset.shelve.shelve`` for :hg:`shelve`
417 - ``changeset.shelve.shelve`` for :hg:`shelve`
418 - ``changeset.tag.add`` for :hg:`tag` without ``--remove``
418 - ``changeset.tag.add`` for :hg:`tag` without ``--remove``
419 - ``changeset.tag.remove`` for :hg:`tag --remove`
419 - ``changeset.tag.remove`` for :hg:`tag --remove`
420 - ``changeset.transplant.merge`` for :hg:`transplant` on merges
420 - ``changeset.transplant.merge`` for :hg:`transplant` on merges
421 - ``changeset.transplant.normal`` for :hg:`transplant` on other
421 - ``changeset.transplant.normal`` for :hg:`transplant` on other
422
422
423 These dot-separated lists of names are treated as hierarchical ones.
423 These dot-separated lists of names are treated as hierarchical ones.
424 For example, ``changeset.tag.remove`` customizes the commit message
424 For example, ``changeset.tag.remove`` customizes the commit message
425 only for :hg:`tag --remove`, but ``changeset.tag`` customizes the
425 only for :hg:`tag --remove`, but ``changeset.tag`` customizes the
426 commit message for :hg:`tag` regardless of ``--remove`` option.
426 commit message for :hg:`tag` regardless of ``--remove`` option.
427
427
428 At the external editor invocation for committing, corresponding
428 At the external editor invocation for committing, corresponding
429 dot-separated list of names without ``changeset.`` prefix
429 dot-separated list of names without ``changeset.`` prefix
430 (e.g. ``commit.normal.normal``) is in ``HGEDITFORM`` environment variable.
430 (e.g. ``commit.normal.normal``) is in ``HGEDITFORM`` environment variable.
431
431
432 In this section, items other than ``changeset`` can be referred from
432 In this section, items other than ``changeset`` can be referred from
433 others. For example, the configuration to list committed files up
433 others. For example, the configuration to list committed files up
434 below can be referred as ``{listupfiles}``::
434 below can be referred as ``{listupfiles}``::
435
435
436 [committemplate]
436 [committemplate]
437 listupfiles = {file_adds %
437 listupfiles = {file_adds %
438 "HG: added {file}\n" }{file_mods %
438 "HG: added {file}\n" }{file_mods %
439 "HG: changed {file}\n" }{file_dels %
439 "HG: changed {file}\n" }{file_dels %
440 "HG: removed {file}\n" }{if(files, "",
440 "HG: removed {file}\n" }{if(files, "",
441 "HG: no files changed\n")}
441 "HG: no files changed\n")}
442
442
443 ``decode/encode``
443 ``decode/encode``
444 -----------------
444 -----------------
445
445
446 Filters for transforming files on checkout/checkin. This would
446 Filters for transforming files on checkout/checkin. This would
447 typically be used for newline processing or other
447 typically be used for newline processing or other
448 localization/canonicalization of files.
448 localization/canonicalization of files.
449
449
450 Filters consist of a filter pattern followed by a filter command.
450 Filters consist of a filter pattern followed by a filter command.
451 Filter patterns are globs by default, rooted at the repository root.
451 Filter patterns are globs by default, rooted at the repository root.
452 For example, to match any file ending in ``.txt`` in the root
452 For example, to match any file ending in ``.txt`` in the root
453 directory only, use the pattern ``*.txt``. To match any file ending
453 directory only, use the pattern ``*.txt``. To match any file ending
454 in ``.c`` anywhere in the repository, use the pattern ``**.c``.
454 in ``.c`` anywhere in the repository, use the pattern ``**.c``.
455 For each file only the first matching filter applies.
455 For each file only the first matching filter applies.
456
456
457 The filter command can start with a specifier, either ``pipe:`` or
457 The filter command can start with a specifier, either ``pipe:`` or
458 ``tempfile:``. If no specifier is given, ``pipe:`` is used by default.
458 ``tempfile:``. If no specifier is given, ``pipe:`` is used by default.
459
459
460 A ``pipe:`` command must accept data on stdin and return the transformed
460 A ``pipe:`` command must accept data on stdin and return the transformed
461 data on stdout.
461 data on stdout.
462
462
463 Pipe example::
463 Pipe example::
464
464
465 [encode]
465 [encode]
466 # uncompress gzip files on checkin to improve delta compression
466 # uncompress gzip files on checkin to improve delta compression
467 # note: not necessarily a good idea, just an example
467 # note: not necessarily a good idea, just an example
468 *.gz = pipe: gunzip
468 *.gz = pipe: gunzip
469
469
470 [decode]
470 [decode]
471 # recompress gzip files when writing them to the working dir (we
471 # recompress gzip files when writing them to the working dir (we
472 # can safely omit "pipe:", because it's the default)
472 # can safely omit "pipe:", because it's the default)
473 *.gz = gzip
473 *.gz = gzip
474
474
475 A ``tempfile:`` command is a template. The string ``INFILE`` is replaced
475 A ``tempfile:`` command is a template. The string ``INFILE`` is replaced
476 with the name of a temporary file that contains the data to be
476 with the name of a temporary file that contains the data to be
477 filtered by the command. The string ``OUTFILE`` is replaced with the name
477 filtered by the command. The string ``OUTFILE`` is replaced with the name
478 of an empty temporary file, where the filtered data must be written by
478 of an empty temporary file, where the filtered data must be written by
479 the command.
479 the command.
480
480
481 .. note::
481 .. note::
482
482
483 The tempfile mechanism is recommended for Windows systems,
483 The tempfile mechanism is recommended for Windows systems,
484 where the standard shell I/O redirection operators often have
484 where the standard shell I/O redirection operators often have
485 strange effects and may corrupt the contents of your files.
485 strange effects and may corrupt the contents of your files.
486
486
487 This filter mechanism is used internally by the ``eol`` extension to
487 This filter mechanism is used internally by the ``eol`` extension to
488 translate line ending characters between Windows (CRLF) and Unix (LF)
488 translate line ending characters between Windows (CRLF) and Unix (LF)
489 format. We suggest you use the ``eol`` extension for convenience.
489 format. We suggest you use the ``eol`` extension for convenience.
490
490
491
491
492 ``defaults``
492 ``defaults``
493 ------------
493 ------------
494
494
495 (defaults are deprecated. Don't use them. Use aliases instead)
495 (defaults are deprecated. Don't use them. Use aliases instead)
496
496
497 Use the ``[defaults]`` section to define command defaults, i.e. the
497 Use the ``[defaults]`` section to define command defaults, i.e. the
498 default options/arguments to pass to the specified commands.
498 default options/arguments to pass to the specified commands.
499
499
500 The following example makes :hg:`log` run in verbose mode, and
500 The following example makes :hg:`log` run in verbose mode, and
501 :hg:`status` show only the modified files, by default::
501 :hg:`status` show only the modified files, by default::
502
502
503 [defaults]
503 [defaults]
504 log = -v
504 log = -v
505 status = -m
505 status = -m
506
506
507 The actual commands, instead of their aliases, must be used when
507 The actual commands, instead of their aliases, must be used when
508 defining command defaults. The command defaults will also be applied
508 defining command defaults. The command defaults will also be applied
509 to the aliases of the commands defined.
509 to the aliases of the commands defined.
510
510
511
511
512 ``diff``
512 ``diff``
513 --------
513 --------
514
514
515 Settings used when displaying diffs. Everything except for ``unified``
515 Settings used when displaying diffs. Everything except for ``unified``
516 is a Boolean and defaults to False. See ``annotate`` section for
516 is a Boolean and defaults to False. See ``annotate`` section for
517 related options for the annotate command.
517 related options for the annotate command.
518
518
519 ``git``
519 ``git``
520 Use git extended diff format.
520 Use git extended diff format.
521
521
522 ``nodates``
522 ``nodates``
523 Don't include dates in diff headers.
523 Don't include dates in diff headers.
524
524
525 ``showfunc``
525 ``showfunc``
526 Show which function each change is in.
526 Show which function each change is in.
527
527
528 ``ignorews``
528 ``ignorews``
529 Ignore white space when comparing lines.
529 Ignore white space when comparing lines.
530
530
531 ``ignorewsamount``
531 ``ignorewsamount``
532 Ignore changes in the amount of white space.
532 Ignore changes in the amount of white space.
533
533
534 ``ignoreblanklines``
534 ``ignoreblanklines``
535 Ignore changes whose lines are all blank.
535 Ignore changes whose lines are all blank.
536
536
537 ``unified``
537 ``unified``
538 Number of lines of context to show.
538 Number of lines of context to show.
539
539
540 ``email``
540 ``email``
541 ---------
541 ---------
542
542
543 Settings for extensions that send email messages.
543 Settings for extensions that send email messages.
544
544
545 ``from``
545 ``from``
546 Optional. Email address to use in "From" header and SMTP envelope
546 Optional. Email address to use in "From" header and SMTP envelope
547 of outgoing messages.
547 of outgoing messages.
548
548
549 ``to``
549 ``to``
550 Optional. Comma-separated list of recipients' email addresses.
550 Optional. Comma-separated list of recipients' email addresses.
551
551
552 ``cc``
552 ``cc``
553 Optional. Comma-separated list of carbon copy recipients'
553 Optional. Comma-separated list of carbon copy recipients'
554 email addresses.
554 email addresses.
555
555
556 ``bcc``
556 ``bcc``
557 Optional. Comma-separated list of blind carbon copy recipients'
557 Optional. Comma-separated list of blind carbon copy recipients'
558 email addresses.
558 email addresses.
559
559
560 ``method``
560 ``method``
561 Optional. Method to use to send email messages. If value is ``smtp``
561 Optional. Method to use to send email messages. If value is ``smtp``
562 (default), use SMTP (see the ``[smtp]`` section for configuration).
562 (default), use SMTP (see the ``[smtp]`` section for configuration).
563 Otherwise, use as name of program to run that acts like sendmail
563 Otherwise, use as name of program to run that acts like sendmail
564 (takes ``-f`` option for sender, list of recipients on command line,
564 (takes ``-f`` option for sender, list of recipients on command line,
565 message on stdin). Normally, setting this to ``sendmail`` or
565 message on stdin). Normally, setting this to ``sendmail`` or
566 ``/usr/sbin/sendmail`` is enough to use sendmail to send messages.
566 ``/usr/sbin/sendmail`` is enough to use sendmail to send messages.
567
567
568 ``charsets``
568 ``charsets``
569 Optional. Comma-separated list of character sets considered
569 Optional. Comma-separated list of character sets considered
570 convenient for recipients. Addresses, headers, and parts not
570 convenient for recipients. Addresses, headers, and parts not
571 containing patches of outgoing messages will be encoded in the
571 containing patches of outgoing messages will be encoded in the
572 first character set to which conversion from local encoding
572 first character set to which conversion from local encoding
573 (``$HGENCODING``, ``ui.fallbackencoding``) succeeds. If correct
573 (``$HGENCODING``, ``ui.fallbackencoding``) succeeds. If correct
574 conversion fails, the text in question is sent as is. Defaults to
574 conversion fails, the text in question is sent as is. Defaults to
575 empty (explicit) list.
575 empty (explicit) list.
576
576
577 Order of outgoing email character sets:
577 Order of outgoing email character sets:
578
578
579 1. ``us-ascii``: always first, regardless of settings
579 1. ``us-ascii``: always first, regardless of settings
580 2. ``email.charsets``: in order given by user
580 2. ``email.charsets``: in order given by user
581 3. ``ui.fallbackencoding``: if not in email.charsets
581 3. ``ui.fallbackencoding``: if not in email.charsets
582 4. ``$HGENCODING``: if not in email.charsets
582 4. ``$HGENCODING``: if not in email.charsets
583 5. ``utf-8``: always last, regardless of settings
583 5. ``utf-8``: always last, regardless of settings
584
584
585 Email example::
585 Email example::
586
586
587 [email]
587 [email]
588 from = Joseph User <joe.user@example.com>
588 from = Joseph User <joe.user@example.com>
589 method = /usr/sbin/sendmail
589 method = /usr/sbin/sendmail
590 # charsets for western Europeans
590 # charsets for western Europeans
591 # us-ascii, utf-8 omitted, as they are tried first and last
591 # us-ascii, utf-8 omitted, as they are tried first and last
592 charsets = iso-8859-1, iso-8859-15, windows-1252
592 charsets = iso-8859-1, iso-8859-15, windows-1252
593
593
594
594
595 ``extensions``
595 ``extensions``
596 --------------
596 --------------
597
597
598 Mercurial has an extension mechanism for adding new features. To
598 Mercurial has an extension mechanism for adding new features. To
599 enable an extension, create an entry for it in this section.
599 enable an extension, create an entry for it in this section.
600
600
601 If you know that the extension is already in Python's search path,
601 If you know that the extension is already in Python's search path,
602 you can give the name of the module, followed by ``=``, with nothing
602 you can give the name of the module, followed by ``=``, with nothing
603 after the ``=``.
603 after the ``=``.
604
604
605 Otherwise, give a name that you choose, followed by ``=``, followed by
605 Otherwise, give a name that you choose, followed by ``=``, followed by
606 the path to the ``.py`` file (including the file name extension) that
606 the path to the ``.py`` file (including the file name extension) that
607 defines the extension.
607 defines the extension.
608
608
609 To explicitly disable an extension that is enabled in an hgrc of
609 To explicitly disable an extension that is enabled in an hgrc of
610 broader scope, prepend its path with ``!``, as in ``foo = !/ext/path``
610 broader scope, prepend its path with ``!``, as in ``foo = !/ext/path``
611 or ``foo = !`` when path is not supplied.
611 or ``foo = !`` when path is not supplied.
612
612
613 Example for ``~/.hgrc``::
613 Example for ``~/.hgrc``::
614
614
615 [extensions]
615 [extensions]
616 # (the progress extension will get loaded from Mercurial's path)
616 # (the progress extension will get loaded from Mercurial's path)
617 progress =
617 progress =
618 # (this extension will get loaded from the file specified)
618 # (this extension will get loaded from the file specified)
619 myfeature = ~/.hgext/myfeature.py
619 myfeature = ~/.hgext/myfeature.py
620
620
621
621
622 ``format``
622 ``format``
623 ----------
623 ----------
624
624
625 ``usestore``
625 ``usestore``
626 Enable or disable the "store" repository format which improves
626 Enable or disable the "store" repository format which improves
627 compatibility with systems that fold case or otherwise mangle
627 compatibility with systems that fold case or otherwise mangle
628 filenames. Enabled by default. Disabling this option will allow
628 filenames. Enabled by default. Disabling this option will allow
629 you to store longer filenames in some situations at the expense of
629 you to store longer filenames in some situations at the expense of
630 compatibility and ensures that the on-disk format of newly created
630 compatibility and ensures that the on-disk format of newly created
631 repositories will be compatible with Mercurial before version 0.9.4.
631 repositories will be compatible with Mercurial before version 0.9.4.
632
632
633 ``usefncache``
633 ``usefncache``
634 Enable or disable the "fncache" repository format which enhances
634 Enable or disable the "fncache" repository format which enhances
635 the "store" repository format (which has to be enabled to use
635 the "store" repository format (which has to be enabled to use
636 fncache) to allow longer filenames and avoids using Windows
636 fncache) to allow longer filenames and avoids using Windows
637 reserved names, e.g. "nul". Enabled by default. Disabling this
637 reserved names, e.g. "nul". Enabled by default. Disabling this
638 option ensures that the on-disk format of newly created
638 option ensures that the on-disk format of newly created
639 repositories will be compatible with Mercurial before version 1.1.
639 repositories will be compatible with Mercurial before version 1.1.
640
640
641 ``dotencode``
641 ``dotencode``
642 Enable or disable the "dotencode" repository format which enhances
642 Enable or disable the "dotencode" repository format which enhances
643 the "fncache" repository format (which has to be enabled to use
643 the "fncache" repository format (which has to be enabled to use
644 dotencode) to avoid issues with filenames starting with ._ on
644 dotencode) to avoid issues with filenames starting with ._ on
645 Mac OS X and spaces on Windows. Enabled by default. Disabling this
645 Mac OS X and spaces on Windows. Enabled by default. Disabling this
646 option ensures that the on-disk format of newly created
646 option ensures that the on-disk format of newly created
647 repositories will be compatible with Mercurial before version 1.7.
647 repositories will be compatible with Mercurial before version 1.7.
648
648
649 ``graph``
649 ``graph``
650 ---------
650 ---------
651
651
652 Web graph view configuration. This section let you change graph
652 Web graph view configuration. This section let you change graph
653 elements display properties by branches, for instance to make the
653 elements display properties by branches, for instance to make the
654 ``default`` branch stand out.
654 ``default`` branch stand out.
655
655
656 Each line has the following format::
656 Each line has the following format::
657
657
658 <branch>.<argument> = <value>
658 <branch>.<argument> = <value>
659
659
660 where ``<branch>`` is the name of the branch being
660 where ``<branch>`` is the name of the branch being
661 customized. Example::
661 customized. Example::
662
662
663 [graph]
663 [graph]
664 # 2px width
664 # 2px width
665 default.width = 2
665 default.width = 2
666 # red color
666 # red color
667 default.color = FF0000
667 default.color = FF0000
668
668
669 Supported arguments:
669 Supported arguments:
670
670
671 ``width``
671 ``width``
672 Set branch edges width in pixels.
672 Set branch edges width in pixels.
673
673
674 ``color``
674 ``color``
675 Set branch edges color in hexadecimal RGB notation.
675 Set branch edges color in hexadecimal RGB notation.
676
676
677 ``hooks``
677 ``hooks``
678 ---------
678 ---------
679
679
680 Commands or Python functions that get automatically executed by
680 Commands or Python functions that get automatically executed by
681 various actions such as starting or finishing a commit. Multiple
681 various actions such as starting or finishing a commit. Multiple
682 hooks can be run for the same action by appending a suffix to the
682 hooks can be run for the same action by appending a suffix to the
683 action. Overriding a site-wide hook can be done by changing its
683 action. Overriding a site-wide hook can be done by changing its
684 value or setting it to an empty string. Hooks can be prioritized
684 value or setting it to an empty string. Hooks can be prioritized
685 by adding a prefix of ``priority`` to the hook name on a new line
685 by adding a prefix of ``priority`` to the hook name on a new line
686 and setting the priority. The default priority is 0 if
686 and setting the priority. The default priority is 0 if
687 not specified.
687 not specified.
688
688
689 Example ``.hg/hgrc``::
689 Example ``.hg/hgrc``::
690
690
691 [hooks]
691 [hooks]
692 # update working directory after adding changesets
692 # update working directory after adding changesets
693 changegroup.update = hg update
693 changegroup.update = hg update
694 # do not use the site-wide hook
694 # do not use the site-wide hook
695 incoming =
695 incoming =
696 incoming.email = /my/email/hook
696 incoming.email = /my/email/hook
697 incoming.autobuild = /my/build/hook
697 incoming.autobuild = /my/build/hook
698 # force autobuild hook to run before other incoming hooks
698 # force autobuild hook to run before other incoming hooks
699 priority.incoming.autobuild = 1
699 priority.incoming.autobuild = 1
700
700
701 Most hooks are run with environment variables set that give useful
701 Most hooks are run with environment variables set that give useful
702 additional information. For each hook below, the environment
702 additional information. For each hook below, the environment
703 variables it is passed are listed with names of the form ``$HG_foo``.
703 variables it is passed are listed with names of the form ``$HG_foo``.
704
704
705 ``changegroup``
705 ``changegroup``
706 Run after a changegroup has been added via push, pull or unbundle.
706 Run after a changegroup has been added via push, pull or unbundle.
707 ID of the first new changeset is in ``$HG_NODE``. URL from which
707 ID of the first new changeset is in ``$HG_NODE``. URL from which
708 changes came is in ``$HG_URL``.
708 changes came is in ``$HG_URL``.
709
709
710 ``commit``
710 ``commit``
711 Run after a changeset has been created in the local repository. ID
711 Run after a changeset has been created in the local repository. ID
712 of the newly created changeset is in ``$HG_NODE``. Parent changeset
712 of the newly created changeset is in ``$HG_NODE``. Parent changeset
713 IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
713 IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
714
714
715 ``incoming``
715 ``incoming``
716 Run after a changeset has been pulled, pushed, or unbundled into
716 Run after a changeset has been pulled, pushed, or unbundled into
717 the local repository. The ID of the newly arrived changeset is in
717 the local repository. The ID of the newly arrived changeset is in
718 ``$HG_NODE``. URL that was source of changes came is in ``$HG_URL``.
718 ``$HG_NODE``. URL that was source of changes came is in ``$HG_URL``.
719
719
720 ``outgoing``
720 ``outgoing``
721 Run after sending changes from local repository to another. ID of
721 Run after sending changes from local repository to another. ID of
722 first changeset sent is in ``$HG_NODE``. Source of operation is in
722 first changeset sent is in ``$HG_NODE``. Source of operation is in
723 ``$HG_SOURCE``; see "preoutgoing" hook for description.
723 ``$HG_SOURCE``; see "preoutgoing" hook for description.
724
724
725 ``post-<command>``
725 ``post-<command>``
726 Run after successful invocations of the associated command. The
726 Run after successful invocations of the associated command. The
727 contents of the command line are passed as ``$HG_ARGS`` and the result
727 contents of the command line are passed as ``$HG_ARGS`` and the result
728 code in ``$HG_RESULT``. Parsed command line arguments are passed as
728 code in ``$HG_RESULT``. Parsed command line arguments are passed as
729 ``$HG_PATS`` and ``$HG_OPTS``. These contain string representations of
729 ``$HG_PATS`` and ``$HG_OPTS``. These contain string representations of
730 the python data internally passed to <command>. ``$HG_OPTS`` is a
730 the python data internally passed to <command>. ``$HG_OPTS`` is a
731 dictionary of options (with unspecified options set to their defaults).
731 dictionary of options (with unspecified options set to their defaults).
732 ``$HG_PATS`` is a list of arguments. Hook failure is ignored.
732 ``$HG_PATS`` is a list of arguments. Hook failure is ignored.
733
733
734 ``pre-<command>``
734 ``pre-<command>``
735 Run before executing the associated command. The contents of the
735 Run before executing the associated command. The contents of the
736 command line are passed as ``$HG_ARGS``. Parsed command line arguments
736 command line are passed as ``$HG_ARGS``. Parsed command line arguments
737 are passed as ``$HG_PATS`` and ``$HG_OPTS``. These contain string
737 are passed as ``$HG_PATS`` and ``$HG_OPTS``. These contain string
738 representations of the data internally passed to <command>. ``$HG_OPTS``
738 representations of the data internally passed to <command>. ``$HG_OPTS``
739 is a dictionary of options (with unspecified options set to their
739 is a dictionary of options (with unspecified options set to their
740 defaults). ``$HG_PATS`` is a list of arguments. If the hook returns
740 defaults). ``$HG_PATS`` is a list of arguments. If the hook returns
741 failure, the command doesn't execute and Mercurial returns the failure
741 failure, the command doesn't execute and Mercurial returns the failure
742 code.
742 code.
743
743
744 ``prechangegroup``
744 ``prechangegroup``
745 Run before a changegroup is added via push, pull or unbundle. Exit
745 Run before a changegroup is added via push, pull or unbundle. Exit
746 status 0 allows the changegroup to proceed. Non-zero status will
746 status 0 allows the changegroup to proceed. Non-zero status will
747 cause the push, pull or unbundle to fail. URL from which changes
747 cause the push, pull or unbundle to fail. URL from which changes
748 will come is in ``$HG_URL``.
748 will come is in ``$HG_URL``.
749
749
750 ``precommit``
750 ``precommit``
751 Run before starting a local commit. Exit status 0 allows the
751 Run before starting a local commit. Exit status 0 allows the
752 commit to proceed. Non-zero status will cause the commit to fail.
752 commit to proceed. Non-zero status will cause the commit to fail.
753 Parent changeset IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
753 Parent changeset IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
754
754
755 ``prelistkeys``
755 ``prelistkeys``
756 Run before listing pushkeys (like bookmarks) in the
756 Run before listing pushkeys (like bookmarks) in the
757 repository. Non-zero status will cause failure. The key namespace is
757 repository. Non-zero status will cause failure. The key namespace is
758 in ``$HG_NAMESPACE``.
758 in ``$HG_NAMESPACE``.
759
759
760 ``preoutgoing``
760 ``preoutgoing``
761 Run before collecting changes to send from the local repository to
761 Run before collecting changes to send from the local repository to
762 another. Non-zero status will cause failure. This lets you prevent
762 another. Non-zero status will cause failure. This lets you prevent
763 pull over HTTP or SSH. Also prevents against local pull, push
763 pull over HTTP or SSH. Also prevents against local pull, push
764 (outbound) or bundle commands, but not effective, since you can
764 (outbound) or bundle commands, but not effective, since you can
765 just copy files instead then. Source of operation is in
765 just copy files instead then. Source of operation is in
766 ``$HG_SOURCE``. If "serve", operation is happening on behalf of remote
766 ``$HG_SOURCE``. If "serve", operation is happening on behalf of remote
767 SSH or HTTP repository. If "push", "pull" or "bundle", operation
767 SSH or HTTP repository. If "push", "pull" or "bundle", operation
768 is happening on behalf of repository on same system.
768 is happening on behalf of repository on same system.
769
769
770 ``prepushkey``
770 ``prepushkey``
771 Run before a pushkey (like a bookmark) is added to the
771 Run before a pushkey (like a bookmark) is added to the
772 repository. Non-zero status will cause the key to be rejected. The
772 repository. Non-zero status will cause the key to be rejected. The
773 key namespace is in ``$HG_NAMESPACE``, the key is in ``$HG_KEY``,
773 key namespace is in ``$HG_NAMESPACE``, the key is in ``$HG_KEY``,
774 the old value (if any) is in ``$HG_OLD``, and the new value is in
774 the old value (if any) is in ``$HG_OLD``, and the new value is in
775 ``$HG_NEW``.
775 ``$HG_NEW``.
776
776
777 ``pretag``
777 ``pretag``
778 Run before creating a tag. Exit status 0 allows the tag to be
778 Run before creating a tag. Exit status 0 allows the tag to be
779 created. Non-zero status will cause the tag to fail. ID of
779 created. Non-zero status will cause the tag to fail. ID of
780 changeset to tag is in ``$HG_NODE``. Name of tag is in ``$HG_TAG``. Tag is
780 changeset to tag is in ``$HG_NODE``. Name of tag is in ``$HG_TAG``. Tag is
781 local if ``$HG_LOCAL=1``, in repository if ``$HG_LOCAL=0``.
781 local if ``$HG_LOCAL=1``, in repository if ``$HG_LOCAL=0``.
782
782
783 ``pretxnchangegroup``
783 ``pretxnchangegroup``
784 Run after a changegroup has been added via push, pull or unbundle,
784 Run after a changegroup has been added via push, pull or unbundle,
785 but before the transaction has been committed. Changegroup is
785 but before the transaction has been committed. Changegroup is
786 visible to hook program. This lets you validate incoming changes
786 visible to hook program. This lets you validate incoming changes
787 before accepting them. Passed the ID of the first new changeset in
787 before accepting them. Passed the ID of the first new changeset in
788 ``$HG_NODE``. Exit status 0 allows the transaction to commit. Non-zero
788 ``$HG_NODE``. Exit status 0 allows the transaction to commit. Non-zero
789 status will cause the transaction to be rolled back and the push,
789 status will cause the transaction to be rolled back and the push,
790 pull or unbundle will fail. URL that was source of changes is in
790 pull or unbundle will fail. URL that was source of changes is in
791 ``$HG_URL``.
791 ``$HG_URL``.
792
792
793 ``pretxncommit``
793 ``pretxncommit``
794 Run after a changeset has been created but the transaction not yet
794 Run after a changeset has been created but the transaction not yet
795 committed. Changeset is visible to hook program. This lets you
795 committed. Changeset is visible to hook program. This lets you
796 validate commit message and changes. Exit status 0 allows the
796 validate commit message and changes. Exit status 0 allows the
797 commit to proceed. Non-zero status will cause the transaction to
797 commit to proceed. Non-zero status will cause the transaction to
798 be rolled back. ID of changeset is in ``$HG_NODE``. Parent changeset
798 be rolled back. ID of changeset is in ``$HG_NODE``. Parent changeset
799 IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
799 IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
800
800
801 ``preupdate``
801 ``preupdate``
802 Run before updating the working directory. Exit status 0 allows
802 Run before updating the working directory. Exit status 0 allows
803 the update to proceed. Non-zero status will prevent the update.
803 the update to proceed. Non-zero status will prevent the update.
804 Changeset ID of first new parent is in ``$HG_PARENT1``. If merge, ID
804 Changeset ID of first new parent is in ``$HG_PARENT1``. If merge, ID
805 of second new parent is in ``$HG_PARENT2``.
805 of second new parent is in ``$HG_PARENT2``.
806
806
807 ``listkeys``
807 ``listkeys``
808 Run after listing pushkeys (like bookmarks) in the repository. The
808 Run after listing pushkeys (like bookmarks) in the repository. The
809 key namespace is in ``$HG_NAMESPACE``. ``$HG_VALUES`` is a
809 key namespace is in ``$HG_NAMESPACE``. ``$HG_VALUES`` is a
810 dictionary containing the keys and values.
810 dictionary containing the keys and values.
811
811
812 ``pushkey``
812 ``pushkey``
813 Run after a pushkey (like a bookmark) is added to the
813 Run after a pushkey (like a bookmark) is added to the
814 repository. The key namespace is in ``$HG_NAMESPACE``, the key is in
814 repository. The key namespace is in ``$HG_NAMESPACE``, the key is in
815 ``$HG_KEY``, the old value (if any) is in ``$HG_OLD``, and the new
815 ``$HG_KEY``, the old value (if any) is in ``$HG_OLD``, and the new
816 value is in ``$HG_NEW``.
816 value is in ``$HG_NEW``.
817
817
818 ``tag``
818 ``tag``
819 Run after a tag is created. ID of tagged changeset is in ``$HG_NODE``.
819 Run after a tag is created. ID of tagged changeset is in ``$HG_NODE``.
820 Name of tag is in ``$HG_TAG``. Tag is local if ``$HG_LOCAL=1``, in
820 Name of tag is in ``$HG_TAG``. Tag is local if ``$HG_LOCAL=1``, in
821 repository if ``$HG_LOCAL=0``.
821 repository if ``$HG_LOCAL=0``.
822
822
823 ``update``
823 ``update``
824 Run after updating the working directory. Changeset ID of first
824 Run after updating the working directory. Changeset ID of first
825 new parent is in ``$HG_PARENT1``. If merge, ID of second new parent is
825 new parent is in ``$HG_PARENT1``. If merge, ID of second new parent is
826 in ``$HG_PARENT2``. If the update succeeded, ``$HG_ERROR=0``. If the
826 in ``$HG_PARENT2``. If the update succeeded, ``$HG_ERROR=0``. If the
827 update failed (e.g. because conflicts not resolved), ``$HG_ERROR=1``.
827 update failed (e.g. because conflicts not resolved), ``$HG_ERROR=1``.
828
828
829 .. note::
829 .. note::
830
830
831 It is generally better to use standard hooks rather than the
831 It is generally better to use standard hooks rather than the
832 generic pre- and post- command hooks as they are guaranteed to be
832 generic pre- and post- command hooks as they are guaranteed to be
833 called in the appropriate contexts for influencing transactions.
833 called in the appropriate contexts for influencing transactions.
834 Also, hooks like "commit" will be called in all contexts that
834 Also, hooks like "commit" will be called in all contexts that
835 generate a commit (e.g. tag) and not just the commit command.
835 generate a commit (e.g. tag) and not just the commit command.
836
836
837 .. note::
837 .. note::
838
838
839 Environment variables with empty values may not be passed to
839 Environment variables with empty values may not be passed to
840 hooks on platforms such as Windows. As an example, ``$HG_PARENT2``
840 hooks on platforms such as Windows. As an example, ``$HG_PARENT2``
841 will have an empty value under Unix-like platforms for non-merge
841 will have an empty value under Unix-like platforms for non-merge
842 changesets, while it will not be available at all under Windows.
842 changesets, while it will not be available at all under Windows.
843
843
844 The syntax for Python hooks is as follows::
844 The syntax for Python hooks is as follows::
845
845
846 hookname = python:modulename.submodule.callable
846 hookname = python:modulename.submodule.callable
847 hookname = python:/path/to/python/module.py:callable
847 hookname = python:/path/to/python/module.py:callable
848
848
849 Python hooks are run within the Mercurial process. Each hook is
849 Python hooks are run within the Mercurial process. Each hook is
850 called with at least three keyword arguments: a ui object (keyword
850 called with at least three keyword arguments: a ui object (keyword
851 ``ui``), a repository object (keyword ``repo``), and a ``hooktype``
851 ``ui``), a repository object (keyword ``repo``), and a ``hooktype``
852 keyword that tells what kind of hook is used. Arguments listed as
852 keyword that tells what kind of hook is used. Arguments listed as
853 environment variables above are passed as keyword arguments, with no
853 environment variables above are passed as keyword arguments, with no
854 ``HG_`` prefix, and names in lower case.
854 ``HG_`` prefix, and names in lower case.
855
855
856 If a Python hook returns a "true" value or raises an exception, this
856 If a Python hook returns a "true" value or raises an exception, this
857 is treated as a failure.
857 is treated as a failure.
858
858
859
859
860 ``hostfingerprints``
860 ``hostfingerprints``
861 --------------------
861 --------------------
862
862
863 Fingerprints of the certificates of known HTTPS servers.
863 Fingerprints of the certificates of known HTTPS servers.
864 A HTTPS connection to a server with a fingerprint configured here will
864 A HTTPS connection to a server with a fingerprint configured here will
865 only succeed if the servers certificate matches the fingerprint.
865 only succeed if the servers certificate matches the fingerprint.
866 This is very similar to how ssh known hosts works.
866 This is very similar to how ssh known hosts works.
867 The fingerprint is the SHA-1 hash value of the DER encoded certificate.
867 The fingerprint is the SHA-1 hash value of the DER encoded certificate.
868 The CA chain and web.cacerts is not used for servers with a fingerprint.
868 The CA chain and web.cacerts is not used for servers with a fingerprint.
869
869
870 For example::
870 For example::
871
871
872 [hostfingerprints]
872 [hostfingerprints]
873 hg.intevation.org = fa:1f:d9:48:f1:e7:74:30:38:8d:d8:58:b6:94:b8:58:28:7d:8b:d0
873 hg.intevation.org = fa:1f:d9:48:f1:e7:74:30:38:8d:d8:58:b6:94:b8:58:28:7d:8b:d0
874
874
875 This feature is only supported when using Python 2.6 or later.
875 This feature is only supported when using Python 2.6 or later.
876
876
877
877
878 ``http_proxy``
878 ``http_proxy``
879 --------------
879 --------------
880
880
881 Used to access web-based Mercurial repositories through a HTTP
881 Used to access web-based Mercurial repositories through a HTTP
882 proxy.
882 proxy.
883
883
884 ``host``
884 ``host``
885 Host name and (optional) port of the proxy server, for example
885 Host name and (optional) port of the proxy server, for example
886 "myproxy:8000".
886 "myproxy:8000".
887
887
888 ``no``
888 ``no``
889 Optional. Comma-separated list of host names that should bypass
889 Optional. Comma-separated list of host names that should bypass
890 the proxy.
890 the proxy.
891
891
892 ``passwd``
892 ``passwd``
893 Optional. Password to authenticate with at the proxy server.
893 Optional. Password to authenticate with at the proxy server.
894
894
895 ``user``
895 ``user``
896 Optional. User name to authenticate with at the proxy server.
896 Optional. User name to authenticate with at the proxy server.
897
897
898 ``always``
898 ``always``
899 Optional. Always use the proxy, even for localhost and any entries
899 Optional. Always use the proxy, even for localhost and any entries
900 in ``http_proxy.no``. True or False. Default: False.
900 in ``http_proxy.no``. True or False. Default: False.
901
901
902 ``merge-patterns``
902 ``merge-patterns``
903 ------------------
903 ------------------
904
904
905 This section specifies merge tools to associate with particular file
905 This section specifies merge tools to associate with particular file
906 patterns. Tools matched here will take precedence over the default
906 patterns. Tools matched here will take precedence over the default
907 merge tool. Patterns are globs by default, rooted at the repository
907 merge tool. Patterns are globs by default, rooted at the repository
908 root.
908 root.
909
909
910 Example::
910 Example::
911
911
912 [merge-patterns]
912 [merge-patterns]
913 **.c = kdiff3
913 **.c = kdiff3
914 **.jpg = myimgmerge
914 **.jpg = myimgmerge
915
915
916 ``merge-tools``
916 ``merge-tools``
917 ---------------
917 ---------------
918
918
919 This section configures external merge tools to use for file-level
919 This section configures external merge tools to use for file-level
920 merges. This section has likely been preconfigured at install time.
920 merges. This section has likely been preconfigured at install time.
921 Use :hg:`config merge-tools` to check the existing configuration.
921 Use :hg:`config merge-tools` to check the existing configuration.
922 Also see :hg:`help merge-tools` for more details.
922 Also see :hg:`help merge-tools` for more details.
923
923
924 Example ``~/.hgrc``::
924 Example ``~/.hgrc``::
925
925
926 [merge-tools]
926 [merge-tools]
927 # Override stock tool location
927 # Override stock tool location
928 kdiff3.executable = ~/bin/kdiff3
928 kdiff3.executable = ~/bin/kdiff3
929 # Specify command line
929 # Specify command line
930 kdiff3.args = $base $local $other -o $output
930 kdiff3.args = $base $local $other -o $output
931 # Give higher priority
931 # Give higher priority
932 kdiff3.priority = 1
932 kdiff3.priority = 1
933
933
934 # Changing the priority of preconfigured tool
934 # Changing the priority of preconfigured tool
935 vimdiff.priority = 0
935 vimdiff.priority = 0
936
936
937 # Define new tool
937 # Define new tool
938 myHtmlTool.args = -m $local $other $base $output
938 myHtmlTool.args = -m $local $other $base $output
939 myHtmlTool.regkey = Software\FooSoftware\HtmlMerge
939 myHtmlTool.regkey = Software\FooSoftware\HtmlMerge
940 myHtmlTool.priority = 1
940 myHtmlTool.priority = 1
941
941
942 Supported arguments:
942 Supported arguments:
943
943
944 ``priority``
944 ``priority``
945 The priority in which to evaluate this tool.
945 The priority in which to evaluate this tool.
946 Default: 0.
946 Default: 0.
947
947
948 ``executable``
948 ``executable``
949 Either just the name of the executable or its pathname. On Windows,
949 Either just the name of the executable or its pathname. On Windows,
950 the path can use environment variables with ${ProgramFiles} syntax.
950 the path can use environment variables with ${ProgramFiles} syntax.
951 Default: the tool name.
951 Default: the tool name.
952
952
953 ``args``
953 ``args``
954 The arguments to pass to the tool executable. You can refer to the
954 The arguments to pass to the tool executable. You can refer to the
955 files being merged as well as the output file through these
955 files being merged as well as the output file through these
956 variables: ``$base``, ``$local``, ``$other``, ``$output``. The meaning
956 variables: ``$base``, ``$local``, ``$other``, ``$output``. The meaning
957 of ``$local`` and ``$other`` can vary depending on which action is being
957 of ``$local`` and ``$other`` can vary depending on which action is being
958 performed. During and update or merge, ``$local`` represents the original
958 performed. During and update or merge, ``$local`` represents the original
959 state of the file, while ``$other`` represents the commit you are updating
959 state of the file, while ``$other`` represents the commit you are updating
960 to or the commit you are merging with. During a rebase ``$local``
960 to or the commit you are merging with. During a rebase ``$local``
961 represents the destination of the rebase, and ``$other`` represents the
961 represents the destination of the rebase, and ``$other`` represents the
962 commit being rebased.
962 commit being rebased.
963 Default: ``$local $base $other``
963 Default: ``$local $base $other``
964
964
965 ``premerge``
965 ``premerge``
966 Attempt to run internal non-interactive 3-way merge tool before
966 Attempt to run internal non-interactive 3-way merge tool before
967 launching external tool. Options are ``true``, ``false``, ``keep`` or
967 launching external tool. Options are ``true``, ``false``, ``keep`` or
968 ``keep-merge3``. The ``keep`` option will leave markers in the file if the
968 ``keep-merge3``. The ``keep`` option will leave markers in the file if the
969 premerge fails. The ``keep-merge3`` will do the same but include information
969 premerge fails. The ``keep-merge3`` will do the same but include information
970 about the base of the merge in the marker (see internal:merge3).
970 about the base of the merge in the marker (see internal:merge3).
971 Default: True
971 Default: True
972
972
973 ``binary``
973 ``binary``
974 This tool can merge binary files. Defaults to False, unless tool
974 This tool can merge binary files. Defaults to False, unless tool
975 was selected by file pattern match.
975 was selected by file pattern match.
976
976
977 ``symlink``
977 ``symlink``
978 This tool can merge symlinks. Defaults to False, even if tool was
978 This tool can merge symlinks. Defaults to False, even if tool was
979 selected by file pattern match.
979 selected by file pattern match.
980
980
981 ``check``
981 ``check``
982 A list of merge success-checking options:
982 A list of merge success-checking options:
983
983
984 ``changed``
984 ``changed``
985 Ask whether merge was successful when the merged file shows no changes.
985 Ask whether merge was successful when the merged file shows no changes.
986 ``conflicts``
986 ``conflicts``
987 Check whether there are conflicts even though the tool reported success.
987 Check whether there are conflicts even though the tool reported success.
988 ``prompt``
988 ``prompt``
989 Always prompt for merge success, regardless of success reported by tool.
989 Always prompt for merge success, regardless of success reported by tool.
990
990
991 ``fixeol``
991 ``fixeol``
992 Attempt to fix up EOL changes caused by the merge tool.
992 Attempt to fix up EOL changes caused by the merge tool.
993 Default: False
993 Default: False
994
994
995 ``gui``
995 ``gui``
996 This tool requires a graphical interface to run. Default: False
996 This tool requires a graphical interface to run. Default: False
997
997
998 ``regkey``
998 ``regkey``
999 Windows registry key which describes install location of this
999 Windows registry key which describes install location of this
1000 tool. Mercurial will search for this key first under
1000 tool. Mercurial will search for this key first under
1001 ``HKEY_CURRENT_USER`` and then under ``HKEY_LOCAL_MACHINE``.
1001 ``HKEY_CURRENT_USER`` and then under ``HKEY_LOCAL_MACHINE``.
1002 Default: None
1002 Default: None
1003
1003
1004 ``regkeyalt``
1004 ``regkeyalt``
1005 An alternate Windows registry key to try if the first key is not
1005 An alternate Windows registry key to try if the first key is not
1006 found. The alternate key uses the same ``regname`` and ``regappend``
1006 found. The alternate key uses the same ``regname`` and ``regappend``
1007 semantics of the primary key. The most common use for this key
1007 semantics of the primary key. The most common use for this key
1008 is to search for 32bit applications on 64bit operating systems.
1008 is to search for 32bit applications on 64bit operating systems.
1009 Default: None
1009 Default: None
1010
1010
1011 ``regname``
1011 ``regname``
1012 Name of value to read from specified registry key. Defaults to the
1012 Name of value to read from specified registry key. Defaults to the
1013 unnamed (default) value.
1013 unnamed (default) value.
1014
1014
1015 ``regappend``
1015 ``regappend``
1016 String to append to the value read from the registry, typically
1016 String to append to the value read from the registry, typically
1017 the executable name of the tool.
1017 the executable name of the tool.
1018 Default: None
1018 Default: None
1019
1019
1020
1020
1021 ``patch``
1021 ``patch``
1022 ---------
1022 ---------
1023
1023
1024 Settings used when applying patches, for instance through the 'import'
1024 Settings used when applying patches, for instance through the 'import'
1025 command or with Mercurial Queues extension.
1025 command or with Mercurial Queues extension.
1026
1026
1027 ``eol``
1027 ``eol``
1028 When set to 'strict' patch content and patched files end of lines
1028 When set to 'strict' patch content and patched files end of lines
1029 are preserved. When set to ``lf`` or ``crlf``, both files end of
1029 are preserved. When set to ``lf`` or ``crlf``, both files end of
1030 lines are ignored when patching and the result line endings are
1030 lines are ignored when patching and the result line endings are
1031 normalized to either LF (Unix) or CRLF (Windows). When set to
1031 normalized to either LF (Unix) or CRLF (Windows). When set to
1032 ``auto``, end of lines are again ignored while patching but line
1032 ``auto``, end of lines are again ignored while patching but line
1033 endings in patched files are normalized to their original setting
1033 endings in patched files are normalized to their original setting
1034 on a per-file basis. If target file does not exist or has no end
1034 on a per-file basis. If target file does not exist or has no end
1035 of line, patch line endings are preserved.
1035 of line, patch line endings are preserved.
1036 Default: strict.
1036 Default: strict.
1037
1037
1038
1038
1039 ``paths``
1039 ``paths``
1040 ---------
1040 ---------
1041
1041
1042 Assigns symbolic names to repositories. The left side is the
1042 Assigns symbolic names to repositories. The left side is the
1043 symbolic name, and the right gives the directory or URL that is the
1043 symbolic name, and the right gives the directory or URL that is the
1044 location of the repository. Default paths can be declared by setting
1044 location of the repository. Default paths can be declared by setting
1045 the following entries.
1045 the following entries.
1046
1046
1047 ``default``
1047 ``default``
1048 Directory or URL to use when pulling if no source is specified.
1048 Directory or URL to use when pulling if no source is specified.
1049 Default is set to repository from which the current repository was
1049 Default is set to repository from which the current repository was
1050 cloned.
1050 cloned.
1051
1051
1052 ``default-push``
1052 ``default-push``
1053 Optional. Directory or URL to use when pushing if no destination
1053 Optional. Directory or URL to use when pushing if no destination
1054 is specified.
1054 is specified.
1055
1055
1056 Custom paths can be defined by assigning the path to a name that later can be
1056 Custom paths can be defined by assigning the path to a name that later can be
1057 used from the command line. Example::
1057 used from the command line. Example::
1058
1058
1059 [paths]
1059 [paths]
1060 my_path = http://example.com/path
1060 my_path = http://example.com/path
1061
1061
1062 To push to the path defined in ``my_path`` run the command::
1062 To push to the path defined in ``my_path`` run the command::
1063
1063
1064 hg push my_path
1064 hg push my_path
1065
1065
1066
1066
1067 ``phases``
1067 ``phases``
1068 ----------
1068 ----------
1069
1069
1070 Specifies default handling of phases. See :hg:`help phases` for more
1070 Specifies default handling of phases. See :hg:`help phases` for more
1071 information about working with phases.
1071 information about working with phases.
1072
1072
1073 ``publish``
1073 ``publish``
1074 Controls draft phase behavior when working as a server. When true,
1074 Controls draft phase behavior when working as a server. When true,
1075 pushed changesets are set to public in both client and server and
1075 pushed changesets are set to public in both client and server and
1076 pulled or cloned changesets are set to public in the client.
1076 pulled or cloned changesets are set to public in the client.
1077 Default: True
1077 Default: True
1078
1078
1079 ``new-commit``
1079 ``new-commit``
1080 Phase of newly-created commits.
1080 Phase of newly-created commits.
1081 Default: draft
1081 Default: draft
1082
1082
1083 ``checksubrepos``
1083 ``checksubrepos``
1084 Check the phase of the current revision of each subrepository. Allowed
1084 Check the phase of the current revision of each subrepository. Allowed
1085 values are "ignore", "follow" and "abort". For settings other than
1085 values are "ignore", "follow" and "abort". For settings other than
1086 "ignore", the phase of the current revision of each subrepository is
1086 "ignore", the phase of the current revision of each subrepository is
1087 checked before committing the parent repository. If any of those phases is
1087 checked before committing the parent repository. If any of those phases is
1088 greater than the phase of the parent repository (e.g. if a subrepo is in a
1088 greater than the phase of the parent repository (e.g. if a subrepo is in a
1089 "secret" phase while the parent repo is in "draft" phase), the commit is
1089 "secret" phase while the parent repo is in "draft" phase), the commit is
1090 either aborted (if checksubrepos is set to "abort") or the higher phase is
1090 either aborted (if checksubrepos is set to "abort") or the higher phase is
1091 used for the parent repository commit (if set to "follow").
1091 used for the parent repository commit (if set to "follow").
1092 Default: "follow"
1092 Default: "follow"
1093
1093
1094
1094
1095 ``profiling``
1095 ``profiling``
1096 -------------
1096 -------------
1097
1097
1098 Specifies profiling type, format, and file output. Two profilers are
1098 Specifies profiling type, format, and file output. Two profilers are
1099 supported: an instrumenting profiler (named ``ls``), and a sampling
1099 supported: an instrumenting profiler (named ``ls``), and a sampling
1100 profiler (named ``stat``).
1100 profiler (named ``stat``).
1101
1101
1102 In this section description, 'profiling data' stands for the raw data
1102 In this section description, 'profiling data' stands for the raw data
1103 collected during profiling, while 'profiling report' stands for a
1103 collected during profiling, while 'profiling report' stands for a
1104 statistical text report generated from the profiling data. The
1104 statistical text report generated from the profiling data. The
1105 profiling is done using lsprof.
1105 profiling is done using lsprof.
1106
1106
1107 ``type``
1107 ``type``
1108 The type of profiler to use.
1108 The type of profiler to use.
1109 Default: ls.
1109 Default: ls.
1110
1110
1111 ``ls``
1111 ``ls``
1112 Use Python's built-in instrumenting profiler. This profiler
1112 Use Python's built-in instrumenting profiler. This profiler
1113 works on all platforms, but each line number it reports is the
1113 works on all platforms, but each line number it reports is the
1114 first line of a function. This restriction makes it difficult to
1114 first line of a function. This restriction makes it difficult to
1115 identify the expensive parts of a non-trivial function.
1115 identify the expensive parts of a non-trivial function.
1116 ``stat``
1116 ``stat``
1117 Use a third-party statistical profiler, statprof. This profiler
1117 Use a third-party statistical profiler, statprof. This profiler
1118 currently runs only on Unix systems, and is most useful for
1118 currently runs only on Unix systems, and is most useful for
1119 profiling commands that run for longer than about 0.1 seconds.
1119 profiling commands that run for longer than about 0.1 seconds.
1120
1120
1121 ``format``
1121 ``format``
1122 Profiling format. Specific to the ``ls`` instrumenting profiler.
1122 Profiling format. Specific to the ``ls`` instrumenting profiler.
1123 Default: text.
1123 Default: text.
1124
1124
1125 ``text``
1125 ``text``
1126 Generate a profiling report. When saving to a file, it should be
1126 Generate a profiling report. When saving to a file, it should be
1127 noted that only the report is saved, and the profiling data is
1127 noted that only the report is saved, and the profiling data is
1128 not kept.
1128 not kept.
1129 ``kcachegrind``
1129 ``kcachegrind``
1130 Format profiling data for kcachegrind use: when saving to a
1130 Format profiling data for kcachegrind use: when saving to a
1131 file, the generated file can directly be loaded into
1131 file, the generated file can directly be loaded into
1132 kcachegrind.
1132 kcachegrind.
1133
1133
1134 ``frequency``
1134 ``frequency``
1135 Sampling frequency. Specific to the ``stat`` sampling profiler.
1135 Sampling frequency. Specific to the ``stat`` sampling profiler.
1136 Default: 1000.
1136 Default: 1000.
1137
1137
1138 ``output``
1138 ``output``
1139 File path where profiling data or report should be saved. If the
1139 File path where profiling data or report should be saved. If the
1140 file exists, it is replaced. Default: None, data is printed on
1140 file exists, it is replaced. Default: None, data is printed on
1141 stderr
1141 stderr
1142
1142
1143 ``sort``
1143 ``sort``
1144 Sort field. Specific to the ``ls`` instrumenting profiler.
1144 Sort field. Specific to the ``ls`` instrumenting profiler.
1145 One of ``callcount``, ``reccallcount``, ``totaltime`` and
1145 One of ``callcount``, ``reccallcount``, ``totaltime`` and
1146 ``inlinetime``.
1146 ``inlinetime``.
1147 Default: inlinetime.
1147 Default: inlinetime.
1148
1148
1149 ``limit``
1149 ``limit``
1150 Number of lines to show. Specific to the ``ls`` instrumenting profiler.
1150 Number of lines to show. Specific to the ``ls`` instrumenting profiler.
1151 Default: 30.
1151 Default: 30.
1152
1152
1153 ``nested``
1153 ``nested``
1154 Show at most this number of lines of drill-down info after each main entry.
1154 Show at most this number of lines of drill-down info after each main entry.
1155 This can help explain the difference between Total and Inline.
1155 This can help explain the difference between Total and Inline.
1156 Specific to the ``ls`` instrumenting profiler.
1156 Specific to the ``ls`` instrumenting profiler.
1157 Default: 5.
1157 Default: 5.
1158
1158
1159 ``revsetalias``
1159 ``revsetalias``
1160 ---------------
1160 ---------------
1161
1161
1162 Alias definitions for revsets. See :hg:`help revsets` for details.
1162 Alias definitions for revsets. See :hg:`help revsets` for details.
1163
1163
1164 ``server``
1164 ``server``
1165 ----------
1165 ----------
1166
1166
1167 Controls generic server settings.
1167 Controls generic server settings.
1168
1168
1169 ``uncompressed``
1169 ``uncompressed``
1170 Whether to allow clients to clone a repository using the
1170 Whether to allow clients to clone a repository using the
1171 uncompressed streaming protocol. This transfers about 40% more
1171 uncompressed streaming protocol. This transfers about 40% more
1172 data than a regular clone, but uses less memory and CPU on both
1172 data than a regular clone, but uses less memory and CPU on both
1173 server and client. Over a LAN (100 Mbps or better) or a very fast
1173 server and client. Over a LAN (100 Mbps or better) or a very fast
1174 WAN, an uncompressed streaming clone is a lot faster (~10x) than a
1174 WAN, an uncompressed streaming clone is a lot faster (~10x) than a
1175 regular clone. Over most WAN connections (anything slower than
1175 regular clone. Over most WAN connections (anything slower than
1176 about 6 Mbps), uncompressed streaming is slower, because of the
1176 about 6 Mbps), uncompressed streaming is slower, because of the
1177 extra data transfer overhead. This mode will also temporarily hold
1177 extra data transfer overhead. This mode will also temporarily hold
1178 the write lock while determining what data to transfer.
1178 the write lock while determining what data to transfer.
1179 Default is True.
1179 Default is True.
1180
1180
1181 ``preferuncompressed``
1181 ``preferuncompressed``
1182 When set, clients will try to use the uncompressed streaming
1182 When set, clients will try to use the uncompressed streaming
1183 protocol. Default is False.
1183 protocol. Default is False.
1184
1184
1185 ``validate``
1185 ``validate``
1186 Whether to validate the completeness of pushed changesets by
1186 Whether to validate the completeness of pushed changesets by
1187 checking that all new file revisions specified in manifests are
1187 checking that all new file revisions specified in manifests are
1188 present. Default is False.
1188 present. Default is False.
1189
1189
1190 ``smtp``
1190 ``smtp``
1191 --------
1191 --------
1192
1192
1193 Configuration for extensions that need to send email messages.
1193 Configuration for extensions that need to send email messages.
1194
1194
1195 ``host``
1195 ``host``
1196 Host name of mail server, e.g. "mail.example.com".
1196 Host name of mail server, e.g. "mail.example.com".
1197
1197
1198 ``port``
1198 ``port``
1199 Optional. Port to connect to on mail server. Default: 465 (if
1199 Optional. Port to connect to on mail server. Default: 465 (if
1200 ``tls`` is smtps) or 25 (otherwise).
1200 ``tls`` is smtps) or 25 (otherwise).
1201
1201
1202 ``tls``
1202 ``tls``
1203 Optional. Method to enable TLS when connecting to mail server: starttls,
1203 Optional. Method to enable TLS when connecting to mail server: starttls,
1204 smtps or none. Default: none.
1204 smtps or none. Default: none.
1205
1205
1206 ``verifycert``
1206 ``verifycert``
1207 Optional. Verification for the certificate of mail server, when
1207 Optional. Verification for the certificate of mail server, when
1208 ``tls`` is starttls or smtps. "strict", "loose" or False. For
1208 ``tls`` is starttls or smtps. "strict", "loose" or False. For
1209 "strict" or "loose", the certificate is verified as same as the
1209 "strict" or "loose", the certificate is verified as same as the
1210 verification for HTTPS connections (see ``[hostfingerprints]`` and
1210 verification for HTTPS connections (see ``[hostfingerprints]`` and
1211 ``[web] cacerts`` also). For "strict", sending email is also
1211 ``[web] cacerts`` also). For "strict", sending email is also
1212 aborted, if there is no configuration for mail server in
1212 aborted, if there is no configuration for mail server in
1213 ``[hostfingerprints]`` and ``[web] cacerts``. --insecure for
1213 ``[hostfingerprints]`` and ``[web] cacerts``. --insecure for
1214 :hg:`email` overwrites this as "loose". Default: "strict".
1214 :hg:`email` overwrites this as "loose". Default: "strict".
1215
1215
1216 ``username``
1216 ``username``
1217 Optional. User name for authenticating with the SMTP server.
1217 Optional. User name for authenticating with the SMTP server.
1218 Default: none.
1218 Default: none.
1219
1219
1220 ``password``
1220 ``password``
1221 Optional. Password for authenticating with the SMTP server. If not
1221 Optional. Password for authenticating with the SMTP server. If not
1222 specified, interactive sessions will prompt the user for a
1222 specified, interactive sessions will prompt the user for a
1223 password; non-interactive sessions will fail. Default: none.
1223 password; non-interactive sessions will fail. Default: none.
1224
1224
1225 ``local_hostname``
1225 ``local_hostname``
1226 Optional. It's the hostname that the sender can use to identify
1226 Optional. It's the hostname that the sender can use to identify
1227 itself to the MTA.
1227 itself to the MTA.
1228
1228
1229
1229
1230 ``subpaths``
1230 ``subpaths``
1231 ------------
1231 ------------
1232
1232
1233 Subrepository source URLs can go stale if a remote server changes name
1233 Subrepository source URLs can go stale if a remote server changes name
1234 or becomes temporarily unavailable. This section lets you define
1234 or becomes temporarily unavailable. This section lets you define
1235 rewrite rules of the form::
1235 rewrite rules of the form::
1236
1236
1237 <pattern> = <replacement>
1237 <pattern> = <replacement>
1238
1238
1239 where ``pattern`` is a regular expression matching a subrepository
1239 where ``pattern`` is a regular expression matching a subrepository
1240 source URL and ``replacement`` is the replacement string used to
1240 source URL and ``replacement`` is the replacement string used to
1241 rewrite it. Groups can be matched in ``pattern`` and referenced in
1241 rewrite it. Groups can be matched in ``pattern`` and referenced in
1242 ``replacements``. For instance::
1242 ``replacements``. For instance::
1243
1243
1244 http://server/(.*)-hg/ = http://hg.server/\1/
1244 http://server/(.*)-hg/ = http://hg.server/\1/
1245
1245
1246 rewrites ``http://server/foo-hg/`` into ``http://hg.server/foo/``.
1246 rewrites ``http://server/foo-hg/`` into ``http://hg.server/foo/``.
1247
1247
1248 Relative subrepository paths are first made absolute, and the
1248 Relative subrepository paths are first made absolute, and the
1249 rewrite rules are then applied on the full (absolute) path. The rules
1249 rewrite rules are then applied on the full (absolute) path. The rules
1250 are applied in definition order.
1250 are applied in definition order.
1251
1251
1252 ``trusted``
1252 ``trusted``
1253 -----------
1253 -----------
1254
1254
1255 Mercurial will not use the settings in the
1255 Mercurial will not use the settings in the
1256 ``.hg/hgrc`` file from a repository if it doesn't belong to a trusted
1256 ``.hg/hgrc`` file from a repository if it doesn't belong to a trusted
1257 user or to a trusted group, as various hgrc features allow arbitrary
1257 user or to a trusted group, as various hgrc features allow arbitrary
1258 commands to be run. This issue is often encountered when configuring
1258 commands to be run. This issue is often encountered when configuring
1259 hooks or extensions for shared repositories or servers. However,
1259 hooks or extensions for shared repositories or servers. However,
1260 the web interface will use some safe settings from the ``[web]``
1260 the web interface will use some safe settings from the ``[web]``
1261 section.
1261 section.
1262
1262
1263 This section specifies what users and groups are trusted. The
1263 This section specifies what users and groups are trusted. The
1264 current user is always trusted. To trust everybody, list a user or a
1264 current user is always trusted. To trust everybody, list a user or a
1265 group with name ``*``. These settings must be placed in an
1265 group with name ``*``. These settings must be placed in an
1266 *already-trusted file* to take effect, such as ``$HOME/.hgrc`` of the
1266 *already-trusted file* to take effect, such as ``$HOME/.hgrc`` of the
1267 user or service running Mercurial.
1267 user or service running Mercurial.
1268
1268
1269 ``users``
1269 ``users``
1270 Comma-separated list of trusted users.
1270 Comma-separated list of trusted users.
1271
1271
1272 ``groups``
1272 ``groups``
1273 Comma-separated list of trusted groups.
1273 Comma-separated list of trusted groups.
1274
1274
1275
1275
1276 ``ui``
1276 ``ui``
1277 ------
1277 ------
1278
1278
1279 User interface controls.
1279 User interface controls.
1280
1280
1281 ``archivemeta``
1281 ``archivemeta``
1282 Whether to include the .hg_archival.txt file containing meta data
1282 Whether to include the .hg_archival.txt file containing meta data
1283 (hashes for the repository base and for tip) in archives created
1283 (hashes for the repository base and for tip) in archives created
1284 by the :hg:`archive` command or downloaded via hgweb.
1284 by the :hg:`archive` command or downloaded via hgweb.
1285 Default is True.
1285 Default is True.
1286
1286
1287 ``askusername``
1287 ``askusername``
1288 Whether to prompt for a username when committing. If True, and
1288 Whether to prompt for a username when committing. If True, and
1289 neither ``$HGUSER`` nor ``$EMAIL`` has been specified, then the user will
1289 neither ``$HGUSER`` nor ``$EMAIL`` has been specified, then the user will
1290 be prompted to enter a username. If no username is entered, the
1290 be prompted to enter a username. If no username is entered, the
1291 default ``USER@HOST`` is used instead.
1291 default ``USER@HOST`` is used instead.
1292 Default is False.
1292 Default is False.
1293
1293
1294 ``commitsubrepos``
1294 ``commitsubrepos``
1295 Whether to commit modified subrepositories when committing the
1295 Whether to commit modified subrepositories when committing the
1296 parent repository. If False and one subrepository has uncommitted
1296 parent repository. If False and one subrepository has uncommitted
1297 changes, abort the commit.
1297 changes, abort the commit.
1298 Default is False.
1298 Default is False.
1299
1299
1300 ``debug``
1300 ``debug``
1301 Print debugging information. True or False. Default is False.
1301 Print debugging information. True or False. Default is False.
1302
1302
1303 ``editor``
1303 ``editor``
1304 The editor to use during a commit. Default is ``$EDITOR`` or ``vi``.
1304 The editor to use during a commit. Default is ``$EDITOR`` or ``vi``.
1305
1305
1306 ``fallbackencoding``
1306 ``fallbackencoding``
1307 Encoding to try if it's not possible to decode the changelog using
1307 Encoding to try if it's not possible to decode the changelog using
1308 UTF-8. Default is ISO-8859-1.
1308 UTF-8. Default is ISO-8859-1.
1309
1309
1310 ``ignore``
1310 ``ignore``
1311 A file to read per-user ignore patterns from. This file should be
1311 A file to read per-user ignore patterns from. This file should be
1312 in the same format as a repository-wide .hgignore file. This
1312 in the same format as a repository-wide .hgignore file. This
1313 option supports hook syntax, so if you want to specify multiple
1313 option supports hook syntax, so if you want to specify multiple
1314 ignore files, you can do so by setting something like
1314 ignore files, you can do so by setting something like
1315 ``ignore.other = ~/.hgignore2``. For details of the ignore file
1315 ``ignore.other = ~/.hgignore2``. For details of the ignore file
1316 format, see the ``hgignore(5)`` man page.
1316 format, see the ``hgignore(5)`` man page.
1317
1317
1318 ``interactive``
1318 ``interactive``
1319 Allow to prompt the user. True or False. Default is True.
1319 Allow to prompt the user. True or False. Default is True.
1320
1320
1321 ``logtemplate``
1321 ``logtemplate``
1322 Template string for commands that print changesets.
1322 Template string for commands that print changesets.
1323
1323
1324 ``merge``
1324 ``merge``
1325 The conflict resolution program to use during a manual merge.
1325 The conflict resolution program to use during a manual merge.
1326 For more information on merge tools see :hg:`help merge-tools`.
1326 For more information on merge tools see :hg:`help merge-tools`.
1327 For configuring merge tools see the ``[merge-tools]`` section.
1327 For configuring merge tools see the ``[merge-tools]`` section.
1328
1328
1329 ``mergemarkers``
1329 ``mergemarkers``
1330 Sets the merge conflict marker label styling. The ``detailed``
1330 Sets the merge conflict marker label styling. The ``detailed``
1331 style uses the ``mergemarkertemplate`` setting to style the labels.
1331 style uses the ``mergemarkertemplate`` setting to style the labels.
1332 The ``basic`` style just uses 'local' and 'other' as the marker label.
1332 The ``basic`` style just uses 'local' and 'other' as the marker label.
1333 One of ``basic`` or ``detailed``.
1333 One of ``basic`` or ``detailed``.
1334 Default is ``basic``.
1334 Default is ``basic``.
1335
1335
1336 ``mergemarkertemplate``
1336 ``mergemarkertemplate``
1337 The template used to print the commit description next to each conflict
1337 The template used to print the commit description next to each conflict
1338 marker during merge conflicts. See :hg:`help templates` for the template
1338 marker during merge conflicts. See :hg:`help templates` for the template
1339 format.
1339 format.
1340 Defaults to showing the hash, tags, branches, bookmarks, author, and
1340 Defaults to showing the hash, tags, branches, bookmarks, author, and
1341 the first line of the commit description.
1341 the first line of the commit description.
1342 You have to pay attention to encodings of managed files, if you
1342 You have to pay attention to encodings of managed files, if you
1343 use non-ASCII characters in tags, branches, bookmarks, author
1343 use non-ASCII characters in tags, branches, bookmarks, author
1344 and/or commit descriptions. At template expansion, non-ASCII
1344 and/or commit descriptions. At template expansion, non-ASCII
1345 characters use the encoding specified by ``--encoding`` global
1345 characters use the encoding specified by ``--encoding`` global
1346 option, ``HGENCODING`` or other locale setting environment
1346 option, ``HGENCODING`` or other locale setting environment
1347 variables. The difference of encoding between merged file and
1347 variables. The difference of encoding between merged file and
1348 conflict markers causes serious problem.
1348 conflict markers causes serious problem.
1349
1349
1350 ``portablefilenames``
1350 ``portablefilenames``
1351 Check for portable filenames. Can be ``warn``, ``ignore`` or ``abort``.
1351 Check for portable filenames. Can be ``warn``, ``ignore`` or ``abort``.
1352 Default is ``warn``.
1352 Default is ``warn``.
1353 If set to ``warn`` (or ``true``), a warning message is printed on POSIX
1353 If set to ``warn`` (or ``true``), a warning message is printed on POSIX
1354 platforms, if a file with a non-portable filename is added (e.g. a file
1354 platforms, if a file with a non-portable filename is added (e.g. a file
1355 with a name that can't be created on Windows because it contains reserved
1355 with a name that can't be created on Windows because it contains reserved
1356 parts like ``AUX``, reserved characters like ``:``, or would cause a case
1356 parts like ``AUX``, reserved characters like ``:``, or would cause a case
1357 collision with an existing file).
1357 collision with an existing file).
1358 If set to ``ignore`` (or ``false``), no warning is printed.
1358 If set to ``ignore`` (or ``false``), no warning is printed.
1359 If set to ``abort``, the command is aborted.
1359 If set to ``abort``, the command is aborted.
1360 On Windows, this configuration option is ignored and the command aborted.
1360 On Windows, this configuration option is ignored and the command aborted.
1361
1361
1362 ``quiet``
1362 ``quiet``
1363 Reduce the amount of output printed. True or False. Default is False.
1363 Reduce the amount of output printed. True or False. Default is False.
1364
1364
1365 ``remotecmd``
1365 ``remotecmd``
1366 remote command to use for clone/push/pull operations. Default is ``hg``.
1366 remote command to use for clone/push/pull operations. Default is ``hg``.
1367
1367
1368 ``reportoldssl``
1368 ``reportoldssl``
1369 Warn if an SSL certificate is unable to be due to using Python
1369 Warn if an SSL certificate is unable to be due to using Python
1370 2.5 or earlier. True or False. Default is True.
1370 2.5 or earlier. True or False. Default is True.
1371
1371
1372 ``report_untrusted``
1372 ``report_untrusted``
1373 Warn if a ``.hg/hgrc`` file is ignored due to not being owned by a
1373 Warn if a ``.hg/hgrc`` file is ignored due to not being owned by a
1374 trusted user or group. True or False. Default is True.
1374 trusted user or group. True or False. Default is True.
1375
1375
1376 ``slash``
1376 ``slash``
1377 Display paths using a slash (``/``) as the path separator. This
1377 Display paths using a slash (``/``) as the path separator. This
1378 only makes a difference on systems where the default path
1378 only makes a difference on systems where the default path
1379 separator is not the slash character (e.g. Windows uses the
1379 separator is not the slash character (e.g. Windows uses the
1380 backslash character (``\``)).
1380 backslash character (``\``)).
1381 Default is False.
1381 Default is False.
1382
1382
1383 ``ssh``
1383 ``ssh``
1384 command to use for SSH connections. Default is ``ssh``.
1384 command to use for SSH connections. Default is ``ssh``.
1385
1385
1386 ``strict``
1386 ``strict``
1387 Require exact command names, instead of allowing unambiguous
1387 Require exact command names, instead of allowing unambiguous
1388 abbreviations. True or False. Default is False.
1388 abbreviations. True or False. Default is False.
1389
1389
1390 ``style``
1390 ``style``
1391 Name of style to use for command output.
1391 Name of style to use for command output.
1392
1392
1393 ``timeout``
1393 ``timeout``
1394 The timeout used when a lock is held (in seconds), a negative value
1394 The timeout used when a lock is held (in seconds), a negative value
1395 means no timeout. Default is 600.
1395 means no timeout. Default is 600.
1396
1396
1397 ``traceback``
1397 ``traceback``
1398 Mercurial always prints a traceback when an unknown exception
1398 Mercurial always prints a traceback when an unknown exception
1399 occurs. Setting this to True will make Mercurial print a traceback
1399 occurs. Setting this to True will make Mercurial print a traceback
1400 on all exceptions, even those recognized by Mercurial (such as
1400 on all exceptions, even those recognized by Mercurial (such as
1401 IOError or MemoryError). Default is False.
1401 IOError or MemoryError). Default is False.
1402
1402
1403 ``username``
1403 ``username``
1404 The committer of a changeset created when running "commit".
1404 The committer of a changeset created when running "commit".
1405 Typically a person's name and email address, e.g. ``Fred Widget
1405 Typically a person's name and email address, e.g. ``Fred Widget
1406 <fred@example.com>``. Default is ``$EMAIL`` or ``username@hostname``. If
1406 <fred@example.com>``. Default is ``$EMAIL`` or ``username@hostname``. If
1407 the username in hgrc is empty, it has to be specified manually or
1407 the username in hgrc is empty, it has to be specified manually or
1408 in a different hgrc file (e.g. ``$HOME/.hgrc``, if the admin set
1408 in a different hgrc file (e.g. ``$HOME/.hgrc``, if the admin set
1409 ``username =`` in the system hgrc). Environment variables in the
1409 ``username =`` in the system hgrc). Environment variables in the
1410 username are expanded.
1410 username are expanded.
1411
1411
1412 ``verbose``
1412 ``verbose``
1413 Increase the amount of output printed. True or False. Default is False.
1413 Increase the amount of output printed. True or False. Default is False.
1414
1414
1415
1415
1416 ``web``
1416 ``web``
1417 -------
1417 -------
1418
1418
1419 Web interface configuration. The settings in this section apply to
1419 Web interface configuration. The settings in this section apply to
1420 both the builtin webserver (started by :hg:`serve`) and the script you
1420 both the builtin webserver (started by :hg:`serve`) and the script you
1421 run through a webserver (``hgweb.cgi`` and the derivatives for FastCGI
1421 run through a webserver (``hgweb.cgi`` and the derivatives for FastCGI
1422 and WSGI).
1422 and WSGI).
1423
1423
1424 The Mercurial webserver does no authentication (it does not prompt for
1424 The Mercurial webserver does no authentication (it does not prompt for
1425 usernames and passwords to validate *who* users are), but it does do
1425 usernames and passwords to validate *who* users are), but it does do
1426 authorization (it grants or denies access for *authenticated users*
1426 authorization (it grants or denies access for *authenticated users*
1427 based on settings in this section). You must either configure your
1427 based on settings in this section). You must either configure your
1428 webserver to do authentication for you, or disable the authorization
1428 webserver to do authentication for you, or disable the authorization
1429 checks.
1429 checks.
1430
1430
1431 For a quick setup in a trusted environment, e.g., a private LAN, where
1431 For a quick setup in a trusted environment, e.g., a private LAN, where
1432 you want it to accept pushes from anybody, you can use the following
1432 you want it to accept pushes from anybody, you can use the following
1433 command line::
1433 command line::
1434
1434
1435 $ hg --config web.allow_push=* --config web.push_ssl=False serve
1435 $ hg --config web.allow_push=* --config web.push_ssl=False serve
1436
1436
1437 Note that this will allow anybody to push anything to the server and
1437 Note that this will allow anybody to push anything to the server and
1438 that this should not be used for public servers.
1438 that this should not be used for public servers.
1439
1439
1440 The full set of options is:
1440 The full set of options is:
1441
1441
1442 ``accesslog``
1442 ``accesslog``
1443 Where to output the access log. Default is stdout.
1443 Where to output the access log. Default is stdout.
1444
1444
1445 ``address``
1445 ``address``
1446 Interface address to bind to. Default is all.
1446 Interface address to bind to. Default is all.
1447
1447
1448 ``allow_archive``
1448 ``allow_archive``
1449 List of archive format (bz2, gz, zip) allowed for downloading.
1449 List of archive format (bz2, gz, zip) allowed for downloading.
1450 Default is empty.
1450 Default is empty.
1451
1451
1452 ``allowbz2``
1452 ``allowbz2``
1453 (DEPRECATED) Whether to allow .tar.bz2 downloading of repository
1453 (DEPRECATED) Whether to allow .tar.bz2 downloading of repository
1454 revisions.
1454 revisions.
1455 Default is False.
1455 Default is False.
1456
1456
1457 ``allowgz``
1457 ``allowgz``
1458 (DEPRECATED) Whether to allow .tar.gz downloading of repository
1458 (DEPRECATED) Whether to allow .tar.gz downloading of repository
1459 revisions.
1459 revisions.
1460 Default is False.
1460 Default is False.
1461
1461
1462 ``allowpull``
1462 ``allowpull``
1463 Whether to allow pulling from the repository. Default is True.
1463 Whether to allow pulling from the repository. Default is True.
1464
1464
1465 ``allow_push``
1465 ``allow_push``
1466 Whether to allow pushing to the repository. If empty or not set,
1466 Whether to allow pushing to the repository. If empty or not set,
1467 push is not allowed. If the special value ``*``, any remote user can
1467 push is not allowed. If the special value ``*``, any remote user can
1468 push, including unauthenticated users. Otherwise, the remote user
1468 push, including unauthenticated users. Otherwise, the remote user
1469 must have been authenticated, and the authenticated user name must
1469 must have been authenticated, and the authenticated user name must
1470 be present in this list. The contents of the allow_push list are
1470 be present in this list. The contents of the allow_push list are
1471 examined after the deny_push list.
1471 examined after the deny_push list.
1472
1472
1473 ``allow_read``
1473 ``allow_read``
1474 If the user has not already been denied repository access due to
1474 If the user has not already been denied repository access due to
1475 the contents of deny_read, this list determines whether to grant
1475 the contents of deny_read, this list determines whether to grant
1476 repository access to the user. If this list is not empty, and the
1476 repository access to the user. If this list is not empty, and the
1477 user is unauthenticated or not present in the list, then access is
1477 user is unauthenticated or not present in the list, then access is
1478 denied for the user. If the list is empty or not set, then access
1478 denied for the user. If the list is empty or not set, then access
1479 is permitted to all users by default. Setting allow_read to the
1479 is permitted to all users by default. Setting allow_read to the
1480 special value ``*`` is equivalent to it not being set (i.e. access
1480 special value ``*`` is equivalent to it not being set (i.e. access
1481 is permitted to all users). The contents of the allow_read list are
1481 is permitted to all users). The contents of the allow_read list are
1482 examined after the deny_read list.
1482 examined after the deny_read list.
1483
1483
1484 ``allowzip``
1484 ``allowzip``
1485 (DEPRECATED) Whether to allow .zip downloading of repository
1485 (DEPRECATED) Whether to allow .zip downloading of repository
1486 revisions. Default is False. This feature creates temporary files.
1486 revisions. Default is False. This feature creates temporary files.
1487
1487
1488 ``archivesubrepos``
1488 ``archivesubrepos``
1489 Whether to recurse into subrepositories when archiving. Default is
1489 Whether to recurse into subrepositories when archiving. Default is
1490 False.
1490 False.
1491
1491
1492 ``baseurl``
1492 ``baseurl``
1493 Base URL to use when publishing URLs in other locations, so
1493 Base URL to use when publishing URLs in other locations, so
1494 third-party tools like email notification hooks can construct
1494 third-party tools like email notification hooks can construct
1495 URLs. Example: ``http://hgserver/repos/``.
1495 URLs. Example: ``http://hgserver/repos/``.
1496
1496
1497 ``cacerts``
1497 ``cacerts``
1498 Path to file containing a list of PEM encoded certificate
1498 Path to file containing a list of PEM encoded certificate
1499 authority certificates. Environment variables and ``~user``
1499 authority certificates. Environment variables and ``~user``
1500 constructs are expanded in the filename. If specified on the
1500 constructs are expanded in the filename. If specified on the
1501 client, then it will verify the identity of remote HTTPS servers
1501 client, then it will verify the identity of remote HTTPS servers
1502 with these certificates.
1502 with these certificates.
1503
1503
1504 This feature is only supported when using Python 2.6 or later. If you wish
1504 This feature is only supported when using Python 2.6 or later. If you wish
1505 to use it with earlier versions of Python, install the backported
1505 to use it with earlier versions of Python, install the backported
1506 version of the ssl library that is available from
1506 version of the ssl library that is available from
1507 ``http://pypi.python.org``.
1507 ``http://pypi.python.org``.
1508
1508
1509 To disable SSL verification temporarily, specify ``--insecure`` from
1509 To disable SSL verification temporarily, specify ``--insecure`` from
1510 command line.
1510 command line.
1511
1511
1512 You can use OpenSSL's CA certificate file if your platform has
1512 You can use OpenSSL's CA certificate file if your platform has
1513 one. On most Linux systems this will be
1513 one. On most Linux systems this will be
1514 ``/etc/ssl/certs/ca-certificates.crt``. Otherwise you will have to
1514 ``/etc/ssl/certs/ca-certificates.crt``. Otherwise you will have to
1515 generate this file manually. The form must be as follows::
1515 generate this file manually. The form must be as follows::
1516
1516
1517 -----BEGIN CERTIFICATE-----
1517 -----BEGIN CERTIFICATE-----
1518 ... (certificate in base64 PEM encoding) ...
1518 ... (certificate in base64 PEM encoding) ...
1519 -----END CERTIFICATE-----
1519 -----END CERTIFICATE-----
1520 -----BEGIN CERTIFICATE-----
1520 -----BEGIN CERTIFICATE-----
1521 ... (certificate in base64 PEM encoding) ...
1521 ... (certificate in base64 PEM encoding) ...
1522 -----END CERTIFICATE-----
1522 -----END CERTIFICATE-----
1523
1523
1524 ``cache``
1524 ``cache``
1525 Whether to support caching in hgweb. Defaults to True.
1525 Whether to support caching in hgweb. Defaults to True.
1526
1526
1527 ``collapse``
1527 ``collapse``
1528 With ``descend`` enabled, repositories in subdirectories are shown at
1528 With ``descend`` enabled, repositories in subdirectories are shown at
1529 a single level alongside repositories in the current path. With
1529 a single level alongside repositories in the current path. With
1530 ``collapse`` also enabled, repositories residing at a deeper level than
1530 ``collapse`` also enabled, repositories residing at a deeper level than
1531 the current path are grouped behind navigable directory entries that
1531 the current path are grouped behind navigable directory entries that
1532 lead to the locations of these repositories. In effect, this setting
1532 lead to the locations of these repositories. In effect, this setting
1533 collapses each collection of repositories found within a subdirectory
1533 collapses each collection of repositories found within a subdirectory
1534 into a single entry for that subdirectory. Default is False.
1534 into a single entry for that subdirectory. Default is False.
1535
1535
1536 ``comparisoncontext``
1536 ``comparisoncontext``
1537 Number of lines of context to show in side-by-side file comparison. If
1537 Number of lines of context to show in side-by-side file comparison. If
1538 negative or the value ``full``, whole files are shown. Default is 5.
1538 negative or the value ``full``, whole files are shown. Default is 5.
1539 This setting can be overridden by a ``context`` request parameter to the
1539 This setting can be overridden by a ``context`` request parameter to the
1540 ``comparison`` command, taking the same values.
1540 ``comparison`` command, taking the same values.
1541
1541
1542 ``contact``
1542 ``contact``
1543 Name or email address of the person in charge of the repository.
1543 Name or email address of the person in charge of the repository.
1544 Defaults to ui.username or ``$EMAIL`` or "unknown" if unset or empty.
1544 Defaults to ui.username or ``$EMAIL`` or "unknown" if unset or empty.
1545
1545
1546 ``deny_push``
1546 ``deny_push``
1547 Whether to deny pushing to the repository. If empty or not set,
1547 Whether to deny pushing to the repository. If empty or not set,
1548 push is not denied. If the special value ``*``, all remote users are
1548 push is not denied. If the special value ``*``, all remote users are
1549 denied push. Otherwise, unauthenticated users are all denied, and
1549 denied push. Otherwise, unauthenticated users are all denied, and
1550 any authenticated user name present in this list is also denied. The
1550 any authenticated user name present in this list is also denied. The
1551 contents of the deny_push list are examined before the allow_push list.
1551 contents of the deny_push list are examined before the allow_push list.
1552
1552
1553 ``deny_read``
1553 ``deny_read``
1554 Whether to deny reading/viewing of the repository. If this list is
1554 Whether to deny reading/viewing of the repository. If this list is
1555 not empty, unauthenticated users are all denied, and any
1555 not empty, unauthenticated users are all denied, and any
1556 authenticated user name present in this list is also denied access to
1556 authenticated user name present in this list is also denied access to
1557 the repository. If set to the special value ``*``, all remote users
1557 the repository. If set to the special value ``*``, all remote users
1558 are denied access (rarely needed ;). If deny_read is empty or not set,
1558 are denied access (rarely needed ;). If deny_read is empty or not set,
1559 the determination of repository access depends on the presence and
1559 the determination of repository access depends on the presence and
1560 content of the allow_read list (see description). If both
1560 content of the allow_read list (see description). If both
1561 deny_read and allow_read are empty or not set, then access is
1561 deny_read and allow_read are empty or not set, then access is
1562 permitted to all users by default. If the repository is being
1562 permitted to all users by default. If the repository is being
1563 served via hgwebdir, denied users will not be able to see it in
1563 served via hgwebdir, denied users will not be able to see it in
1564 the list of repositories. The contents of the deny_read list have
1564 the list of repositories. The contents of the deny_read list have
1565 priority over (are examined before) the contents of the allow_read
1565 priority over (are examined before) the contents of the allow_read
1566 list.
1566 list.
1567
1567
1568 ``descend``
1568 ``descend``
1569 hgwebdir indexes will not descend into subdirectories. Only repositories
1569 hgwebdir indexes will not descend into subdirectories. Only repositories
1570 directly in the current path will be shown (other repositories are still
1570 directly in the current path will be shown (other repositories are still
1571 available from the index corresponding to their containing path).
1571 available from the index corresponding to their containing path).
1572
1572
1573 ``description``
1573 ``description``
1574 Textual description of the repository's purpose or contents.
1574 Textual description of the repository's purpose or contents.
1575 Default is "unknown".
1575 Default is "unknown".
1576
1576
1577 ``encoding``
1577 ``encoding``
1578 Character encoding name. Default is the current locale charset.
1578 Character encoding name. Default is the current locale charset.
1579 Example: "UTF-8"
1579 Example: "UTF-8"
1580
1580
1581 ``errorlog``
1581 ``errorlog``
1582 Where to output the error log. Default is stderr.
1582 Where to output the error log. Default is stderr.
1583
1583
1584 ``guessmime``
1584 ``guessmime``
1585 Control MIME types for raw download of file content.
1585 Control MIME types for raw download of file content.
1586 Set to True to let hgweb guess the content type from the file
1586 Set to True to let hgweb guess the content type from the file
1587 extension. This will serve HTML files as ``text/html`` and might
1587 extension. This will serve HTML files as ``text/html`` and might
1588 allow cross-site scripting attacks when serving untrusted
1588 allow cross-site scripting attacks when serving untrusted
1589 repositories. Default is False.
1589 repositories. Default is False.
1590
1590
1591 ``hidden``
1591 ``hidden``
1592 Whether to hide the repository in the hgwebdir index.
1592 Whether to hide the repository in the hgwebdir index.
1593 Default is False.
1593 Default is False.
1594
1594
1595 ``ipv6``
1595 ``ipv6``
1596 Whether to use IPv6. Default is False.
1596 Whether to use IPv6. Default is False.
1597
1597
1598 ``logoimg``
1598 ``logoimg``
1599 File name of the logo image that some templates display on each page.
1599 File name of the logo image that some templates display on each page.
1600 The file name is relative to ``staticurl``. That is, the full path to
1600 The file name is relative to ``staticurl``. That is, the full path to
1601 the logo image is "staticurl/logoimg".
1601 the logo image is "staticurl/logoimg".
1602 If unset, ``hglogo.png`` will be used.
1602 If unset, ``hglogo.png`` will be used.
1603
1603
1604 ``logourl``
1604 ``logourl``
1605 Base URL to use for logos. If unset, ``http://mercurial.selenic.com/``
1605 Base URL to use for logos. If unset, ``http://mercurial.selenic.com/``
1606 will be used.
1606 will be used.
1607
1607
1608 ``maxchanges``
1608 ``maxchanges``
1609 Maximum number of changes to list on the changelog. Default is 10.
1609 Maximum number of changes to list on the changelog. Default is 10.
1610
1610
1611 ``maxfiles``
1611 ``maxfiles``
1612 Maximum number of files to list per changeset. Default is 10.
1612 Maximum number of files to list per changeset. Default is 10.
1613
1613
1614 ``maxshortchanges``
1614 ``maxshortchanges``
1615 Maximum number of changes to list on the shortlog, graph or filelog
1615 Maximum number of changes to list on the shortlog, graph or filelog
1616 pages. Default is 60.
1616 pages. Default is 60.
1617
1617
1618 ``name``
1618 ``name``
1619 Repository name to use in the web interface. Default is current
1619 Repository name to use in the web interface. Default is current
1620 working directory.
1620 working directory.
1621
1621
1622 ``port``
1622 ``port``
1623 Port to listen on. Default is 8000.
1623 Port to listen on. Default is 8000.
1624
1624
1625 ``prefix``
1625 ``prefix``
1626 Prefix path to serve from. Default is '' (server root).
1626 Prefix path to serve from. Default is '' (server root).
1627
1627
1628 ``push_ssl``
1628 ``push_ssl``
1629 Whether to require that inbound pushes be transported over SSL to
1629 Whether to require that inbound pushes be transported over SSL to
1630 prevent password sniffing. Default is True.
1630 prevent password sniffing. Default is True.
1631
1631
1632 ``staticurl``
1632 ``staticurl``
1633 Base URL to use for static files. If unset, static files (e.g. the
1633 Base URL to use for static files. If unset, static files (e.g. the
1634 hgicon.png favicon) will be served by the CGI script itself. Use
1634 hgicon.png favicon) will be served by the CGI script itself. Use
1635 this setting to serve them directly with the HTTP server.
1635 this setting to serve them directly with the HTTP server.
1636 Example: ``http://hgserver/static/``.
1636 Example: ``http://hgserver/static/``.
1637
1637
1638 ``stripes``
1638 ``stripes``
1639 How many lines a "zebra stripe" should span in multi-line output.
1639 How many lines a "zebra stripe" should span in multi-line output.
1640 Default is 1; set to 0 to disable.
1640 Default is 1; set to 0 to disable.
1641
1641
1642 ``style``
1642 ``style``
1643 Which template map style to use. The available options are the names of
1643 Which template map style to use. The available options are the names of
1644 subdirectories in the HTML templates path.
1644 subdirectories in the HTML templates path. Default is ``paper``.
1645 Example: ``monoblue``
1645 Example: ``monoblue``
1646
1646
1647 ``templates``
1647 ``templates``
1648 Where to find the HTML templates. The default path to the HTML templates
1648 Where to find the HTML templates. The default path to the HTML templates
1649 can be obtained from ``hg debuginstall``.
1649 can be obtained from ``hg debuginstall``.
1650
1650
1651 ``websub``
1651 ``websub``
1652 ----------
1652 ----------
1653
1653
1654 Web substitution filter definition. You can use this section to
1654 Web substitution filter definition. You can use this section to
1655 define a set of regular expression substitution patterns which
1655 define a set of regular expression substitution patterns which
1656 let you automatically modify the hgweb server output.
1656 let you automatically modify the hgweb server output.
1657
1657
1658 The default hgweb templates only apply these substitution patterns
1658 The default hgweb templates only apply these substitution patterns
1659 on the revision description fields. You can apply them anywhere
1659 on the revision description fields. You can apply them anywhere
1660 you want when you create your own templates by adding calls to the
1660 you want when you create your own templates by adding calls to the
1661 "websub" filter (usually after calling the "escape" filter).
1661 "websub" filter (usually after calling the "escape" filter).
1662
1662
1663 This can be used, for example, to convert issue references to links
1663 This can be used, for example, to convert issue references to links
1664 to your issue tracker, or to convert "markdown-like" syntax into
1664 to your issue tracker, or to convert "markdown-like" syntax into
1665 HTML (see the examples below).
1665 HTML (see the examples below).
1666
1666
1667 Each entry in this section names a substitution filter.
1667 Each entry in this section names a substitution filter.
1668 The value of each entry defines the substitution expression itself.
1668 The value of each entry defines the substitution expression itself.
1669 The websub expressions follow the old interhg extension syntax,
1669 The websub expressions follow the old interhg extension syntax,
1670 which in turn imitates the Unix sed replacement syntax::
1670 which in turn imitates the Unix sed replacement syntax::
1671
1671
1672 patternname = s/SEARCH_REGEX/REPLACE_EXPRESSION/[i]
1672 patternname = s/SEARCH_REGEX/REPLACE_EXPRESSION/[i]
1673
1673
1674 You can use any separator other than "/". The final "i" is optional
1674 You can use any separator other than "/". The final "i" is optional
1675 and indicates that the search must be case insensitive.
1675 and indicates that the search must be case insensitive.
1676
1676
1677 Examples::
1677 Examples::
1678
1678
1679 [websub]
1679 [websub]
1680 issues = s|issue(\d+)|<a href="http://bts.example.org/issue\1">issue\1</a>|i
1680 issues = s|issue(\d+)|<a href="http://bts.example.org/issue\1">issue\1</a>|i
1681 italic = s/\b_(\S+)_\b/<i>\1<\/i>/
1681 italic = s/\b_(\S+)_\b/<i>\1<\/i>/
1682 bold = s/\*\b(\S+)\b\*/<b>\1<\/b>/
1682 bold = s/\*\b(\S+)\b\*/<b>\1<\/b>/
1683
1683
1684 ``worker``
1684 ``worker``
1685 ----------
1685 ----------
1686
1686
1687 Parallel master/worker configuration. We currently perform working
1687 Parallel master/worker configuration. We currently perform working
1688 directory updates in parallel on Unix-like systems, which greatly
1688 directory updates in parallel on Unix-like systems, which greatly
1689 helps performance.
1689 helps performance.
1690
1690
1691 ``numcpus``
1691 ``numcpus``
1692 Number of CPUs to use for parallel operations. Default is 4 or the
1692 Number of CPUs to use for parallel operations. Default is 4 or the
1693 number of CPUs on the system, whichever is larger. A zero or
1693 number of CPUs on the system, whichever is larger. A zero or
1694 negative value is treated as ``use the default``.
1694 negative value is treated as ``use the default``.
General Comments 0
You need to be logged in to leave comments. Login now