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