##// END OF EJS Templates
hgrc: improve docs for the trusted section
Matt Mackall -
r11286:ccfd1cbc default
parent child Browse files
Show More
@@ -1,1043 +1,1048 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 :hg:`hg
311 status` show only the modified files, by default::
311 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``. Hook failure is ignored.
573 code in ``$HG_RESULT``. Hook failure is ignored.
574 ``pre-<command>``
574 ``pre-<command>``
575 Run before executing the associated command. The contents of the
575 Run before executing the associated command. The contents of the
576 command line are passed as ``$HG_ARGS``. If the hook returns failure,
576 command line are passed as ``$HG_ARGS``. If the hook returns failure,
577 the command doesn't execute and Mercurial returns the failure
577 the command doesn't execute and Mercurial returns the failure
578 code.
578 code.
579 ``prechangegroup``
579 ``prechangegroup``
580 Run before a changegroup is added via push, pull or unbundle. Exit
580 Run before a changegroup is added via push, pull or unbundle. Exit
581 status 0 allows the changegroup to proceed. Non-zero status will
581 status 0 allows the changegroup to proceed. Non-zero status will
582 cause the push, pull or unbundle to fail. URL from which changes
582 cause the push, pull or unbundle to fail. URL from which changes
583 will come is in ``$HG_URL``.
583 will come is in ``$HG_URL``.
584 ``precommit``
584 ``precommit``
585 Run before starting a local commit. Exit status 0 allows the
585 Run before starting a local commit. Exit status 0 allows the
586 commit to proceed. Non-zero status will cause the commit to fail.
586 commit to proceed. Non-zero status will cause the commit to fail.
587 Parent changeset IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
587 Parent changeset IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
588 ``preoutgoing``
588 ``preoutgoing``
589 Run before collecting changes to send from the local repository to
589 Run before collecting changes to send from the local repository to
590 another. Non-zero status will cause failure. This lets you prevent
590 another. Non-zero status will cause failure. This lets you prevent
591 pull over HTTP or SSH. Also prevents against local pull, push
591 pull over HTTP or SSH. Also prevents against local pull, push
592 (outbound) or bundle commands, but not effective, since you can
592 (outbound) or bundle commands, but not effective, since you can
593 just copy files instead then. Source of operation is in
593 just copy files instead then. Source of operation is in
594 ``$HG_SOURCE``. If "serve", operation is happening on behalf of remote
594 ``$HG_SOURCE``. If "serve", operation is happening on behalf of remote
595 SSH or HTTP repository. If "push", "pull" or "bundle", operation
595 SSH or HTTP repository. If "push", "pull" or "bundle", operation
596 is happening on behalf of repository on same system.
596 is happening on behalf of repository on same system.
597 ``pretag``
597 ``pretag``
598 Run before creating a tag. Exit status 0 allows the tag to be
598 Run before creating a tag. Exit status 0 allows the tag to be
599 created. Non-zero status will cause the tag to fail. ID of
599 created. Non-zero status will cause the tag to fail. ID of
600 changeset to tag is in ``$HG_NODE``. Name of tag is in ``$HG_TAG``. Tag is
600 changeset to tag is in ``$HG_NODE``. Name of tag is in ``$HG_TAG``. Tag is
601 local if ``$HG_LOCAL=1``, in repository if ``$HG_LOCAL=0``.
601 local if ``$HG_LOCAL=1``, in repository if ``$HG_LOCAL=0``.
602 ``pretxnchangegroup``
602 ``pretxnchangegroup``
603 Run after a changegroup has been added via push, pull or unbundle,
603 Run after a changegroup has been added via push, pull or unbundle,
604 but before the transaction has been committed. Changegroup is
604 but before the transaction has been committed. Changegroup is
605 visible to hook program. This lets you validate incoming changes
605 visible to hook program. This lets you validate incoming changes
606 before accepting them. Passed the ID of the first new changeset in
606 before accepting them. Passed the ID of the first new changeset in
607 ``$HG_NODE``. Exit status 0 allows the transaction to commit. Non-zero
607 ``$HG_NODE``. Exit status 0 allows the transaction to commit. Non-zero
608 status will cause the transaction to be rolled back and the push,
608 status will cause the transaction to be rolled back and the push,
609 pull or unbundle will fail. URL that was source of changes is in
609 pull or unbundle will fail. URL that was source of changes is in
610 ``$HG_URL``.
610 ``$HG_URL``.
611 ``pretxncommit``
611 ``pretxncommit``
612 Run after a changeset has been created but the transaction not yet
612 Run after a changeset has been created but the transaction not yet
613 committed. Changeset is visible to hook program. This lets you
613 committed. Changeset is visible to hook program. This lets you
614 validate commit message and changes. Exit status 0 allows the
614 validate commit message and changes. Exit status 0 allows the
615 commit to proceed. Non-zero status will cause the transaction to
615 commit to proceed. Non-zero status will cause the transaction to
616 be rolled back. ID of changeset is in ``$HG_NODE``. Parent changeset
616 be rolled back. ID of changeset is in ``$HG_NODE``. Parent changeset
617 IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
617 IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
618 ``preupdate``
618 ``preupdate``
619 Run before updating the working directory. Exit status 0 allows
619 Run before updating the working directory. Exit status 0 allows
620 the update to proceed. Non-zero status will prevent the update.
620 the update to proceed. Non-zero status will prevent the update.
621 Changeset ID of first new parent is in ``$HG_PARENT1``. If merge, ID
621 Changeset ID of first new parent is in ``$HG_PARENT1``. If merge, ID
622 of second new parent is in ``$HG_PARENT2``.
622 of second new parent is in ``$HG_PARENT2``.
623 ``tag``
623 ``tag``
624 Run after a tag is created. ID of tagged changeset is in ``$HG_NODE``.
624 Run after a tag is created. ID of tagged changeset is in ``$HG_NODE``.
625 Name of tag is in ``$HG_TAG``. Tag is local if ``$HG_LOCAL=1``, in
625 Name of tag is in ``$HG_TAG``. Tag is local if ``$HG_LOCAL=1``, in
626 repository if ``$HG_LOCAL=0``.
626 repository if ``$HG_LOCAL=0``.
627 ``update``
627 ``update``
628 Run after updating the working directory. Changeset ID of first
628 Run after updating the working directory. Changeset ID of first
629 new parent is in ``$HG_PARENT1``. If merge, ID of second new parent is
629 new parent is in ``$HG_PARENT1``. If merge, ID of second new parent is
630 in ``$HG_PARENT2``. If the update succeeded, ``$HG_ERROR=0``. If the
630 in ``$HG_PARENT2``. If the update succeeded, ``$HG_ERROR=0``. If the
631 update failed (e.g. because conflicts not resolved), ``$HG_ERROR=1``.
631 update failed (e.g. because conflicts not resolved), ``$HG_ERROR=1``.
632
632
633 .. note:: It is generally better to use standard hooks rather than the
633 .. note:: It is generally better to use standard hooks rather than the
634 generic pre- and post- command hooks as they are guaranteed to be
634 generic pre- and post- command hooks as they are guaranteed to be
635 called in the appropriate contexts for influencing transactions.
635 called in the appropriate contexts for influencing transactions.
636 Also, hooks like "commit" will be called in all contexts that
636 Also, hooks like "commit" will be called in all contexts that
637 generate a commit (e.g. tag) and not just the commit command.
637 generate a commit (e.g. tag) and not just the commit command.
638
638
639 .. note:: Environment variables with empty values may not be passed to
639 .. note:: Environment variables with empty values may not be passed to
640 hooks on platforms such as Windows. As an example, ``$HG_PARENT2``
640 hooks on platforms such as Windows. As an example, ``$HG_PARENT2``
641 will have an empty value under Unix-like platforms for non-merge
641 will have an empty value under Unix-like platforms for non-merge
642 changesets, while it will not be available at all under Windows.
642 changesets, while it will not be available at all under Windows.
643
643
644 The syntax for Python hooks is as follows::
644 The syntax for Python hooks is as follows::
645
645
646 hookname = python:modulename.submodule.callable
646 hookname = python:modulename.submodule.callable
647 hookname = python:/path/to/python/module.py:callable
647 hookname = python:/path/to/python/module.py:callable
648
648
649 Python hooks are run within the Mercurial process. Each hook is
649 Python hooks are run within the Mercurial process. Each hook is
650 called with at least three keyword arguments: a ui object (keyword
650 called with at least three keyword arguments: a ui object (keyword
651 ``ui``), a repository object (keyword ``repo``), and a ``hooktype``
651 ``ui``), a repository object (keyword ``repo``), and a ``hooktype``
652 keyword that tells what kind of hook is used. Arguments listed as
652 keyword that tells what kind of hook is used. Arguments listed as
653 environment variables above are passed as keyword arguments, with no
653 environment variables above are passed as keyword arguments, with no
654 ``HG_`` prefix, and names in lower case.
654 ``HG_`` prefix, and names in lower case.
655
655
656 If a Python hook returns a "true" value or raises an exception, this
656 If a Python hook returns a "true" value or raises an exception, this
657 is treated as a failure.
657 is treated as a failure.
658
658
659
659
660 ``http_proxy``
660 ``http_proxy``
661 """"""""""""""
661 """"""""""""""
662 Used to access web-based Mercurial repositories through a HTTP
662 Used to access web-based Mercurial repositories through a HTTP
663 proxy.
663 proxy.
664
664
665 ``host``
665 ``host``
666 Host name and (optional) port of the proxy server, for example
666 Host name and (optional) port of the proxy server, for example
667 "myproxy:8000".
667 "myproxy:8000".
668 ``no``
668 ``no``
669 Optional. Comma-separated list of host names that should bypass
669 Optional. Comma-separated list of host names that should bypass
670 the proxy.
670 the proxy.
671 ``passwd``
671 ``passwd``
672 Optional. Password to authenticate with at the proxy server.
672 Optional. Password to authenticate with at the proxy server.
673 ``user``
673 ``user``
674 Optional. User name to authenticate with at the proxy server.
674 Optional. User name to authenticate with at the proxy server.
675 ``always``
675 ``always``
676 Optional. Always use the proxy, even for localhost and any entries
676 Optional. Always use the proxy, even for localhost and any entries
677 in ``http_proxy.no``. True or False. Default: False.
677 in ``http_proxy.no``. True or False. Default: False.
678
678
679 ``smtp``
679 ``smtp``
680 """"""""
680 """"""""
681 Configuration for extensions that need to send email messages.
681 Configuration for extensions that need to send email messages.
682
682
683 ``host``
683 ``host``
684 Host name of mail server, e.g. "mail.example.com".
684 Host name of mail server, e.g. "mail.example.com".
685 ``port``
685 ``port``
686 Optional. Port to connect to on mail server. Default: 25.
686 Optional. Port to connect to on mail server. Default: 25.
687 ``tls``
687 ``tls``
688 Optional. Whether to connect to mail server using TLS. True or
688 Optional. Whether to connect to mail server using TLS. True or
689 False. Default: False.
689 False. Default: False.
690 ``username``
690 ``username``
691 Optional. User name to authenticate to SMTP server with. If
691 Optional. User name to authenticate to SMTP server with. If
692 username is specified, password must also be specified.
692 username is specified, password must also be specified.
693 Default: none.
693 Default: none.
694 ``password``
694 ``password``
695 Optional. Password to authenticate to SMTP server with. If
695 Optional. Password to authenticate to SMTP server with. If
696 username is specified, password must also be specified.
696 username is specified, password must also be specified.
697 Default: none.
697 Default: none.
698 ``local_hostname``
698 ``local_hostname``
699 Optional. It's the hostname that the sender can use to identify
699 Optional. It's the hostname that the sender can use to identify
700 itself to the MTA.
700 itself to the MTA.
701
701
702
702
703 ``patch``
703 ``patch``
704 """""""""
704 """""""""
705 Settings used when applying patches, for instance through the 'import'
705 Settings used when applying patches, for instance through the 'import'
706 command or with Mercurial Queues extension.
706 command or with Mercurial Queues extension.
707
707
708 ``eol``
708 ``eol``
709 When set to 'strict' patch content and patched files end of lines
709 When set to 'strict' patch content and patched files end of lines
710 are preserved. When set to ``lf`` or ``crlf``, both files end of
710 are preserved. When set to ``lf`` or ``crlf``, both files end of
711 lines are ignored when patching and the result line endings are
711 lines are ignored when patching and the result line endings are
712 normalized to either LF (Unix) or CRLF (Windows). When set to
712 normalized to either LF (Unix) or CRLF (Windows). When set to
713 ``auto``, end of lines are again ignored while patching but line
713 ``auto``, end of lines are again ignored while patching but line
714 endings in patched files are normalized to their original setting
714 endings in patched files are normalized to their original setting
715 on a per-file basis. If target file does not exist or has no end
715 on a per-file basis. If target file does not exist or has no end
716 of line, patch line endings are preserved.
716 of line, patch line endings are preserved.
717 Default: strict.
717 Default: strict.
718
718
719
719
720 ``paths``
720 ``paths``
721 """""""""
721 """""""""
722 Assigns symbolic names to repositories. The left side is the
722 Assigns symbolic names to repositories. The left side is the
723 symbolic name, and the right gives the directory or URL that is the
723 symbolic name, and the right gives the directory or URL that is the
724 location of the repository. Default paths can be declared by setting
724 location of the repository. Default paths can be declared by setting
725 the following entries.
725 the following entries.
726
726
727 ``default``
727 ``default``
728 Directory or URL to use when pulling if no source is specified.
728 Directory or URL to use when pulling if no source is specified.
729 Default is set to repository from which the current repository was
729 Default is set to repository from which the current repository was
730 cloned.
730 cloned.
731 ``default-push``
731 ``default-push``
732 Optional. Directory or URL to use when pushing if no destination
732 Optional. Directory or URL to use when pushing if no destination
733 is specified.
733 is specified.
734
734
735
735
736 ``profiling``
736 ``profiling``
737 """""""""""""
737 """""""""""""
738 Specifies profiling format and file output. In this section
738 Specifies profiling format and file output. In this section
739 description, 'profiling data' stands for the raw data collected
739 description, 'profiling data' stands for the raw data collected
740 during profiling, while 'profiling report' stands for a statistical
740 during profiling, while 'profiling report' stands for a statistical
741 text report generated from the profiling data. The profiling is done
741 text report generated from the profiling data. The profiling is done
742 using lsprof.
742 using lsprof.
743
743
744 ``format``
744 ``format``
745 Profiling format.
745 Profiling format.
746 Default: text.
746 Default: text.
747
747
748 ``text``
748 ``text``
749 Generate a profiling report. When saving to a file, it should be
749 Generate a profiling report. When saving to a file, it should be
750 noted that only the report is saved, and the profiling data is
750 noted that only the report is saved, and the profiling data is
751 not kept.
751 not kept.
752 ``kcachegrind``
752 ``kcachegrind``
753 Format profiling data for kcachegrind use: when saving to a
753 Format profiling data for kcachegrind use: when saving to a
754 file, the generated file can directly be loaded into
754 file, the generated file can directly be loaded into
755 kcachegrind.
755 kcachegrind.
756 ``output``
756 ``output``
757 File path where profiling data or report should be saved. If the
757 File path where profiling data or report should be saved. If the
758 file exists, it is replaced. Default: None, data is printed on
758 file exists, it is replaced. Default: None, data is printed on
759 stderr
759 stderr
760
760
761 ``server``
761 ``server``
762 """"""""""
762 """"""""""
763 Controls generic server settings.
763 Controls generic server settings.
764
764
765 ``uncompressed``
765 ``uncompressed``
766 Whether to allow clients to clone a repository using the
766 Whether to allow clients to clone a repository using the
767 uncompressed streaming protocol. This transfers about 40% more
767 uncompressed streaming protocol. This transfers about 40% more
768 data than a regular clone, but uses less memory and CPU on both
768 data than a regular clone, but uses less memory and CPU on both
769 server and client. Over a LAN (100 Mbps or better) or a very fast
769 server and client. Over a LAN (100 Mbps or better) or a very fast
770 WAN, an uncompressed streaming clone is a lot faster (~10x) than a
770 WAN, an uncompressed streaming clone is a lot faster (~10x) than a
771 regular clone. Over most WAN connections (anything slower than
771 regular clone. Over most WAN connections (anything slower than
772 about 6 Mbps), uncompressed streaming is slower, because of the
772 about 6 Mbps), uncompressed streaming is slower, because of the
773 extra data transfer overhead. This mode will also temporarily hold
773 extra data transfer overhead. This mode will also temporarily hold
774 the write lock while determining what data to transfer.
774 the write lock while determining what data to transfer.
775 Default is True.
775 Default is True.
776
776
777 ``validate``
777 ``validate``
778 Whether to validate the completeness of pushed changesets by
778 Whether to validate the completeness of pushed changesets by
779 checking that all new file revisions specified in manifests are
779 checking that all new file revisions specified in manifests are
780 present. Default is False.
780 present. Default is False.
781
781
782 ``trusted``
782 ``trusted``
783 """""""""""
783 """""""""""
784 For security reasons, Mercurial will not use the settings in the
784
785 Mercurial will not use the settings in the
785 ``.hg/hgrc`` file from a repository if it doesn't belong to a trusted
786 ``.hg/hgrc`` file from a repository if it doesn't belong to a trusted
786 user or to a trusted group. The main exception is the web interface,
787 user or to a trusted group, as various hgrc features allow arbitrary
787 which automatically uses some safe settings, since it's common to
788 commands to be run. This issue is often encountered when configuring
788 serve repositories from different users.
789 hooks or extensions for shared repositories or servers. However,
790 the web interface will use some safe settings from the ``[web]``
791 section.
789
792
790 This section specifies what users and groups are trusted. The
793 This section specifies what users and groups are trusted. The
791 current user is always trusted. To trust everybody, list a user or a
794 current user is always trusted. To trust everybody, list a user or a
792 group with name ``*``.
795 group with name ``*``. These settings must be placed in an
796 *already-trusted file* to take effect, such as ``$HOME/.hgrc`` of the
797 user or service running Mercurial.
793
798
794 ``users``
799 ``users``
795 Comma-separated list of trusted users.
800 Comma-separated list of trusted users.
796 ``groups``
801 ``groups``
797 Comma-separated list of trusted groups.
802 Comma-separated list of trusted groups.
798
803
799
804
800 ``ui``
805 ``ui``
801 """"""
806 """"""
802
807
803 User interface controls.
808 User interface controls.
804
809
805 ``archivemeta``
810 ``archivemeta``
806 Whether to include the .hg_archival.txt file containing meta data
811 Whether to include the .hg_archival.txt file containing meta data
807 (hashes for the repository base and for tip) in archives created
812 (hashes for the repository base and for tip) in archives created
808 by the :hg:`archive` command or downloaded via hgweb.
813 by the :hg:`archive` command or downloaded via hgweb.
809 Default is True.
814 Default is True.
810 ``askusername``
815 ``askusername``
811 Whether to prompt for a username when committing. If True, and
816 Whether to prompt for a username when committing. If True, and
812 neither ``$HGUSER`` nor ``$EMAIL`` has been specified, then the user will
817 neither ``$HGUSER`` nor ``$EMAIL`` has been specified, then the user will
813 be prompted to enter a username. If no username is entered, the
818 be prompted to enter a username. If no username is entered, the
814 default ``USER@HOST`` is used instead.
819 default ``USER@HOST`` is used instead.
815 Default is False.
820 Default is False.
816 ``debug``
821 ``debug``
817 Print debugging information. True or False. Default is False.
822 Print debugging information. True or False. Default is False.
818 ``editor``
823 ``editor``
819 The editor to use during a commit. Default is ``$EDITOR`` or ``vi``.
824 The editor to use during a commit. Default is ``$EDITOR`` or ``vi``.
820 ``fallbackencoding``
825 ``fallbackencoding``
821 Encoding to try if it's not possible to decode the changelog using
826 Encoding to try if it's not possible to decode the changelog using
822 UTF-8. Default is ISO-8859-1.
827 UTF-8. Default is ISO-8859-1.
823 ``ignore``
828 ``ignore``
824 A file to read per-user ignore patterns from. This file should be
829 A file to read per-user ignore patterns from. This file should be
825 in the same format as a repository-wide .hgignore file. This
830 in the same format as a repository-wide .hgignore file. This
826 option supports hook syntax, so if you want to specify multiple
831 option supports hook syntax, so if you want to specify multiple
827 ignore files, you can do so by setting something like
832 ignore files, you can do so by setting something like
828 ``ignore.other = ~/.hgignore2``. For details of the ignore file
833 ``ignore.other = ~/.hgignore2``. For details of the ignore file
829 format, see the |hgignore(5)|_ man page.
834 format, see the |hgignore(5)|_ man page.
830 ``interactive``
835 ``interactive``
831 Allow to prompt the user. True or False. Default is True.
836 Allow to prompt the user. True or False. Default is True.
832 ``logtemplate``
837 ``logtemplate``
833 Template string for commands that print changesets.
838 Template string for commands that print changesets.
834 ``merge``
839 ``merge``
835 The conflict resolution program to use during a manual merge.
840 The conflict resolution program to use during a manual merge.
836 There are some internal tools available:
841 There are some internal tools available:
837
842
838 ``internal:local``
843 ``internal:local``
839 keep the local version
844 keep the local version
840 ``internal:other``
845 ``internal:other``
841 use the other version
846 use the other version
842 ``internal:merge``
847 ``internal:merge``
843 use the internal non-interactive merge tool
848 use the internal non-interactive merge tool
844 ``internal:fail``
849 ``internal:fail``
845 fail to merge
850 fail to merge
846
851
847 For more information on configuring merge tools see the
852 For more information on configuring merge tools see the
848 merge-tools_ section.
853 merge-tools_ section.
849
854
850 ``patch``
855 ``patch``
851 command to use to apply patches. Look for ``gpatch`` or ``patch`` in
856 command to use to apply patches. Look for ``gpatch`` or ``patch`` in
852 PATH if unset.
857 PATH if unset.
853 ``quiet``
858 ``quiet``
854 Reduce the amount of output printed. True or False. Default is False.
859 Reduce the amount of output printed. True or False. Default is False.
855 ``remotecmd``
860 ``remotecmd``
856 remote command to use for clone/push/pull operations. Default is ``hg``.
861 remote command to use for clone/push/pull operations. Default is ``hg``.
857 ``report_untrusted``
862 ``report_untrusted``
858 Warn if a ``.hg/hgrc`` file is ignored due to not being owned by a
863 Warn if a ``.hg/hgrc`` file is ignored due to not being owned by a
859 trusted user or group. True or False. Default is True.
864 trusted user or group. True or False. Default is True.
860 ``slash``
865 ``slash``
861 Display paths using a slash (``/``) as the path separator. This
866 Display paths using a slash (``/``) as the path separator. This
862 only makes a difference on systems where the default path
867 only makes a difference on systems where the default path
863 separator is not the slash character (e.g. Windows uses the
868 separator is not the slash character (e.g. Windows uses the
864 backslash character (``\``)).
869 backslash character (``\``)).
865 Default is False.
870 Default is False.
866 ``ssh``
871 ``ssh``
867 command to use for SSH connections. Default is ``ssh``.
872 command to use for SSH connections. Default is ``ssh``.
868 ``strict``
873 ``strict``
869 Require exact command names, instead of allowing unambiguous
874 Require exact command names, instead of allowing unambiguous
870 abbreviations. True or False. Default is False.
875 abbreviations. True or False. Default is False.
871 ``style``
876 ``style``
872 Name of style to use for command output.
877 Name of style to use for command output.
873 ``timeout``
878 ``timeout``
874 The timeout used when a lock is held (in seconds), a negative value
879 The timeout used when a lock is held (in seconds), a negative value
875 means no timeout. Default is 600.
880 means no timeout. Default is 600.
876 ``traceback``
881 ``traceback``
877 Mercurial always prints a traceback when an unknown exception
882 Mercurial always prints a traceback when an unknown exception
878 occurs. Setting this to True will make Mercurial print a traceback
883 occurs. Setting this to True will make Mercurial print a traceback
879 on all exceptions, even those recognized by Mercurial (such as
884 on all exceptions, even those recognized by Mercurial (such as
880 IOError or MemoryError). Default is False.
885 IOError or MemoryError). Default is False.
881 ``username``
886 ``username``
882 The committer of a changeset created when running "commit".
887 The committer of a changeset created when running "commit".
883 Typically a person's name and email address, e.g. ``Fred Widget
888 Typically a person's name and email address, e.g. ``Fred Widget
884 <fred@example.com>``. Default is ``$EMAIL`` or ``username@hostname``. If
889 <fred@example.com>``. Default is ``$EMAIL`` or ``username@hostname``. If
885 the username in hgrc is empty, it has to be specified manually or
890 the username in hgrc is empty, it has to be specified manually or
886 in a different hgrc file (e.g. ``$HOME/.hgrc``, if the admin set
891 in a different hgrc file (e.g. ``$HOME/.hgrc``, if the admin set
887 ``username =`` in the system hgrc). Environment variables in the
892 ``username =`` in the system hgrc). Environment variables in the
888 username are expanded.
893 username are expanded.
889 ``verbose``
894 ``verbose``
890 Increase the amount of output printed. True or False. Default is False.
895 Increase the amount of output printed. True or False. Default is False.
891
896
892
897
893 ``web``
898 ``web``
894 """""""
899 """""""
895 Web interface configuration.
900 Web interface configuration.
896
901
897 ``accesslog``
902 ``accesslog``
898 Where to output the access log. Default is stdout.
903 Where to output the access log. Default is stdout.
899 ``address``
904 ``address``
900 Interface address to bind to. Default is all.
905 Interface address to bind to. Default is all.
901 ``allow_archive``
906 ``allow_archive``
902 List of archive format (bz2, gz, zip) allowed for downloading.
907 List of archive format (bz2, gz, zip) allowed for downloading.
903 Default is empty.
908 Default is empty.
904 ``allowbz2``
909 ``allowbz2``
905 (DEPRECATED) Whether to allow .tar.bz2 downloading of repository
910 (DEPRECATED) Whether to allow .tar.bz2 downloading of repository
906 revisions.
911 revisions.
907 Default is False.
912 Default is False.
908 ``allowgz``
913 ``allowgz``
909 (DEPRECATED) Whether to allow .tar.gz downloading of repository
914 (DEPRECATED) Whether to allow .tar.gz downloading of repository
910 revisions.
915 revisions.
911 Default is False.
916 Default is False.
912 ``allowpull``
917 ``allowpull``
913 Whether to allow pulling from the repository. Default is True.
918 Whether to allow pulling from the repository. Default is True.
914 ``allow_push``
919 ``allow_push``
915 Whether to allow pushing to the repository. If empty or not set,
920 Whether to allow pushing to the repository. If empty or not set,
916 push is not allowed. If the special value ``*``, any remote user can
921 push is not allowed. If the special value ``*``, any remote user can
917 push, including unauthenticated users. Otherwise, the remote user
922 push, including unauthenticated users. Otherwise, the remote user
918 must have been authenticated, and the authenticated user name must
923 must have been authenticated, and the authenticated user name must
919 be present in this list. The contents of the allow_push list are
924 be present in this list. The contents of the allow_push list are
920 examined after the deny_push list.
925 examined after the deny_push list.
921 ``allow_read``
926 ``allow_read``
922 If the user has not already been denied repository access due to
927 If the user has not already been denied repository access due to
923 the contents of deny_read, this list determines whether to grant
928 the contents of deny_read, this list determines whether to grant
924 repository access to the user. If this list is not empty, and the
929 repository access to the user. If this list is not empty, and the
925 user is unauthenticated or not present in the list, then access is
930 user is unauthenticated or not present in the list, then access is
926 denied for the user. If the list is empty or not set, then access
931 denied for the user. If the list is empty or not set, then access
927 is permitted to all users by default. Setting allow_read to the
932 is permitted to all users by default. Setting allow_read to the
928 special value ``*`` is equivalent to it not being set (i.e. access
933 special value ``*`` is equivalent to it not being set (i.e. access
929 is permitted to all users). The contents of the allow_read list are
934 is permitted to all users). The contents of the allow_read list are
930 examined after the deny_read list.
935 examined after the deny_read list.
931 ``allowzip``
936 ``allowzip``
932 (DEPRECATED) Whether to allow .zip downloading of repository
937 (DEPRECATED) Whether to allow .zip downloading of repository
933 revisions. Default is False. This feature creates temporary files.
938 revisions. Default is False. This feature creates temporary files.
934 ``baseurl``
939 ``baseurl``
935 Base URL to use when publishing URLs in other locations, so
940 Base URL to use when publishing URLs in other locations, so
936 third-party tools like email notification hooks can construct
941 third-party tools like email notification hooks can construct
937 URLs. Example: ``http://hgserver/repos/``.
942 URLs. Example: ``http://hgserver/repos/``.
938 ``cacerts``
943 ``cacerts``
939 Path to file containing a list of PEM encoded certificate authorities
944 Path to file containing a list of PEM encoded certificate authorities
940 that may be used to verify an SSL server's identity. The form must be
945 that may be used to verify an SSL server's identity. The form must be
941 as follows::
946 as follows::
942
947
943 -----BEGIN CERTIFICATE-----
948 -----BEGIN CERTIFICATE-----
944 ... (certificate in base64 PEM encoding) ...
949 ... (certificate in base64 PEM encoding) ...
945 -----END CERTIFICATE-----
950 -----END CERTIFICATE-----
946 -----BEGIN CERTIFICATE-----
951 -----BEGIN CERTIFICATE-----
947 ... (certificate in base64 PEM encoding) ...
952 ... (certificate in base64 PEM encoding) ...
948 -----END CERTIFICATE-----
953 -----END CERTIFICATE-----
949
954
950 This feature is only supported when using Python 2.6. If you wish to
955 This feature is only supported when using Python 2.6. If you wish to
951 use it with earlier versions of Python, install the backported
956 use it with earlier versions of Python, install the backported
952 version of the ssl library that is available from
957 version of the ssl library that is available from
953 ``http://pypi.python.org``.
958 ``http://pypi.python.org``.
954
959
955 You can use OpenSSL's CA certificate file if your platform has one.
960 You can use OpenSSL's CA certificate file if your platform has one.
956 On most Linux systems this will be ``/etc/ssl/certs/ca-certificates.crt``.
961 On most Linux systems this will be ``/etc/ssl/certs/ca-certificates.crt``.
957 Otherwise you will have to generate this file manually.
962 Otherwise you will have to generate this file manually.
958 ``contact``
963 ``contact``
959 Name or email address of the person in charge of the repository.
964 Name or email address of the person in charge of the repository.
960 Defaults to ui.username or ``$EMAIL`` or "unknown" if unset or empty.
965 Defaults to ui.username or ``$EMAIL`` or "unknown" if unset or empty.
961 ``deny_push``
966 ``deny_push``
962 Whether to deny pushing to the repository. If empty or not set,
967 Whether to deny pushing to the repository. If empty or not set,
963 push is not denied. If the special value ``*``, all remote users are
968 push is not denied. If the special value ``*``, all remote users are
964 denied push. Otherwise, unauthenticated users are all denied, and
969 denied push. Otherwise, unauthenticated users are all denied, and
965 any authenticated user name present in this list is also denied. The
970 any authenticated user name present in this list is also denied. The
966 contents of the deny_push list are examined before the allow_push list.
971 contents of the deny_push list are examined before the allow_push list.
967 ``deny_read``
972 ``deny_read``
968 Whether to deny reading/viewing of the repository. If this list is
973 Whether to deny reading/viewing of the repository. If this list is
969 not empty, unauthenticated users are all denied, and any
974 not empty, unauthenticated users are all denied, and any
970 authenticated user name present in this list is also denied access to
975 authenticated user name present in this list is also denied access to
971 the repository. If set to the special value ``*``, all remote users
976 the repository. If set to the special value ``*``, all remote users
972 are denied access (rarely needed ;). If deny_read is empty or not set,
977 are denied access (rarely needed ;). If deny_read is empty or not set,
973 the determination of repository access depends on the presence and
978 the determination of repository access depends on the presence and
974 content of the allow_read list (see description). If both
979 content of the allow_read list (see description). If both
975 deny_read and allow_read are empty or not set, then access is
980 deny_read and allow_read are empty or not set, then access is
976 permitted to all users by default. If the repository is being
981 permitted to all users by default. If the repository is being
977 served via hgwebdir, denied users will not be able to see it in
982 served via hgwebdir, denied users will not be able to see it in
978 the list of repositories. The contents of the deny_read list have
983 the list of repositories. The contents of the deny_read list have
979 priority over (are examined before) the contents of the allow_read
984 priority over (are examined before) the contents of the allow_read
980 list.
985 list.
981 ``descend``
986 ``descend``
982 hgwebdir indexes will not descend into subdirectories. Only repositories
987 hgwebdir indexes will not descend into subdirectories. Only repositories
983 directly in the current path will be shown (other repositories are still
988 directly in the current path will be shown (other repositories are still
984 available from the index corresponding to their containing path).
989 available from the index corresponding to their containing path).
985 ``description``
990 ``description``
986 Textual description of the repository's purpose or contents.
991 Textual description of the repository's purpose or contents.
987 Default is "unknown".
992 Default is "unknown".
988 ``encoding``
993 ``encoding``
989 Character encoding name. Default is the current locale charset.
994 Character encoding name. Default is the current locale charset.
990 Example: "UTF-8"
995 Example: "UTF-8"
991 ``errorlog``
996 ``errorlog``
992 Where to output the error log. Default is stderr.
997 Where to output the error log. Default is stderr.
993 ``hidden``
998 ``hidden``
994 Whether to hide the repository in the hgwebdir index.
999 Whether to hide the repository in the hgwebdir index.
995 Default is False.
1000 Default is False.
996 ``ipv6``
1001 ``ipv6``
997 Whether to use IPv6. Default is False.
1002 Whether to use IPv6. Default is False.
998 ``name``
1003 ``name``
999 Repository name to use in the web interface. Default is current
1004 Repository name to use in the web interface. Default is current
1000 working directory.
1005 working directory.
1001 ``maxchanges``
1006 ``maxchanges``
1002 Maximum number of changes to list on the changelog. Default is 10.
1007 Maximum number of changes to list on the changelog. Default is 10.
1003 ``maxfiles``
1008 ``maxfiles``
1004 Maximum number of files to list per changeset. Default is 10.
1009 Maximum number of files to list per changeset. Default is 10.
1005 ``port``
1010 ``port``
1006 Port to listen on. Default is 8000.
1011 Port to listen on. Default is 8000.
1007 ``prefix``
1012 ``prefix``
1008 Prefix path to serve from. Default is '' (server root).
1013 Prefix path to serve from. Default is '' (server root).
1009 ``push_ssl``
1014 ``push_ssl``
1010 Whether to require that inbound pushes be transported over SSL to
1015 Whether to require that inbound pushes be transported over SSL to
1011 prevent password sniffing. Default is True.
1016 prevent password sniffing. Default is True.
1012 ``staticurl``
1017 ``staticurl``
1013 Base URL to use for static files. If unset, static files (e.g. the
1018 Base URL to use for static files. If unset, static files (e.g. the
1014 hgicon.png favicon) will be served by the CGI script itself. Use
1019 hgicon.png favicon) will be served by the CGI script itself. Use
1015 this setting to serve them directly with the HTTP server.
1020 this setting to serve them directly with the HTTP server.
1016 Example: ``http://hgserver/static/``.
1021 Example: ``http://hgserver/static/``.
1017 ``stripes``
1022 ``stripes``
1018 How many lines a "zebra stripe" should span in multiline output.
1023 How many lines a "zebra stripe" should span in multiline output.
1019 Default is 1; set to 0 to disable.
1024 Default is 1; set to 0 to disable.
1020 ``style``
1025 ``style``
1021 Which template map style to use.
1026 Which template map style to use.
1022 ``templates``
1027 ``templates``
1023 Where to find the HTML templates. Default is install path.
1028 Where to find the HTML templates. Default is install path.
1024
1029
1025
1030
1026 Author
1031 Author
1027 ------
1032 ------
1028 Bryan O'Sullivan <bos@serpentine.com>.
1033 Bryan O'Sullivan <bos@serpentine.com>.
1029
1034
1030 Mercurial was written by Matt Mackall <mpm@selenic.com>.
1035 Mercurial was written by Matt Mackall <mpm@selenic.com>.
1031
1036
1032 See Also
1037 See Also
1033 --------
1038 --------
1034 |hg(1)|_, |hgignore(5)|_
1039 |hg(1)|_, |hgignore(5)|_
1035
1040
1036 Copying
1041 Copying
1037 -------
1042 -------
1038 This manual page is copyright 2005 Bryan O'Sullivan.
1043 This manual page is copyright 2005 Bryan O'Sullivan.
1039 Mercurial is copyright 2005-2010 Matt Mackall.
1044 Mercurial is copyright 2005-2010 Matt Mackall.
1040 Free use of this software is granted under the terms of the GNU General
1045 Free use of this software is granted under the terms of the GNU General
1041 Public License version 2 or any later version.
1046 Public License version 2 or any later version.
1042
1047
1043 .. include:: common.txt
1048 .. include:: common.txt
General Comments 0
You need to be logged in to leave comments. Login now