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