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