comparison doc/hgrc.5.txt @ 6446:ee5313bc3c0c

asciidoc: consistently use 1 space after full stop Note: the command doc strings included in hg (1) are still inconsistent wrt to spaces after full stops.
author Christian Ebert <blacktrash@gmx.net>
date Tue, 01 Apr 2008 14:35:35 +0200
parents a1db3d8b9b8a
children 944a292d522a
comparison
equal deleted inserted replaced
6445:a1db3d8b9b8a 6446:ee5313bc3c0c
15 FILES 15 FILES
16 ----- 16 -----
17 17
18 Mercurial reads configuration data from several files, if they exist. 18 Mercurial reads configuration data from several files, if they exist.
19 The names of these files depend on the system on which Mercurial is 19 The names of these files depend on the system on which Mercurial is
20 installed. *.rc files from a single directory are read in 20 installed. *.rc files from a single directory are read in
21 alphabetical order, later ones overriding earlier ones. Where 21 alphabetical order, later ones overriding earlier ones. Where
22 multiple paths are given below, settings from later paths override 22 multiple paths are given below, settings from later paths override
23 earlier ones. 23 earlier ones.
24 24
25 (Unix) <install-root>/etc/mercurial/hgrc.d/*.rc:: 25 (Unix) <install-root>/etc/mercurial/hgrc.d/*.rc::
26 (Unix) <install-root>/etc/mercurial/hgrc:: 26 (Unix) <install-root>/etc/mercurial/hgrc::
27 Per-installation configuration files, searched for in the 27 Per-installation configuration files, searched for in the
28 directory where Mercurial is installed. <install-root> is the 28 directory where Mercurial is installed. <install-root> is the
29 parent directory of the hg executable (or symlink) being run. 29 parent directory of the hg executable (or symlink) being run.
30 For example, if installed in /shared/tools/bin/hg, Mercurial will 30 For example, if installed in /shared/tools/bin/hg, Mercurial will
31 look in /shared/tools/etc/mercurial/hgrc. Options in these files 31 look in /shared/tools/etc/mercurial/hgrc. Options in these files
32 apply to all Mercurial commands executed by any user in any 32 apply to all Mercurial commands executed by any user in any
33 directory. 33 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 38 is running. Options in these files apply to all Mercurial
39 commands executed by any user in any directory. Options in these 39 commands executed by any user in any directory. Options in these
40 files override per-installation options. 40 files 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. 49 Mercurial commands executed by any user in any directory.
50 Registry keys contain PATH-like strings, every part of which must 50 Registry keys contain PATH-like strings, every part of which must
51 reference a Mercurial.ini file or be a directory where *.rc files 51 reference a Mercurial.ini file or be a directory where *.rc files
52 will be read. 52 will be read.
53 53
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. 59 Per-user configuration file(s), for the user running Mercurial.
60 On Windows 9x, %HOME% is replaced by %APPDATA%. 60 On Windows 9x, %HOME% is replaced by %APPDATA%.
61 Options in these files apply to all Mercurial commands executed 61 Options in these files apply to all Mercurial commands executed
62 by this user in any directory. Options in thes files override 62 by this user in any directory. Options in thes 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. 69 this file override options in all other configuration files.
70 On Unix, most of this file will be ignored if it doesn't belong 70 On Unix, most of this file will be ignored if it doesn't belong
71 to a trusted user or to a trusted group. See the documentation 71 to a trusted user or to a trusted group. See the documentation
72 for the trusted section below for more details. 72 for the trusted section below for more details.
73 73
74 SYNTAX 74 SYNTAX
75 ------ 75 ------
76 76
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
105 typically be used for newline processing or other 105 typically be used for newline processing or other
106 localization/canonicalization of files. 106 localization/canonicalization of files.
107 107
108 Filters consist of a filter pattern followed by a filter command. 108 Filters consist of a filter pattern followed by a filter command.
109 Filter patterns are globs by default, rooted at the repository 109 Filter patterns are globs by default, rooted at the repository
110 root. For example, to match any file ending in ".txt" in the root 110 root. For example, to match any file ending in ".txt" in the root
111 directory only, use the pattern "*.txt". To match any file ending 111 directory only, use the pattern "*.txt". To match any file ending
112 in ".c" anywhere in the repository, use the pattern "**.c". 112 in ".c" anywhere in the repository, use the pattern "**.c".
113 113
114 The filter command can start with a specifier, either "pipe:" or 114 The filter command can start with a specifier, either "pipe:" or
115 "tempfile:". If no specifier is given, "pipe:" is used by default. 115 "tempfile:". If no specifier is given, "pipe:" is used by default.
116 116
117 A "pipe:" command must accept data on stdin and return the 117 A "pipe:" command must accept data on stdin and return the
118 transformed data on stdout. 118 transformed data on stdout.
119 119
120 Pipe example: 120 Pipe example:
127 [decode] 127 [decode]
128 # recompress gzip files when writing them to the working dir (we 128 # recompress gzip files when writing them to the working dir (we
129 # can safely omit "pipe:", because it's the default) 129 # can safely omit "pipe:", because it's the default)
130 *.gz = gzip 130 *.gz = gzip
131 131
132 A "tempfile:" command is a template. The string INFILE is replaced 132 A "tempfile:" command is a template. The string INFILE is replaced
133 with the name of a temporary file that contains the data to be 133 with the name of a temporary file that contains the data to be
134 filtered by the command. The string OUTFILE is replaced with the 134 filtered by the command. The string OUTFILE is replaced with the
135 name of an empty temporary file, where the filtered data must be 135 name of an empty temporary file, where the filtered data must be
136 written by the command. 136 written by the command.
137 137
138 NOTE: the tempfile mechanism is recommended for Windows systems, 138 NOTE: the tempfile mechanism is recommended for Windows systems,
139 where the standard shell I/O redirection operators often have 139 where the standard shell I/O redirection operators often have
190 Ignore changes whose lines are all blank. 190 Ignore changes whose lines are all blank.
191 191
192 email:: 192 email::
193 Settings for extensions that send email messages. 193 Settings for extensions that send email messages.
194 from;; 194 from;;
195 Optional. Email address to use in "From" header and SMTP envelope 195 Optional. Email address to use in "From" header and SMTP envelope
196 of outgoing messages. 196 of outgoing messages.
197 to;; 197 to;;
198 Optional. Comma-separated list of recipients' email addresses. 198 Optional. Comma-separated list of recipients' email addresses.
199 cc;; 199 cc;;
200 Optional. Comma-separated list of carbon copy recipients' 200 Optional. Comma-separated list of carbon copy recipients'
201 email addresses. 201 email addresses.
202 bcc;; 202 bcc;;
203 Optional. Comma-separated list of blind carbon copy 203 Optional. Comma-separated list of blind carbon copy
204 recipients' email addresses. Cannot be set interactively. 204 recipients' email addresses. Cannot be set interactively.
205 method;; 205 method;;
206 Optional. Method to use to send email messages. If value is 206 Optional. Method to use to send email messages. If value is
207 "smtp" (default), use SMTP (see section "[smtp]" for 207 "smtp" (default), use SMTP (see section "[smtp]" for
208 configuration). Otherwise, use as name of program to run that 208 configuration). Otherwise, use as name of program to run that
209 acts like sendmail (takes "-f" option for sender, list of 209 acts like sendmail (takes "-f" option for sender, list of
210 recipients on command line, message on stdin). Normally, setting 210 recipients on command line, message on stdin). Normally, setting
211 this to "sendmail" or "/usr/sbin/sendmail" is enough to use 211 this to "sendmail" or "/usr/sbin/sendmail" is enough to use
212 sendmail to send messages. 212 sendmail to send messages.
213 213
214 Email example: 214 Email example:
215 215
296 premerge;; 296 premerge;;
297 Attempt to run internal non-interactive 3-way merge tool before 297 Attempt to run internal non-interactive 3-way merge tool before
298 launching external tool. 298 launching external tool.
299 Default: True 299 Default: True
300 binary;; 300 binary;;
301 This tool can merge binary files. Defaults to False, unless tool 301 This tool can merge binary files. Defaults to False, unless tool
302 was selected by file pattern match. 302 was selected by file pattern match.
303 symlink;; 303 symlink;;
304 This tool can merge symlinks. Defaults to False, even if tool was 304 This tool can merge symlinks. Defaults to False, even if tool was
305 selected by file pattern match. 305 selected by file pattern match.
306 checkconflicts;; 306 checkconflicts;;
307 Check whether there are conflicts even though the tool reported 307 Check whether there are conflicts even though the tool reported
308 success. 308 success.
309 Default: False 309 Default: False
317 gui;; 317 gui;;
318 This tool requires a graphical interface to run. Default: False 318 This tool requires a graphical interface to run. Default: False
319 regkey;; 319 regkey;;
320 Windows registry key which describes install location of this tool. 320 Windows registry key which describes install location of this tool.
321 Mercurial will search for this key first under HKEY_CURRENT_USER and 321 Mercurial will search for this key first under HKEY_CURRENT_USER and
322 then under HKEY_LOCAL_MACHINE. Default: None 322 then under HKEY_LOCAL_MACHINE. Default: None
323 regname;; 323 regname;;
324 Name of value to read from specified registry key. Defaults to the 324 Name of value to read from specified registry key. Defaults to the
325 unnamed (default) value. 325 unnamed (default) value.
326 regappend;; 326 regappend;;
327 String to append to the value read from the registry, typically the 327 String to append to the value read from the registry, typically the
328 executable name of the tool. Default: None 328 executable name of the tool. Default: None
329 329
330 hooks:: 330 hooks::
331 Commands or Python functions that get automatically executed by 331 Commands or Python functions that get automatically executed by
332 various actions such as starting or finishing a commit. Multiple 332 various actions such as starting or finishing a commit. Multiple
333 hooks can be run for the same action by appending a suffix to the 333 hooks can be run for the same action by appending a suffix to the
341 incoming = 341 incoming =
342 incoming.email = /my/email/hook 342 incoming.email = /my/email/hook
343 incoming.autobuild = /my/build/hook 343 incoming.autobuild = /my/build/hook
344 344
345 Most hooks are run with environment variables set that give added 345 Most hooks are run with environment variables set that give added
346 useful information. For each hook below, the environment variables 346 useful information. For each hook below, the environment variables
347 it is passed are listed with names of the form "$HG_foo". 347 it is passed are listed with names of the form "$HG_foo".
348 348
349 changegroup;; 349 changegroup;;
350 Run after a changegroup has been added via push, pull or 350 Run after a changegroup has been added via push, pull or
351 unbundle. ID of the first new changeset is in $HG_NODE. URL from 351 unbundle. ID of the first new changeset is in $HG_NODE. URL from
352 which changes came is in $HG_URL. 352 which changes came is in $HG_URL.
353 commit;; 353 commit;;
354 Run after a changeset has been created in the local repository. 354 Run after a changeset has been created in the local repository.
355 ID of the newly created changeset is in $HG_NODE. Parent 355 ID of the newly created changeset is in $HG_NODE. Parent
356 changeset IDs are in $HG_PARENT1 and $HG_PARENT2. 356 changeset IDs are in $HG_PARENT1 and $HG_PARENT2.
357 incoming;; 357 incoming;;
358 Run after a changeset has been pulled, pushed, or unbundled into 358 Run after a changeset has been pulled, pushed, or unbundled into
359 the local repository. The ID of the newly arrived changeset is in 359 the local repository. The ID of the newly arrived changeset is in
360 $HG_NODE. URL that was source of changes came is in $HG_URL. 360 $HG_NODE. URL that was source of changes came is in $HG_URL.
361 outgoing;; 361 outgoing;;
362 Run after sending changes from local repository to another. ID of 362 Run after sending changes from local repository to another. ID of
363 first changeset sent is in $HG_NODE. Source of operation is in 363 first changeset sent is in $HG_NODE. Source of operation is in
364 $HG_SOURCE; see "preoutgoing" hook for description. 364 $HG_SOURCE; see "preoutgoing" hook for description.
365 post-<command>;; 365 post-<command>;;
366 Run after successful invocations of the associated command. The 366 Run after successful invocations of the associated command. The
367 contents of the command line are passed as $HG_ARGS and the result 367 contents of the command line are passed as $HG_ARGS and the result
368 code in $HG_RESULT. Hook failure is ignored. 368 code in $HG_RESULT. Hook failure is ignored.
370 Run before executing the associated command. The contents of the 370 Run before executing the associated command. The contents of the
371 command line are passed as $HG_ARGS. If the hook returns failure, 371 command line are passed as $HG_ARGS. If the hook returns failure,
372 the command doesn't execute and Mercurial returns the failure code. 372 the command doesn't execute and Mercurial returns the failure code.
373 prechangegroup;; 373 prechangegroup;;
374 Run before a changegroup is added via push, pull or unbundle. 374 Run before a changegroup is added via push, pull or unbundle.
375 Exit status 0 allows the changegroup to proceed. Non-zero status 375 Exit status 0 allows the changegroup to proceed. Non-zero status
376 will cause the push, pull or unbundle to fail. URL from which 376 will cause the push, pull or unbundle to fail. URL from which
377 changes will come is in $HG_URL. 377 changes will come is in $HG_URL.
378 precommit;; 378 precommit;;
379 Run before starting a local commit. Exit status 0 allows the 379 Run before starting a local commit. Exit status 0 allows the
380 commit to proceed. Non-zero status will cause the commit to fail. 380 commit to proceed. Non-zero status will cause the commit to fail.
381 Parent changeset IDs are in $HG_PARENT1 and $HG_PARENT2. 381 Parent changeset IDs are in $HG_PARENT1 and $HG_PARENT2.
382 preoutgoing;; 382 preoutgoing;;
383 Run before collecting changes to send from the local repository to 383 Run before collecting changes to send from the local repository to
384 another. Non-zero status will cause failure. This lets you 384 another. Non-zero status will cause failure. This lets you
385 prevent pull over http or ssh. Also prevents against local pull, 385 prevent pull over http or ssh. Also prevents against local pull,
386 push (outbound) or bundle commands, but not effective, since you 386 push (outbound) or bundle commands, but not effective, since you
387 can just copy files instead then. Source of operation is in 387 can just copy files instead then. Source of operation is in
388 $HG_SOURCE. If "serve", operation is happening on behalf of 388 $HG_SOURCE. If "serve", operation is happening on behalf of
389 remote ssh or http repository. If "push", "pull" or "bundle", 389 remote ssh or http repository. If "push", "pull" or "bundle",
390 operation is happening on behalf of repository on same system. 390 operation is happening on behalf of repository on same system.
391 pretag;; 391 pretag;;
392 Run before creating a tag. Exit status 0 allows the tag to be 392 Run before creating a tag. Exit status 0 allows the tag to be
393 created. Non-zero status will cause the tag to fail. ID of 393 created. Non-zero status will cause the tag to fail. ID of
394 changeset to tag is in $HG_NODE. Name of tag is in $HG_TAG. Tag 394 changeset to tag is in $HG_NODE. Name of tag is in $HG_TAG. Tag
395 is local if $HG_LOCAL=1, in repo if $HG_LOCAL=0. 395 is local if $HG_LOCAL=1, in repo if $HG_LOCAL=0.
396 pretxnchangegroup;; 396 pretxnchangegroup;;
397 Run after a changegroup has been added via push, pull or unbundle, 397 Run after a changegroup has been added via push, pull or unbundle,
398 but before the transaction has been committed. Changegroup is 398 but before the transaction has been committed. Changegroup is
399 visible to hook program. This lets you validate incoming changes 399 visible to hook program. This lets you validate incoming changes
400 before accepting them. Passed the ID of the first new changeset 400 before accepting them. Passed the ID of the first new changeset
401 in $HG_NODE. Exit status 0 allows the transaction to commit. 401 in $HG_NODE. Exit status 0 allows the transaction to commit.
402 Non-zero status will cause the transaction to be rolled back and 402 Non-zero status will cause the transaction to be rolled back and
403 the push, pull or unbundle will fail. URL that was source of 403 the push, pull or unbundle will fail. URL that was source of
404 changes is in $HG_URL. 404 changes is in $HG_URL.
405 pretxncommit;; 405 pretxncommit;;
406 Run after a changeset has been created but the transaction not yet 406 Run after a changeset has been created but the transaction not yet
407 committed. Changeset is visible to hook program. This lets you 407 committed. Changeset is visible to hook program. This lets you
408 validate commit message and changes. Exit status 0 allows the 408 validate commit message and changes. Exit status 0 allows the
409 commit to proceed. Non-zero status will cause the transaction to 409 commit to proceed. Non-zero status will cause the transaction to
410 be rolled back. ID of changeset is in $HG_NODE. Parent changeset 410 be rolled back. ID of changeset is in $HG_NODE. Parent changeset
411 IDs are in $HG_PARENT1 and $HG_PARENT2. 411 IDs are in $HG_PARENT1 and $HG_PARENT2.
412 preupdate;; 412 preupdate;;
413 Run before updating the working directory. Exit status 0 allows 413 Run before updating the working directory. Exit status 0 allows
414 the update to proceed. Non-zero status will prevent the update. 414 the update to proceed. Non-zero status will prevent the update.
415 Changeset ID of first new parent is in $HG_PARENT1. If merge, ID 415 Changeset ID of first new parent is in $HG_PARENT1. If merge, ID
416 of second new parent is in $HG_PARENT2. 416 of second new parent is in $HG_PARENT2.
417 tag;; 417 tag;;
418 Run after a tag is created. ID of tagged changeset is in 418 Run after a tag is created. ID of tagged changeset is in
419 $HG_NODE. Name of tag is in $HG_TAG. Tag is local if 419 $HG_NODE. Name of tag is in $HG_TAG. Tag is local if
420 $HG_LOCAL=1, in repo if $HG_LOCAL=0. 420 $HG_LOCAL=1, in repo if $HG_LOCAL=0.
421 update;; 421 update;;
422 Run after updating the working directory. Changeset ID of first 422 Run after updating the working directory. Changeset ID of first
423 new parent is in $HG_PARENT1. If merge, ID of second new parent 423 new parent is in $HG_PARENT1. If merge, ID of second new parent
424 is in $HG_PARENT2. If update succeeded, $HG_ERROR=0. If update 424 is in $HG_PARENT2. If update succeeded, $HG_ERROR=0. If update
425 failed (e.g. because conflicts not resolved), $HG_ERROR=1. 425 failed (e.g. because conflicts not resolved), $HG_ERROR=1.
426 426
427 Note: it is generally better to use standard hooks rather than the 427 Note: it is generally better to use standard hooks rather than the
428 generic pre- and post- command hooks as they are guaranteed to be 428 generic pre- and post- command hooks as they are guaranteed to be
429 called in the appropriate contexts for influencing transactions. 429 called in the appropriate contexts for influencing transactions.
437 437
438 The syntax for Python hooks is as follows: 438 The syntax for Python hooks is as follows:
439 439
440 hookname = python:modulename.submodule.callable 440 hookname = python:modulename.submodule.callable
441 441
442 Python hooks are run within the Mercurial process. Each hook is 442 Python hooks are run within the Mercurial process. Each hook is
443 called with at least three keyword arguments: a ui object (keyword 443 called with at least three keyword arguments: a ui object (keyword
444 "ui"), a repository object (keyword "repo"), and a "hooktype" 444 "ui"), a repository object (keyword "repo"), and a "hooktype"
445 keyword that tells what kind of hook is used. Arguments listed as 445 keyword that tells what kind of hook is used. Arguments listed as
446 environment variables above are passed as keyword arguments, with no 446 environment variables above are passed as keyword arguments, with no
447 "HG_" prefix, and names in lower case. 447 "HG_" prefix, and names in lower case.
448 448
449 If a Python hook returns a "true" value or raises an exception, this 449 If a Python hook returns a "true" value or raises an exception, this
450 is treated as failure of the hook. 450 is treated as failure of the hook.
454 proxy. 454 proxy.
455 host;; 455 host;;
456 Host name and (optional) port of the proxy server, for example 456 Host name and (optional) port of the proxy server, for example
457 "myproxy:8000". 457 "myproxy:8000".
458 no;; 458 no;;
459 Optional. Comma-separated list of host names that should bypass 459 Optional. Comma-separated list of host names that should bypass
460 the proxy. 460 the proxy.
461 passwd;; 461 passwd;;
462 Optional. Password to authenticate with at the proxy server. 462 Optional. Password to authenticate with at the proxy server.
463 user;; 463 user;;
464 Optional. User name to authenticate with at the proxy server. 464 Optional. User name to authenticate with at the proxy server.
465 465
466 smtp:: 466 smtp::
467 Configuration for extensions that need to send email messages. 467 Configuration for extensions that need to send email messages.
468 host;; 468 host;;
469 Host name of mail server, e.g. "mail.example.com". 469 Host name of mail server, e.g. "mail.example.com".
470 port;; 470 port;;
471 Optional. Port to connect to on mail server. Default: 25. 471 Optional. Port to connect to on mail server. Default: 25.
472 tls;; 472 tls;;
473 Optional. Whether to connect to mail server using TLS. True or 473 Optional. Whether to connect to mail server using TLS. True or
474 False. Default: False. 474 False. Default: False.
475 username;; 475 username;;
476 Optional. User name to authenticate to SMTP server with. 476 Optional. User name to authenticate to SMTP server with.
477 If username is specified, password must also be specified. 477 If username is specified, password must also be specified.
478 Default: none. 478 Default: none.
479 password;; 479 password;;
480 Optional. Password to authenticate to SMTP server with. 480 Optional. Password to authenticate to SMTP server with.
481 If username is specified, password must also be specified. 481 If username is specified, password must also be specified.
482 Default: none. 482 Default: none.
483 local_hostname;; 483 local_hostname;;
484 Optional. It's the hostname that the sender can use to identify itself 484 Optional. It's the hostname that the sender can use to identify itself
485 to the MTA. 485 to the MTA.
486 486
487 paths:: 487 paths::
488 Assigns symbolic names to repositories. The left side is the 488 Assigns symbolic names to repositories. The left side is the
489 symbolic name, and the right gives the directory or URL that is the 489 symbolic name, and the right gives the directory or URL that is the
490 location of the repository. Default paths can be declared by 490 location of the repository. Default paths can be declared by
491 setting the following entries. 491 setting the following entries.
492 default;; 492 default;;
493 Directory or URL to use when pulling if no source is specified. 493 Directory or URL to use when pulling if no source is specified.
494 Default is set to repository from which the current repository 494 Default is set to repository from which the current repository
495 was cloned. 495 was cloned.
496 default-push;; 496 default-push;;
497 Optional. Directory or URL to use when pushing if no destination 497 Optional. Directory or URL to use when pushing if no destination
498 is specified. 498 is specified.
499 499
500 server:: 500 server::
501 Controls generic server settings. 501 Controls generic server settings.
502 uncompressed;; 502 uncompressed;;
503 Whether to allow clients to clone a repo using the uncompressed 503 Whether to allow clients to clone a repo using the uncompressed
504 streaming protocol. This transfers about 40% more data than a 504 streaming protocol. This transfers about 40% more data than a
505 regular clone, but uses less memory and CPU on both server and 505 regular clone, but uses less memory and CPU on both server and
506 client. Over a LAN (100Mbps or better) or a very fast WAN, an 506 client. Over a LAN (100Mbps or better) or a very fast WAN, an
507 uncompressed streaming clone is a lot faster (~10x) than a regular 507 uncompressed streaming clone is a lot faster (~10x) than a regular
508 clone. Over most WAN connections (anything slower than about 508 clone. Over most WAN connections (anything slower than about
509 6Mbps), uncompressed streaming is slower, because of the extra 509 6Mbps), uncompressed streaming is slower, because of the extra
510 data transfer overhead. Default is False. 510 data transfer overhead. Default is False.
511 511
512 trusted:: 512 trusted::
513 For security reasons, Mercurial will not use the settings in 513 For security reasons, Mercurial will not use the settings in
514 the .hg/hgrc file from a repository if it doesn't belong to a 514 the .hg/hgrc file from a repository if it doesn't belong to a
515 trusted user or to a trusted group. The main exception is the 515 trusted user or to a trusted group. The main exception is the
516 web interface, which automatically uses some safe settings, since 516 web interface, which automatically uses some safe settings, since
517 it's common to serve repositories from different users. 517 it's common to serve repositories from different users.
518 518
519 This section specifies what users and groups are trusted. The 519 This section specifies what users and groups are trusted. The
520 current user is always trusted. To trust everybody, list a user 520 current user is always trusted. To trust everybody, list a user
521 or a group with name "*". 521 or a group with name "*".
522 522
523 users;; 523 users;;
524 Comma-separated list of trusted users. 524 Comma-separated list of trusted users.
525 groups;; 525 groups;;
531 Whether to include the .hg_archival.txt file containing metadata 531 Whether to include the .hg_archival.txt file containing metadata
532 (hashes for the repository base and for tip) in archives created by 532 (hashes for the repository base and for tip) in archives created by
533 the hg archive command or downloaded via hgweb. 533 the hg archive command or downloaded via hgweb.
534 Default is true. 534 Default is true.
535 debug;; 535 debug;;
536 Print debugging information. True or False. Default is False. 536 Print debugging information. True or False. Default is False.
537 editor;; 537 editor;;
538 The editor to use during a commit. Default is $EDITOR or "vi". 538 The editor to use during a commit. Default is $EDITOR or "vi".
539 fallbackencoding;; 539 fallbackencoding;;
540 Encoding to try if it's not possible to decode the changelog using 540 Encoding to try if it's not possible to decode the changelog using
541 UTF-8. Default is ISO-8859-1. 541 UTF-8. Default is ISO-8859-1.
542 ignore;; 542 ignore;;
543 A file to read per-user ignore patterns from. This file should be in 543 A file to read per-user ignore patterns from. This file should be in
544 the same format as a repository-wide .hgignore file. This option 544 the same format as a repository-wide .hgignore file. This option
545 supports hook syntax, so if you want to specify multiple ignore 545 supports hook syntax, so if you want to specify multiple ignore
546 files, you can do so by setting something like 546 files, you can do so by setting something like
547 "ignore.other = ~/.hgignore2". For details of the ignore file 547 "ignore.other = ~/.hgignore2". For details of the ignore file
548 format, see the hgignore(5) man page. 548 format, see the hgignore(5) man page.
549 interactive;; 549 interactive;;
550 Allow to prompt the user. True or False. Default is True. 550 Allow to prompt the user. True or False. Default is True.
551 logtemplate;; 551 logtemplate;;
552 Template string for commands that print changesets. 552 Template string for commands that print changesets.
553 merge;; 553 merge;;
554 The conflict resolution program to use during a manual merge. 554 The conflict resolution program to use during a manual merge.
555 There are some internal tools available: 555 There are some internal tools available:
567 567
568 patch;; 568 patch;;
569 command to use to apply patches. Look for 'gpatch' or 'patch' in PATH if 569 command to use to apply patches. Look for 'gpatch' or 'patch' in PATH if
570 unset. 570 unset.
571 quiet;; 571 quiet;;
572 Reduce the amount of output printed. True or False. Default is False. 572 Reduce the amount of output printed. True or False. Default is False.
573 remotecmd;; 573 remotecmd;;
574 remote command to use for clone/push/pull operations. Default is 'hg'. 574 remote command to use for clone/push/pull operations. Default is 'hg'.
575 report_untrusted;; 575 report_untrusted;;
576 Warn if a .hg/hgrc file is ignored due to not being owned by a 576 Warn if a .hg/hgrc file is ignored due to not being owned by a
577 trusted user or group. True or False. Default is True. 577 trusted user or group. True or False. Default is True.
578 slash;; 578 slash;;
579 Display paths using a slash ("/") as the path separator. This only 579 Display paths using a slash ("/") as the path separator. This only
580 makes a difference on systems where the default path separator is not 580 makes a difference on systems where the default path separator is not
581 the slash character (e.g. Windows uses the backslash character ("\")). 581 the slash character (e.g. Windows uses the backslash character ("\")).
582 Default is False. 582 Default is False.
583 ssh;; 583 ssh;;
584 command to use for SSH connections. Default is 'ssh'. 584 command to use for SSH connections. Default is 'ssh'.
585 strict;; 585 strict;;
586 Require exact command names, instead of allowing unambiguous 586 Require exact command names, instead of allowing unambiguous
587 abbreviations. True or False. Default is False. 587 abbreviations. True or False. Default is False.
588 style;; 588 style;;
589 Name of style to use for command output. 589 Name of style to use for command output.
590 timeout;; 590 timeout;;
591 The timeout used when a lock is held (in seconds), a negative value 591 The timeout used when a lock is held (in seconds), a negative value
592 means no timeout. Default is 600. 592 means no timeout. Default is 600.
593 username;; 593 username;;
594 The committer of a changeset created when running "commit". 594 The committer of a changeset created when running "commit".
595 Typically a person's name and email address, e.g. "Fred Widget 595 Typically a person's name and email address, e.g. "Fred Widget
596 <fred@example.com>". Default is $EMAIL or username@hostname. 596 <fred@example.com>". Default is $EMAIL or username@hostname.
597 If the username in hgrc is empty, it has to be specified manually or 597 If the username in hgrc is empty, it has to be specified manually or
598 in a different hgrc file (e.g. $HOME/.hgrc, if the admin set "username =" 598 in a different hgrc file (e.g. $HOME/.hgrc, if the admin set "username ="
599 in the system hgrc). 599 in the system hgrc).
600 verbose;; 600 verbose;;
601 Increase the amount of output printed. True or False. Default is False. 601 Increase the amount of output printed. True or False. Default is False.
602 602
603 603
604 web:: 604 web::
605 Web interface configuration. 605 Web interface configuration.
606 accesslog;; 606 accesslog;;
617 (DEPRECATED) Whether to allow .tar.gz downloading of repo revisions. 617 (DEPRECATED) Whether to allow .tar.gz downloading of repo revisions.
618 Default is false. 618 Default is false.
619 allowpull;; 619 allowpull;;
620 Whether to allow pulling from the repository. Default is true. 620 Whether to allow pulling from the repository. Default is true.
621 allow_push;; 621 allow_push;;
622 Whether to allow pushing to the repository. If empty or not set, 622 Whether to allow pushing to the repository. If empty or not set,
623 push is not allowed. If the special value "*", any remote user 623 push is not allowed. If the special value "*", any remote user
624 can push, including unauthenticated users. Otherwise, the remote 624 can push, including unauthenticated users. Otherwise, the remote
625 user must have been authenticated, and the authenticated user name 625 user must have been authenticated, and the authenticated user name
626 must be present in this list (separated by whitespace or ","). 626 must be present in this list (separated by whitespace or ",").
627 The contents of the allow_push list are examined after the 627 The contents of the allow_push list are examined after the
628 deny_push list. 628 deny_push list.
629 allowzip;; 629 allowzip;;
635 Example: "http://hgserver/repos/" 635 Example: "http://hgserver/repos/"
636 contact;; 636 contact;;
637 Name or email address of the person in charge of the repository. 637 Name or email address of the person in charge of the repository.
638 Defaults to ui.username or $EMAIL or "unknown" if unset or empty. 638 Defaults to ui.username or $EMAIL or "unknown" if unset or empty.
639 deny_push;; 639 deny_push;;
640 Whether to deny pushing to the repository. If empty or not set, 640 Whether to deny pushing to the repository. If empty or not set,
641 push is not denied. If the special value "*", all remote users 641 push is not denied. If the special value "*", all remote users
642 are denied push. Otherwise, unauthenticated users are all denied, 642 are denied push. Otherwise, unauthenticated users are all denied,
643 and any authenticated user name present in this list (separated by 643 and any authenticated user name present in this list (separated by
644 whitespace or ",") is also denied. The contents of the deny_push 644 whitespace or ",") is also denied. The contents of the deny_push
645 list are examined before the allow_push list. 645 list are examined before the allow_push list.
646 description;; 646 description;;
647 Textual description of the repository's purpose or contents. 647 Textual description of the repository's purpose or contents.
648 Default is "unknown". 648 Default is "unknown".
649 encoding;; 649 encoding;;
666 Port to listen on. Default is 8000. 666 Port to listen on. Default is 8000.
667 prefix;; 667 prefix;;
668 Prefix path to serve from. Default is '' (server root). 668 Prefix path to serve from. Default is '' (server root).
669 push_ssl;; 669 push_ssl;;
670 Whether to require that inbound pushes be transported over SSL to 670 Whether to require that inbound pushes be transported over SSL to
671 prevent password sniffing. Default is true. 671 prevent password sniffing. Default is true.
672 staticurl;; 672 staticurl;;
673 Base URL to use for static files. If unset, static files (e.g. 673 Base URL to use for static files. If unset, static files (e.g.
674 the hgicon.png favicon) will be served by the CGI script itself. 674 the hgicon.png favicon) will be served by the CGI script itself.
675 Use this setting to serve them directly with the HTTP server. 675 Use this setting to serve them directly with the HTTP server.
676 Example: "http://hgserver/static/" 676 Example: "http://hgserver/static/"