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