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