1HGRC(5) Mercurial Manual HGRC(5)
2
3
4
6 hgrc - configuration files for Mercurial
7
9 The Mercurial system uses a set of configuration files to control
10 aspects of its behavior.
11
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
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
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
1097 Bryan O'Sullivan <bos@serpentine.com>.
1098
1099 Mercurial was written by Matt Mackall <mpm@selenic.com>.
1100
1102 hg(1), hgignore(5)
1103
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
1110 Bryan O'Sullivan <bos@serpentine.com>
1111
1112 Organization: Mercurial
1113
1114
1115
1116
1117 HGRC(5)