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