1HGRC(5)                        Mercurial Manual                        HGRC(5)
2
3
4

NAME

6       hgrc - configuration files for Mercurial
7

SYNOPSIS

9       The  Mercurial  system  uses  a  set  of configuration files to control
10       aspects of its behavior.
11

FILES

13       Mercurial reads configuration data from several files, if  they  exist.
14       The  names  of  these  files depend on the system on which Mercurial is
15       installed. *.rc files from a single directory are read in  alphabetical
16       order,  later  ones  overriding  earlier ones. Where multiple paths are
17       given below, settings from earlier paths override later ones.
18       (Unix, Windows) <repo>/.hg/hgrc
19
20
21          Per-repository configuration options that only apply in a particular
22          repository.  This  file  is not version-controlled, and will not get
23          transferred during a "clone" operation. Options in this  file  over‐
24          ride options in all other configuration files. On Unix, most of this
25          file will be ignored if it doesn't belong to a trusted user or to  a
26          trusted  group.  See the documentation for the trusted section below
27          for more details.
28       (Unix) $HOME/.hgrc
29       (Windows) %USERPROFILE%\.hgrc
30       (Windows) %USERPROFILE%\Mercurial.ini
31       (Windows) %HOME%\.hgrc
32       (Windows) %HOME%\Mercurial.ini
33
34
35          Per-user configuration file(s), for the user running  Mercurial.  On
36          Windows  9x, %HOME% is replaced by %APPDATA%. Options in these files
37          apply to all Mercurial commands executed by this user in any  direc‐
38          tory.  Options  in these files override per-system and per-installa‐
39          tion options.
40       (Unix) /etc/mercurial/hgrc
41       (Unix) /etc/mercurial/hgrc.d/*.rc
42
43
44          Per-system configuration files, for the system on which Mercurial is
45          running. Options in these files apply to all Mercurial commands exe‐
46          cuted by any user in any directory. Options in these files  override
47          per-installation options.
48       (Unix) <install-root>/etc/mercurial/hgrc
49       (Unix) <install-root>/etc/mercurial/hgrc.d/*.rc
50
51
52          Per-installation  configuration files, searched for in the directory
53          where Mercurial is installed. <install-root> is the parent directory
54          of  the  hg  executable  (or  symlink)  being  run.  For example, if
55          installed  in   /shared/tools/bin/hg,   Mercurial   will   look   in
56          /shared/tools/etc/mercurial/hgrc.  Options  in  these files apply to
57          all Mercurial commands executed by any user in any directory.
58       (Windows) C:\Mercurial\Mercurial.ini
59       (Windows) HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial
60       (Windows) <install-dir>\Mercurial.ini
61
62
63          Per-installation/system configuration files, for the system on which
64          Mercurial  is running. Options in these files apply to all Mercurial
65          commands executed by any user in any directory. Registry  keys  con‐
66          tain  PATH-like strings, every part of which must reference a Mercu‐
67          rial.ini file or be a directory where *.rc files will be read.
68

SYNTAX

70       A configuration file consists of sections, led by  a  [section]  header
71       and followed by name = value entries:
72
73       [spam]
74       eggs=ham
75       green=
76          eggs
77
78       Each  line  contains  one entry. If the lines that follow are indented,
79       they are treated as continuations of that entry. Leading whitespace  is
80       removed from values. Empty lines are skipped. Lines beginning with # or
81       ; are ignored and may be used to provide comments.
82
83       A line of the form %include file will include  file  into  the  current
84       configuration  file.  The  inclusion  is  recursive,  which  means that
85       included files can include other files. Filenames are relative  to  the
86       configuration file in which the %include directive is found.
87
88       A  line  with %unset name will remove name from the current section, if
89       it has been set previously.
90

SECTIONS

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

AUTHOR

1097       Bryan O'Sullivan <bos@serpentine.com>.
1098
1099       Mercurial was written by Matt Mackall <mpm@selenic.com>.
1100

SEE ALSO

1102       hg(1), hgignore(5)
1103

COPYING

1105       This  manual  page  is  copyright  2005 Bryan O'Sullivan.  Mercurial is
1106       copyright 2005-2009 Matt Mackall.  Free use of this software is granted
1107       under the terms of the GNU General Public License version 2.
1108

AUTHOR

1110       Bryan O'Sullivan <bos@serpentine.com>
1111
1112       Organization: Mercurial
1113
1114
1115
1116
1117                                                                       HGRC(5)
Impressum