##// END OF EJS Templates
doc: minor fixes to [graph] section documentation
Patrick Mezard -
r16139:461a59e2 default
parent child Browse files
Show More
@@ -1,1377 +1,1379 b''
1 1 The Mercurial system uses a set of configuration files to control
2 2 aspects of its behavior.
3 3
4 4 The configuration files use a simple ini-file format. A configuration
5 5 file consists of sections, led by a ``[section]`` header and followed
6 6 by ``name = value`` entries::
7 7
8 8 [ui]
9 9 username = Firstname Lastname <firstname.lastname@example.net>
10 10 verbose = True
11 11
12 12 The above entries will be referred to as ``ui.username`` and
13 13 ``ui.verbose``, respectively. See the Syntax section below.
14 14
15 15 Files
16 16 -----
17 17
18 18 Mercurial reads configuration data from several files, if they exist.
19 19 These files do not exist by default and you will have to create the
20 20 appropriate configuration files yourself: global configuration like
21 21 the username setting is typically put into
22 22 ``%USERPROFILE%\mercurial.ini`` or ``$HOME/.hgrc`` and local
23 23 configuration is put into the per-repository ``<repo>/.hg/hgrc`` file.
24 24
25 25 The names of these files depend on the system on which Mercurial is
26 26 installed. ``*.rc`` files from a single directory are read in
27 27 alphabetical order, later ones overriding earlier ones. Where multiple
28 28 paths are given below, settings from earlier paths override later
29 29 ones.
30 30
31 31 | (Unix, Windows) ``<repo>/.hg/hgrc``
32 32
33 33 Per-repository configuration options that only apply in a
34 34 particular repository. This file is not version-controlled, and
35 35 will not get transferred during a "clone" operation. Options in
36 36 this file override options in all other configuration files. On
37 37 Unix, most of this file will be ignored if it doesn't belong to a
38 38 trusted user or to a trusted group. See the documentation for the
39 39 ``[trusted]`` section below for more details.
40 40
41 41 | (Unix) ``$HOME/.hgrc``
42 42 | (Windows) ``%USERPROFILE%\.hgrc``
43 43 | (Windows) ``%USERPROFILE%\Mercurial.ini``
44 44 | (Windows) ``%HOME%\.hgrc``
45 45 | (Windows) ``%HOME%\Mercurial.ini``
46 46
47 47 Per-user configuration file(s), for the user running Mercurial. On
48 48 Windows 9x, ``%HOME%`` is replaced by ``%APPDATA%``. Options in these
49 49 files apply to all Mercurial commands executed by this user in any
50 50 directory. Options in these files override per-system and per-installation
51 51 options.
52 52
53 53 | (Unix) ``/etc/mercurial/hgrc``
54 54 | (Unix) ``/etc/mercurial/hgrc.d/*.rc``
55 55
56 56 Per-system configuration files, for the system on which Mercurial
57 57 is running. Options in these files apply to all Mercurial commands
58 58 executed by any user in any directory. Options in these files
59 59 override per-installation options.
60 60
61 61 | (Unix) ``<install-root>/etc/mercurial/hgrc``
62 62 | (Unix) ``<install-root>/etc/mercurial/hgrc.d/*.rc``
63 63
64 64 Per-installation configuration files, searched for in the
65 65 directory where Mercurial is installed. ``<install-root>`` is the
66 66 parent directory of the **hg** executable (or symlink) being run. For
67 67 example, if installed in ``/shared/tools/bin/hg``, Mercurial will look
68 68 in ``/shared/tools/etc/mercurial/hgrc``. Options in these files apply
69 69 to all Mercurial commands executed by any user in any directory.
70 70
71 71 | (Windows) ``<install-dir>\Mercurial.ini`` **or**
72 72 | (Windows) ``<install-dir>\hgrc.d\*.rc`` **or**
73 73 | (Windows) ``HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial``
74 74
75 75 Per-installation/system configuration files, for the system on
76 76 which Mercurial is running. Options in these files apply to all
77 77 Mercurial commands executed by any user in any directory. Registry
78 78 keys contain PATH-like strings, every part of which must reference
79 79 a ``Mercurial.ini`` file or be a directory where ``*.rc`` files will
80 80 be read. Mercurial checks each of these locations in the specified
81 81 order until one or more configuration files are detected. If the
82 82 pywin32 extensions are not installed, Mercurial will only look for
83 83 site-wide configuration in ``C:\Mercurial\Mercurial.ini``.
84 84
85 85 Syntax
86 86 ------
87 87
88 88 A configuration file consists of sections, led by a ``[section]`` header
89 89 and followed by ``name = value`` entries (sometimes called
90 90 ``configuration keys``)::
91 91
92 92 [spam]
93 93 eggs=ham
94 94 green=
95 95 eggs
96 96
97 97 Each line contains one entry. If the lines that follow are indented,
98 98 they are treated as continuations of that entry. Leading whitespace is
99 99 removed from values. Empty lines are skipped. Lines beginning with
100 100 ``#`` or ``;`` are ignored and may be used to provide comments.
101 101
102 102 Configuration keys can be set multiple times, in which case Mercurial
103 103 will use the value that was configured last. As an example::
104 104
105 105 [spam]
106 106 eggs=large
107 107 ham=serrano
108 108 eggs=small
109 109
110 110 This would set the configuration key named ``eggs`` to ``small``.
111 111
112 112 It is also possible to define a section multiple times. A section can
113 113 be redefined on the same and/or on different configuration files. For
114 114 example::
115 115
116 116 [foo]
117 117 eggs=large
118 118 ham=serrano
119 119 eggs=small
120 120
121 121 [bar]
122 122 eggs=ham
123 123 green=
124 124 eggs
125 125
126 126 [foo]
127 127 ham=prosciutto
128 128 eggs=medium
129 129 bread=toasted
130 130
131 131 This would set the ``eggs``, ``ham``, and ``bread`` configuration keys
132 132 of the ``foo`` section to ``medium``, ``prosciutto``, and ``toasted``,
133 133 respectively. As you can see there only thing that matters is the last
134 134 value that was set for each of the configuration keys.
135 135
136 136 If a configuration key is set multiple times in different
137 137 configuration files the final value will depend on the order in which
138 138 the different configuration files are read, with settings from earlier
139 139 paths overriding later ones as described on the ``Files`` section
140 140 above.
141 141
142 142 A line of the form ``%include file`` will include ``file`` into the
143 143 current configuration file. The inclusion is recursive, which means
144 144 that included files can include other files. Filenames are relative to
145 145 the configuration file in which the ``%include`` directive is found.
146 146 Environment variables and ``~user`` constructs are expanded in
147 147 ``file``. This lets you do something like::
148 148
149 149 %include ~/.hgrc.d/$HOST.rc
150 150
151 151 to include a different configuration file on each computer you use.
152 152
153 153 A line with ``%unset name`` will remove ``name`` from the current
154 154 section, if it has been set previously.
155 155
156 156 The values are either free-form text strings, lists of text strings,
157 157 or Boolean values. Boolean values can be set to true using any of "1",
158 158 "yes", "true", or "on" and to false using "0", "no", "false", or "off"
159 159 (all case insensitive).
160 160
161 161 List values are separated by whitespace or comma, except when values are
162 162 placed in double quotation marks::
163 163
164 164 allow_read = "John Doe, PhD", brian, betty
165 165
166 166 Quotation marks can be escaped by prefixing them with a backslash. Only
167 167 quotation marks at the beginning of a word is counted as a quotation
168 168 (e.g., ``foo"bar baz`` is the list of ``foo"bar`` and ``baz``).
169 169
170 170 Sections
171 171 --------
172 172
173 173 This section describes the different sections that may appear in a
174 174 Mercurial configuration file, the purpose of each section, its possible
175 175 keys, and their possible values.
176 176
177 177 ``alias``
178 178 """""""""
179 179
180 180 Defines command aliases.
181 181 Aliases allow you to define your own commands in terms of other
182 182 commands (or aliases), optionally including arguments. Positional
183 183 arguments in the form of ``$1``, ``$2``, etc in the alias definition
184 184 are expanded by Mercurial before execution. Positional arguments not
185 185 already used by ``$N`` in the definition are put at the end of the
186 186 command to be executed.
187 187
188 188 Alias definitions consist of lines of the form::
189 189
190 190 <alias> = <command> [<argument>]...
191 191
192 192 For example, this definition::
193 193
194 194 latest = log --limit 5
195 195
196 196 creates a new command ``latest`` that shows only the five most recent
197 197 changesets. You can define subsequent aliases using earlier ones::
198 198
199 199 stable5 = latest -b stable
200 200
201 201 .. note:: It is possible to create aliases with the same names as
202 202 existing commands, which will then override the original
203 203 definitions. This is almost always a bad idea!
204 204
205 205 An alias can start with an exclamation point (``!``) to make it a
206 206 shell alias. A shell alias is executed with the shell and will let you
207 207 run arbitrary commands. As an example, ::
208 208
209 209 echo = !echo
210 210
211 211 will let you do ``hg echo foo`` to have ``foo`` printed in your
212 212 terminal. A better example might be::
213 213
214 214 purge = !$HG status --no-status --unknown -0 | xargs -0 rm
215 215
216 216 which will make ``hg purge`` delete all unknown files in the
217 217 repository in the same manner as the purge extension.
218 218
219 219 Shell aliases are executed in an environment where ``$HG`` expand to
220 220 the path of the Mercurial that was used to execute the alias. This is
221 221 useful when you want to call further Mercurial commands in a shell
222 222 alias, as was done above for the purge alias. In addition,
223 223 ``$HG_ARGS`` expand to the arguments given to Mercurial. In the ``hg
224 224 echo foo`` call above, ``$HG_ARGS`` would expand to ``echo foo``.
225 225
226 226 .. note:: Some global configuration options such as ``-R`` are
227 227 processed before shell aliases and will thus not be passed to
228 228 aliases.
229 229
230 230
231 231 ``annotate``
232 232 """"""""""""
233 233
234 234 Settings used when displaying file annotations. All values are
235 235 Booleans and default to False. See ``diff`` section for related
236 236 options for the diff command.
237 237
238 238 ``ignorews``
239 239 Ignore white space when comparing lines.
240 240
241 241 ``ignorewsamount``
242 242 Ignore changes in the amount of white space.
243 243
244 244 ``ignoreblanklines``
245 245 Ignore changes whose lines are all blank.
246 246
247 247
248 248 ``auth``
249 249 """"""""
250 250
251 251 Authentication credentials for HTTP authentication. This section
252 252 allows you to store usernames and passwords for use when logging
253 253 *into* HTTP servers. See the ``[web]`` configuration section if
254 254 you want to configure *who* can login to your HTTP server.
255 255
256 256 Each line has the following format::
257 257
258 258 <name>.<argument> = <value>
259 259
260 260 where ``<name>`` is used to group arguments into authentication
261 261 entries. Example::
262 262
263 263 foo.prefix = hg.intevation.org/mercurial
264 264 foo.username = foo
265 265 foo.password = bar
266 266 foo.schemes = http https
267 267
268 268 bar.prefix = secure.example.org
269 269 bar.key = path/to/file.key
270 270 bar.cert = path/to/file.cert
271 271 bar.schemes = https
272 272
273 273 Supported arguments:
274 274
275 275 ``prefix``
276 276 Either ``*`` or a URI prefix with or without the scheme part.
277 277 The authentication entry with the longest matching prefix is used
278 278 (where ``*`` matches everything and counts as a match of length
279 279 1). If the prefix doesn't include a scheme, the match is performed
280 280 against the URI with its scheme stripped as well, and the schemes
281 281 argument, q.v., is then subsequently consulted.
282 282
283 283 ``username``
284 284 Optional. Username to authenticate with. If not given, and the
285 285 remote site requires basic or digest authentication, the user will
286 286 be prompted for it. Environment variables are expanded in the
287 287 username letting you do ``foo.username = $USER``. If the URI
288 288 includes a username, only ``[auth]`` entries with a matching
289 289 username or without a username will be considered.
290 290
291 291 ``password``
292 292 Optional. Password to authenticate with. If not given, and the
293 293 remote site requires basic or digest authentication, the user
294 294 will be prompted for it.
295 295
296 296 ``key``
297 297 Optional. PEM encoded client certificate key file. Environment
298 298 variables are expanded in the filename.
299 299
300 300 ``cert``
301 301 Optional. PEM encoded client certificate chain file. Environment
302 302 variables are expanded in the filename.
303 303
304 304 ``schemes``
305 305 Optional. Space separated list of URI schemes to use this
306 306 authentication entry with. Only used if the prefix doesn't include
307 307 a scheme. Supported schemes are http and https. They will match
308 308 static-http and static-https respectively, as well.
309 309 Default: https.
310 310
311 311 If no suitable authentication entry is found, the user is prompted
312 312 for credentials as usual if required by the remote.
313 313
314 314
315 315 ``decode/encode``
316 316 """""""""""""""""
317 317
318 318 Filters for transforming files on checkout/checkin. This would
319 319 typically be used for newline processing or other
320 320 localization/canonicalization of files.
321 321
322 322 Filters consist of a filter pattern followed by a filter command.
323 323 Filter patterns are globs by default, rooted at the repository root.
324 324 For example, to match any file ending in ``.txt`` in the root
325 325 directory only, use the pattern ``*.txt``. To match any file ending
326 326 in ``.c`` anywhere in the repository, use the pattern ``**.c``.
327 327 For each file only the first matching filter applies.
328 328
329 329 The filter command can start with a specifier, either ``pipe:`` or
330 330 ``tempfile:``. If no specifier is given, ``pipe:`` is used by default.
331 331
332 332 A ``pipe:`` command must accept data on stdin and return the transformed
333 333 data on stdout.
334 334
335 335 Pipe example::
336 336
337 337 [encode]
338 338 # uncompress gzip files on checkin to improve delta compression
339 339 # note: not necessarily a good idea, just an example
340 340 *.gz = pipe: gunzip
341 341
342 342 [decode]
343 343 # recompress gzip files when writing them to the working dir (we
344 344 # can safely omit "pipe:", because it's the default)
345 345 *.gz = gzip
346 346
347 347 A ``tempfile:`` command is a template. The string ``INFILE`` is replaced
348 348 with the name of a temporary file that contains the data to be
349 349 filtered by the command. The string ``OUTFILE`` is replaced with the name
350 350 of an empty temporary file, where the filtered data must be written by
351 351 the command.
352 352
353 353 .. note:: The tempfile mechanism is recommended for Windows systems,
354 354 where the standard shell I/O redirection operators often have
355 355 strange effects and may corrupt the contents of your files.
356 356
357 357 This filter mechanism is used internally by the ``eol`` extension to
358 358 translate line ending characters between Windows (CRLF) and Unix (LF)
359 359 format. We suggest you use the ``eol`` extension for convenience.
360 360
361 361
362 362 ``defaults``
363 363 """"""""""""
364 364
365 365 (defaults are deprecated. Don't use them. Use aliases instead)
366 366
367 367 Use the ``[defaults]`` section to define command defaults, i.e. the
368 368 default options/arguments to pass to the specified commands.
369 369
370 370 The following example makes :hg:`log` run in verbose mode, and
371 371 :hg:`status` show only the modified files, by default::
372 372
373 373 [defaults]
374 374 log = -v
375 375 status = -m
376 376
377 377 The actual commands, instead of their aliases, must be used when
378 378 defining command defaults. The command defaults will also be applied
379 379 to the aliases of the commands defined.
380 380
381 381
382 382 ``diff``
383 383 """"""""
384 384
385 385 Settings used when displaying diffs. Everything except for ``unified``
386 386 is a Boolean and defaults to False. See ``annotate`` section for
387 387 related options for the annotate command.
388 388
389 389 ``git``
390 390 Use git extended diff format.
391 391
392 392 ``nodates``
393 393 Don't include dates in diff headers.
394 394
395 395 ``showfunc``
396 396 Show which function each change is in.
397 397
398 398 ``ignorews``
399 399 Ignore white space when comparing lines.
400 400
401 401 ``ignorewsamount``
402 402 Ignore changes in the amount of white space.
403 403
404 404 ``ignoreblanklines``
405 405 Ignore changes whose lines are all blank.
406 406
407 407 ``unified``
408 408 Number of lines of context to show.
409 409
410 410 ``email``
411 411 """""""""
412 412
413 413 Settings for extensions that send email messages.
414 414
415 415 ``from``
416 416 Optional. Email address to use in "From" header and SMTP envelope
417 417 of outgoing messages.
418 418
419 419 ``to``
420 420 Optional. Comma-separated list of recipients' email addresses.
421 421
422 422 ``cc``
423 423 Optional. Comma-separated list of carbon copy recipients'
424 424 email addresses.
425 425
426 426 ``bcc``
427 427 Optional. Comma-separated list of blind carbon copy recipients'
428 428 email addresses.
429 429
430 430 ``method``
431 431 Optional. Method to use to send email messages. If value is ``smtp``
432 432 (default), use SMTP (see the ``[smtp]`` section for configuration).
433 433 Otherwise, use as name of program to run that acts like sendmail
434 434 (takes ``-f`` option for sender, list of recipients on command line,
435 435 message on stdin). Normally, setting this to ``sendmail`` or
436 436 ``/usr/sbin/sendmail`` is enough to use sendmail to send messages.
437 437
438 438 ``charsets``
439 439 Optional. Comma-separated list of character sets considered
440 440 convenient for recipients. Addresses, headers, and parts not
441 441 containing patches of outgoing messages will be encoded in the
442 442 first character set to which conversion from local encoding
443 443 (``$HGENCODING``, ``ui.fallbackencoding``) succeeds. If correct
444 444 conversion fails, the text in question is sent as is. Defaults to
445 445 empty (explicit) list.
446 446
447 447 Order of outgoing email character sets:
448 448
449 449 1. ``us-ascii``: always first, regardless of settings
450 450 2. ``email.charsets``: in order given by user
451 451 3. ``ui.fallbackencoding``: if not in email.charsets
452 452 4. ``$HGENCODING``: if not in email.charsets
453 453 5. ``utf-8``: always last, regardless of settings
454 454
455 455 Email example::
456 456
457 457 [email]
458 458 from = Joseph User <joe.user@example.com>
459 459 method = /usr/sbin/sendmail
460 460 # charsets for western Europeans
461 461 # us-ascii, utf-8 omitted, as they are tried first and last
462 462 charsets = iso-8859-1, iso-8859-15, windows-1252
463 463
464 464
465 465 ``extensions``
466 466 """"""""""""""
467 467
468 468 Mercurial has an extension mechanism for adding new features. To
469 469 enable an extension, create an entry for it in this section.
470 470
471 471 If you know that the extension is already in Python's search path,
472 472 you can give the name of the module, followed by ``=``, with nothing
473 473 after the ``=``.
474 474
475 475 Otherwise, give a name that you choose, followed by ``=``, followed by
476 476 the path to the ``.py`` file (including the file name extension) that
477 477 defines the extension.
478 478
479 479 To explicitly disable an extension that is enabled in an hgrc of
480 480 broader scope, prepend its path with ``!``, as in ``foo = !/ext/path``
481 481 or ``foo = !`` when path is not supplied.
482 482
483 483 Example for ``~/.hgrc``::
484 484
485 485 [extensions]
486 486 # (the mq extension will get loaded from Mercurial's path)
487 487 mq =
488 488 # (this extension will get loaded from the file specified)
489 489 myfeature = ~/.hgext/myfeature.py
490 490
491 491
492 492 ``hostfingerprints``
493 493 """"""""""""""""""""
494 494
495 495 Fingerprints of the certificates of known HTTPS servers.
496 496 A HTTPS connection to a server with a fingerprint configured here will
497 497 only succeed if the servers certificate matches the fingerprint.
498 498 This is very similar to how ssh known hosts works.
499 499 The fingerprint is the SHA-1 hash value of the DER encoded certificate.
500 500 The CA chain and web.cacerts is not used for servers with a fingerprint.
501 501
502 502 For example::
503 503
504 504 [hostfingerprints]
505 505 hg.intevation.org = 38:76:52:7c:87:26:9a:8f:4a:f8:d3:de:08:45:3b:ea:d6:4b:ee:cc
506 506
507 507 This feature is only supported when using Python 2.6 or later.
508 508
509 509
510 510 ``format``
511 511 """"""""""
512 512
513 513 ``usestore``
514 514 Enable or disable the "store" repository format which improves
515 515 compatibility with systems that fold case or otherwise mangle
516 516 filenames. Enabled by default. Disabling this option will allow
517 517 you to store longer filenames in some situations at the expense of
518 518 compatibility and ensures that the on-disk format of newly created
519 519 repositories will be compatible with Mercurial before version 0.9.4.
520 520
521 521 ``usefncache``
522 522 Enable or disable the "fncache" repository format which enhances
523 523 the "store" repository format (which has to be enabled to use
524 524 fncache) to allow longer filenames and avoids using Windows
525 525 reserved names, e.g. "nul". Enabled by default. Disabling this
526 526 option ensures that the on-disk format of newly created
527 527 repositories will be compatible with Mercurial before version 1.1.
528 528
529 529 ``dotencode``
530 530 Enable or disable the "dotencode" repository format which enhances
531 531 the "fncache" repository format (which has to be enabled to use
532 532 dotencode) to avoid issues with filenames starting with ._ on
533 533 Mac OS X and spaces on Windows. Enabled by default. Disabling this
534 534 option ensures that the on-disk format of newly created
535 535 repositories will be compatible with Mercurial before version 1.7.
536 536
537 537 ``graph``
538 538 """""""""
539 539
540 This section specifies line width and color to visually distinguish
541 "main branch" or trunk in central repository graph.
540 Web graph view configuration. This section let you change graph
541 elements display properties by branches, for instance to make the
542 ``default`` branch stand out.
543
544 Each line has the following format::
542 545
543 Format branch_name.attribute = value.
546 <branch>.<argument> = <value>
544 547
545 Example::
548 where ``<branch>`` is the name of the branch being
549 customized. Example::
550
546 551 [graph]
547 552 # 2px width
548 553 default.width = 2
549 554 # red color
550 555 default.color = FF0000
551 556
552 557 Supported arguments:
553 558
554 559 ``width``
555 Set width in px. Width is number 0-99.
560 Set branch edges width in pixels.
556 561
557 562 ``color``
558 Color is six hexadecimal digits RRGGBB.
559
560 Known issues:
561 If line style doesn't change, try to clear browser cache.
563 Set branch edges color in hexadecimal RGB notation.
562 564
563 565 ``merge-patterns``
564 566 """"""""""""""""""
565 567
566 568 This section specifies merge tools to associate with particular file
567 569 patterns. Tools matched here will take precedence over the default
568 570 merge tool. Patterns are globs by default, rooted at the repository
569 571 root.
570 572
571 573 Example::
572 574
573 575 [merge-patterns]
574 576 **.c = kdiff3
575 577 **.jpg = myimgmerge
576 578
577 579 ``merge-tools``
578 580 """""""""""""""
579 581
580 582 This section configures external merge tools to use for file-level
581 583 merges.
582 584
583 585 Example ``~/.hgrc``::
584 586
585 587 [merge-tools]
586 588 # Override stock tool location
587 589 kdiff3.executable = ~/bin/kdiff3
588 590 # Specify command line
589 591 kdiff3.args = $base $local $other -o $output
590 592 # Give higher priority
591 593 kdiff3.priority = 1
592 594
593 595 # Define new tool
594 596 myHtmlTool.args = -m $local $other $base $output
595 597 myHtmlTool.regkey = Software\FooSoftware\HtmlMerge
596 598 myHtmlTool.priority = 1
597 599
598 600 Supported arguments:
599 601
600 602 ``priority``
601 603 The priority in which to evaluate this tool.
602 604 Default: 0.
603 605
604 606 ``executable``
605 607 Either just the name of the executable or its pathname. On Windows,
606 608 the path can use environment variables with ${ProgramFiles} syntax.
607 609 Default: the tool name.
608 610
609 611 ``args``
610 612 The arguments to pass to the tool executable. You can refer to the
611 613 files being merged as well as the output file through these
612 614 variables: ``$base``, ``$local``, ``$other``, ``$output``.
613 615 Default: ``$local $base $other``
614 616
615 617 ``premerge``
616 618 Attempt to run internal non-interactive 3-way merge tool before
617 619 launching external tool. Options are ``true``, ``false``, or ``keep``
618 620 to leave markers in the file if the premerge fails.
619 621 Default: True
620 622
621 623 ``binary``
622 624 This tool can merge binary files. Defaults to False, unless tool
623 625 was selected by file pattern match.
624 626
625 627 ``symlink``
626 628 This tool can merge symlinks. Defaults to False, even if tool was
627 629 selected by file pattern match.
628 630
629 631 ``check``
630 632 A list of merge success-checking options:
631 633
632 634 ``changed``
633 635 Ask whether merge was successful when the merged file shows no changes.
634 636 ``conflicts``
635 637 Check whether there are conflicts even though the tool reported success.
636 638 ``prompt``
637 639 Always prompt for merge success, regardless of success reported by tool.
638 640
639 641 ``checkchanged``
640 642 True is equivalent to ``check = changed``.
641 643 Default: False
642 644
643 645 ``checkconflicts``
644 646 True is equivalent to ``check = conflicts``.
645 647 Default: False
646 648
647 649 ``fixeol``
648 650 Attempt to fix up EOL changes caused by the merge tool.
649 651 Default: False
650 652
651 653 ``gui``
652 654 This tool requires a graphical interface to run. Default: False
653 655
654 656 ``regkey``
655 657 Windows registry key which describes install location of this
656 658 tool. Mercurial will search for this key first under
657 659 ``HKEY_CURRENT_USER`` and then under ``HKEY_LOCAL_MACHINE``.
658 660 Default: None
659 661
660 662 ``regkeyalt``
661 663 An alternate Windows registry key to try if the first key is not
662 664 found. The alternate key uses the same ``regname`` and ``regappend``
663 665 semantics of the primary key. The most common use for this key
664 666 is to search for 32bit applications on 64bit operating systems.
665 667 Default: None
666 668
667 669 ``regname``
668 670 Name of value to read from specified registry key. Defaults to the
669 671 unnamed (default) value.
670 672
671 673 ``regappend``
672 674 String to append to the value read from the registry, typically
673 675 the executable name of the tool.
674 676 Default: None
675 677
676 678
677 679 ``hooks``
678 680 """""""""
679 681
680 682 Commands or Python functions that get automatically executed by
681 683 various actions such as starting or finishing a commit. Multiple
682 684 hooks can be run for the same action by appending a suffix to the
683 685 action. Overriding a site-wide hook can be done by changing its
684 686 value or setting it to an empty string. Hooks can be prioritized
685 687 by adding a prefix of ``priority`` to the hook name on a new line
686 688 and setting the priority. The default priority is 0 if
687 689 not specified.
688 690
689 691 Example ``.hg/hgrc``::
690 692
691 693 [hooks]
692 694 # update working directory after adding changesets
693 695 changegroup.update = hg update
694 696 # do not use the site-wide hook
695 697 incoming =
696 698 incoming.email = /my/email/hook
697 699 incoming.autobuild = /my/build/hook
698 700 # force autobuild hook to run before other incoming hooks
699 701 priority.incoming.autobuild = 1
700 702
701 703 Most hooks are run with environment variables set that give useful
702 704 additional information. For each hook below, the environment
703 705 variables it is passed are listed with names of the form ``$HG_foo``.
704 706
705 707 ``changegroup``
706 708 Run after a changegroup has been added via push, pull or unbundle.
707 709 ID of the first new changeset is in ``$HG_NODE``. URL from which
708 710 changes came is in ``$HG_URL``.
709 711
710 712 ``commit``
711 713 Run after a changeset has been created in the local repository. ID
712 714 of the newly created changeset is in ``$HG_NODE``. Parent changeset
713 715 IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
714 716
715 717 ``incoming``
716 718 Run after a changeset has been pulled, pushed, or unbundled into
717 719 the local repository. The ID of the newly arrived changeset is in
718 720 ``$HG_NODE``. URL that was source of changes came is in ``$HG_URL``.
719 721
720 722 ``outgoing``
721 723 Run after sending changes from local repository to another. ID of
722 724 first changeset sent is in ``$HG_NODE``. Source of operation is in
723 725 ``$HG_SOURCE``; see "preoutgoing" hook for description.
724 726
725 727 ``post-<command>``
726 728 Run after successful invocations of the associated command. The
727 729 contents of the command line are passed as ``$HG_ARGS`` and the result
728 730 code in ``$HG_RESULT``. Parsed command line arguments are passed as
729 731 ``$HG_PATS`` and ``$HG_OPTS``. These contain string representations of
730 732 the python data internally passed to <command>. ``$HG_OPTS`` is a
731 733 dictionary of options (with unspecified options set to their defaults).
732 734 ``$HG_PATS`` is a list of arguments. Hook failure is ignored.
733 735
734 736 ``pre-<command>``
735 737 Run before executing the associated command. The contents of the
736 738 command line are passed as ``$HG_ARGS``. Parsed command line arguments
737 739 are passed as ``$HG_PATS`` and ``$HG_OPTS``. These contain string
738 740 representations of the data internally passed to <command>. ``$HG_OPTS``
739 741 is a dictionary of options (with unspecified options set to their
740 742 defaults). ``$HG_PATS`` is a list of arguments. If the hook returns
741 743 failure, the command doesn't execute and Mercurial returns the failure
742 744 code.
743 745
744 746 ``prechangegroup``
745 747 Run before a changegroup is added via push, pull or unbundle. Exit
746 748 status 0 allows the changegroup to proceed. Non-zero status will
747 749 cause the push, pull or unbundle to fail. URL from which changes
748 750 will come is in ``$HG_URL``.
749 751
750 752 ``precommit``
751 753 Run before starting a local commit. Exit status 0 allows the
752 754 commit to proceed. Non-zero status will cause the commit to fail.
753 755 Parent changeset IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
754 756
755 757 ``prelistkeys``
756 758 Run before listing pushkeys (like bookmarks) in the
757 759 repository. Non-zero status will cause failure. The key namespace is
758 760 in ``$HG_NAMESPACE``.
759 761
760 762 ``preoutgoing``
761 763 Run before collecting changes to send from the local repository to
762 764 another. Non-zero status will cause failure. This lets you prevent
763 765 pull over HTTP or SSH. Also prevents against local pull, push
764 766 (outbound) or bundle commands, but not effective, since you can
765 767 just copy files instead then. Source of operation is in
766 768 ``$HG_SOURCE``. If "serve", operation is happening on behalf of remote
767 769 SSH or HTTP repository. If "push", "pull" or "bundle", operation
768 770 is happening on behalf of repository on same system.
769 771
770 772 ``prepushkey``
771 773 Run before a pushkey (like a bookmark) is added to the
772 774 repository. Non-zero status will cause the key to be rejected. The
773 775 key namespace is in ``$HG_NAMESPACE``, the key is in ``$HG_KEY``,
774 776 the old value (if any) is in ``$HG_OLD``, and the new value is in
775 777 ``$HG_NEW``.
776 778
777 779 ``pretag``
778 780 Run before creating a tag. Exit status 0 allows the tag to be
779 781 created. Non-zero status will cause the tag to fail. ID of
780 782 changeset to tag is in ``$HG_NODE``. Name of tag is in ``$HG_TAG``. Tag is
781 783 local if ``$HG_LOCAL=1``, in repository if ``$HG_LOCAL=0``.
782 784
783 785 ``pretxnchangegroup``
784 786 Run after a changegroup has been added via push, pull or unbundle,
785 787 but before the transaction has been committed. Changegroup is
786 788 visible to hook program. This lets you validate incoming changes
787 789 before accepting them. Passed the ID of the first new changeset in
788 790 ``$HG_NODE``. Exit status 0 allows the transaction to commit. Non-zero
789 791 status will cause the transaction to be rolled back and the push,
790 792 pull or unbundle will fail. URL that was source of changes is in
791 793 ``$HG_URL``.
792 794
793 795 ``pretxncommit``
794 796 Run after a changeset has been created but the transaction not yet
795 797 committed. Changeset is visible to hook program. This lets you
796 798 validate commit message and changes. Exit status 0 allows the
797 799 commit to proceed. Non-zero status will cause the transaction to
798 800 be rolled back. ID of changeset is in ``$HG_NODE``. Parent changeset
799 801 IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``.
800 802
801 803 ``preupdate``
802 804 Run before updating the working directory. Exit status 0 allows
803 805 the update to proceed. Non-zero status will prevent the update.
804 806 Changeset ID of first new parent is in ``$HG_PARENT1``. If merge, ID
805 807 of second new parent is in ``$HG_PARENT2``.
806 808
807 809 ``listkeys``
808 810 Run after listing pushkeys (like bookmarks) in the repository. The
809 811 key namespace is in ``$HG_NAMESPACE``. ``$HG_VALUES`` is a
810 812 dictionary containing the keys and values.
811 813
812 814 ``pushkey``
813 815 Run after a pushkey (like a bookmark) is added to the
814 816 repository. The key namespace is in ``$HG_NAMESPACE``, the key is in
815 817 ``$HG_KEY``, the old value (if any) is in ``$HG_OLD``, and the new
816 818 value is in ``$HG_NEW``.
817 819
818 820 ``tag``
819 821 Run after a tag is created. ID of tagged changeset is in ``$HG_NODE``.
820 822 Name of tag is in ``$HG_TAG``. Tag is local if ``$HG_LOCAL=1``, in
821 823 repository if ``$HG_LOCAL=0``.
822 824
823 825 ``update``
824 826 Run after updating the working directory. Changeset ID of first
825 827 new parent is in ``$HG_PARENT1``. If merge, ID of second new parent is
826 828 in ``$HG_PARENT2``. If the update succeeded, ``$HG_ERROR=0``. If the
827 829 update failed (e.g. because conflicts not resolved), ``$HG_ERROR=1``.
828 830
829 831 .. note:: It is generally better to use standard hooks rather than the
830 832 generic pre- and post- command hooks as they are guaranteed to be
831 833 called in the appropriate contexts for influencing transactions.
832 834 Also, hooks like "commit" will be called in all contexts that
833 835 generate a commit (e.g. tag) and not just the commit command.
834 836
835 837 .. note:: Environment variables with empty values may not be passed to
836 838 hooks on platforms such as Windows. As an example, ``$HG_PARENT2``
837 839 will have an empty value under Unix-like platforms for non-merge
838 840 changesets, while it will not be available at all under Windows.
839 841
840 842 The syntax for Python hooks is as follows::
841 843
842 844 hookname = python:modulename.submodule.callable
843 845 hookname = python:/path/to/python/module.py:callable
844 846
845 847 Python hooks are run within the Mercurial process. Each hook is
846 848 called with at least three keyword arguments: a ui object (keyword
847 849 ``ui``), a repository object (keyword ``repo``), and a ``hooktype``
848 850 keyword that tells what kind of hook is used. Arguments listed as
849 851 environment variables above are passed as keyword arguments, with no
850 852 ``HG_`` prefix, and names in lower case.
851 853
852 854 If a Python hook returns a "true" value or raises an exception, this
853 855 is treated as a failure.
854 856
855 857
856 858 ``http_proxy``
857 859 """"""""""""""
858 860
859 861 Used to access web-based Mercurial repositories through a HTTP
860 862 proxy.
861 863
862 864 ``host``
863 865 Host name and (optional) port of the proxy server, for example
864 866 "myproxy:8000".
865 867
866 868 ``no``
867 869 Optional. Comma-separated list of host names that should bypass
868 870 the proxy.
869 871
870 872 ``passwd``
871 873 Optional. Password to authenticate with at the proxy server.
872 874
873 875 ``user``
874 876 Optional. User name to authenticate with at the proxy server.
875 877
876 878 ``always``
877 879 Optional. Always use the proxy, even for localhost and any entries
878 880 in ``http_proxy.no``. True or False. Default: False.
879 881
880 882 ``smtp``
881 883 """"""""
882 884
883 885 Configuration for extensions that need to send email messages.
884 886
885 887 ``host``
886 888 Host name of mail server, e.g. "mail.example.com".
887 889
888 890 ``port``
889 891 Optional. Port to connect to on mail server. Default: 25.
890 892
891 893 ``tls``
892 894 Optional. Method to enable TLS when connecting to mail server: starttls,
893 895 smtps or none. Default: none.
894 896
895 897 ``username``
896 898 Optional. User name for authenticating with the SMTP server.
897 899 Default: none.
898 900
899 901 ``password``
900 902 Optional. Password for authenticating with the SMTP server. If not
901 903 specified, interactive sessions will prompt the user for a
902 904 password; non-interactive sessions will fail. Default: none.
903 905
904 906 ``local_hostname``
905 907 Optional. It's the hostname that the sender can use to identify
906 908 itself to the MTA.
907 909
908 910
909 911 ``patch``
910 912 """""""""
911 913
912 914 Settings used when applying patches, for instance through the 'import'
913 915 command or with Mercurial Queues extension.
914 916
915 917 ``eol``
916 918 When set to 'strict' patch content and patched files end of lines
917 919 are preserved. When set to ``lf`` or ``crlf``, both files end of
918 920 lines are ignored when patching and the result line endings are
919 921 normalized to either LF (Unix) or CRLF (Windows). When set to
920 922 ``auto``, end of lines are again ignored while patching but line
921 923 endings in patched files are normalized to their original setting
922 924 on a per-file basis. If target file does not exist or has no end
923 925 of line, patch line endings are preserved.
924 926 Default: strict.
925 927
926 928
927 929 ``paths``
928 930 """""""""
929 931
930 932 Assigns symbolic names to repositories. The left side is the
931 933 symbolic name, and the right gives the directory or URL that is the
932 934 location of the repository. Default paths can be declared by setting
933 935 the following entries.
934 936
935 937 ``default``
936 938 Directory or URL to use when pulling if no source is specified.
937 939 Default is set to repository from which the current repository was
938 940 cloned.
939 941
940 942 ``default-push``
941 943 Optional. Directory or URL to use when pushing if no destination
942 944 is specified.
943 945
944 946 ``phases``
945 947 """"""""""
946 948
947 949 Specifies default handling of phases. See :hg:`help phases` for more
948 950 information about working with phases.
949 951
950 952 ``publish``
951 953 Controls draft phase behavior when working as a server. When true,
952 954 pushed changesets are set to public in both client and server and
953 955 pulled or cloned changesets are set to public in the client.
954 956 Default: True
955 957
956 958 ``new-commit``
957 959 Phase of newly-created commits.
958 960 Default: draft
959 961
960 962 ``profiling``
961 963 """""""""""""
962 964
963 965 Specifies profiling format and file output. In this section
964 966 description, 'profiling data' stands for the raw data collected
965 967 during profiling, while 'profiling report' stands for a statistical
966 968 text report generated from the profiling data. The profiling is done
967 969 using lsprof.
968 970
969 971 ``format``
970 972 Profiling format.
971 973 Default: text.
972 974
973 975 ``text``
974 976 Generate a profiling report. When saving to a file, it should be
975 977 noted that only the report is saved, and the profiling data is
976 978 not kept.
977 979 ``kcachegrind``
978 980 Format profiling data for kcachegrind use: when saving to a
979 981 file, the generated file can directly be loaded into
980 982 kcachegrind.
981 983
982 984 ``output``
983 985 File path where profiling data or report should be saved. If the
984 986 file exists, it is replaced. Default: None, data is printed on
985 987 stderr
986 988
987 989 ``revsetalias``
988 990 """""""""""""""
989 991
990 992 Alias definitions for revsets. See :hg:`help revsets` for details.
991 993
992 994 ``server``
993 995 """"""""""
994 996
995 997 Controls generic server settings.
996 998
997 999 ``uncompressed``
998 1000 Whether to allow clients to clone a repository using the
999 1001 uncompressed streaming protocol. This transfers about 40% more
1000 1002 data than a regular clone, but uses less memory and CPU on both
1001 1003 server and client. Over a LAN (100 Mbps or better) or a very fast
1002 1004 WAN, an uncompressed streaming clone is a lot faster (~10x) than a
1003 1005 regular clone. Over most WAN connections (anything slower than
1004 1006 about 6 Mbps), uncompressed streaming is slower, because of the
1005 1007 extra data transfer overhead. This mode will also temporarily hold
1006 1008 the write lock while determining what data to transfer.
1007 1009 Default is True.
1008 1010
1009 1011 ``validate``
1010 1012 Whether to validate the completeness of pushed changesets by
1011 1013 checking that all new file revisions specified in manifests are
1012 1014 present. Default is False.
1013 1015
1014 1016 ``subpaths``
1015 1017 """"""""""""
1016 1018
1017 1019 Defines subrepositories source locations rewriting rules of the form::
1018 1020
1019 1021 <pattern> = <replacement>
1020 1022
1021 1023 Where ``pattern`` is a regular expression matching the source and
1022 1024 ``replacement`` is the replacement string used to rewrite it. Groups
1023 1025 can be matched in ``pattern`` and referenced in ``replacements``. For
1024 1026 instance::
1025 1027
1026 1028 http://server/(.*)-hg/ = http://hg.server/\1/
1027 1029
1028 1030 rewrites ``http://server/foo-hg/`` into ``http://hg.server/foo/``.
1029 1031
1030 1032 All patterns are applied in definition order.
1031 1033
1032 1034 ``trusted``
1033 1035 """""""""""
1034 1036
1035 1037 Mercurial will not use the settings in the
1036 1038 ``.hg/hgrc`` file from a repository if it doesn't belong to a trusted
1037 1039 user or to a trusted group, as various hgrc features allow arbitrary
1038 1040 commands to be run. This issue is often encountered when configuring
1039 1041 hooks or extensions for shared repositories or servers. However,
1040 1042 the web interface will use some safe settings from the ``[web]``
1041 1043 section.
1042 1044
1043 1045 This section specifies what users and groups are trusted. The
1044 1046 current user is always trusted. To trust everybody, list a user or a
1045 1047 group with name ``*``. These settings must be placed in an
1046 1048 *already-trusted file* to take effect, such as ``$HOME/.hgrc`` of the
1047 1049 user or service running Mercurial.
1048 1050
1049 1051 ``users``
1050 1052 Comma-separated list of trusted users.
1051 1053
1052 1054 ``groups``
1053 1055 Comma-separated list of trusted groups.
1054 1056
1055 1057
1056 1058 ``ui``
1057 1059 """"""
1058 1060
1059 1061 User interface controls.
1060 1062
1061 1063 ``archivemeta``
1062 1064 Whether to include the .hg_archival.txt file containing meta data
1063 1065 (hashes for the repository base and for tip) in archives created
1064 1066 by the :hg:`archive` command or downloaded via hgweb.
1065 1067 Default is True.
1066 1068
1067 1069 ``askusername``
1068 1070 Whether to prompt for a username when committing. If True, and
1069 1071 neither ``$HGUSER`` nor ``$EMAIL`` has been specified, then the user will
1070 1072 be prompted to enter a username. If no username is entered, the
1071 1073 default ``USER@HOST`` is used instead.
1072 1074 Default is False.
1073 1075
1074 1076 ``commitsubrepos``
1075 1077 Whether to commit modified subrepositories when committing the
1076 1078 parent repository. If False and one subrepository has uncommitted
1077 1079 changes, abort the commit.
1078 1080 Default is False.
1079 1081
1080 1082 ``debug``
1081 1083 Print debugging information. True or False. Default is False.
1082 1084
1083 1085 ``editor``
1084 1086 The editor to use during a commit. Default is ``$EDITOR`` or ``vi``.
1085 1087
1086 1088 ``fallbackencoding``
1087 1089 Encoding to try if it's not possible to decode the changelog using
1088 1090 UTF-8. Default is ISO-8859-1.
1089 1091
1090 1092 ``ignore``
1091 1093 A file to read per-user ignore patterns from. This file should be
1092 1094 in the same format as a repository-wide .hgignore file. This
1093 1095 option supports hook syntax, so if you want to specify multiple
1094 1096 ignore files, you can do so by setting something like
1095 1097 ``ignore.other = ~/.hgignore2``. For details of the ignore file
1096 1098 format, see the ``hgignore(5)`` man page.
1097 1099
1098 1100 ``interactive``
1099 1101 Allow to prompt the user. True or False. Default is True.
1100 1102
1101 1103 ``logtemplate``
1102 1104 Template string for commands that print changesets.
1103 1105
1104 1106 ``merge``
1105 1107 The conflict resolution program to use during a manual merge.
1106 1108 For more information on merge tools see :hg:`help merge-tools`.
1107 1109 For configuring merge tools see the ``[merge-tools]`` section.
1108 1110
1109 1111 ``portablefilenames``
1110 1112 Check for portable filenames. Can be ``warn``, ``ignore`` or ``abort``.
1111 1113 Default is ``warn``.
1112 1114 If set to ``warn`` (or ``true``), a warning message is printed on POSIX
1113 1115 platforms, if a file with a non-portable filename is added (e.g. a file
1114 1116 with a name that can't be created on Windows because it contains reserved
1115 1117 parts like ``AUX``, reserved characters like ``:``, or would cause a case
1116 1118 collision with an existing file).
1117 1119 If set to ``ignore`` (or ``false``), no warning is printed.
1118 1120 If set to ``abort``, the command is aborted.
1119 1121 On Windows, this configuration option is ignored and the command aborted.
1120 1122
1121 1123 ``quiet``
1122 1124 Reduce the amount of output printed. True or False. Default is False.
1123 1125
1124 1126 ``remotecmd``
1125 1127 remote command to use for clone/push/pull operations. Default is ``hg``.
1126 1128
1127 1129 ``report_untrusted``
1128 1130 Warn if a ``.hg/hgrc`` file is ignored due to not being owned by a
1129 1131 trusted user or group. True or False. Default is True.
1130 1132
1131 1133 ``slash``
1132 1134 Display paths using a slash (``/``) as the path separator. This
1133 1135 only makes a difference on systems where the default path
1134 1136 separator is not the slash character (e.g. Windows uses the
1135 1137 backslash character (``\``)).
1136 1138 Default is False.
1137 1139
1138 1140 ``ssh``
1139 1141 command to use for SSH connections. Default is ``ssh``.
1140 1142
1141 1143 ``strict``
1142 1144 Require exact command names, instead of allowing unambiguous
1143 1145 abbreviations. True or False. Default is False.
1144 1146
1145 1147 ``style``
1146 1148 Name of style to use for command output.
1147 1149
1148 1150 ``timeout``
1149 1151 The timeout used when a lock is held (in seconds), a negative value
1150 1152 means no timeout. Default is 600.
1151 1153
1152 1154 ``traceback``
1153 1155 Mercurial always prints a traceback when an unknown exception
1154 1156 occurs. Setting this to True will make Mercurial print a traceback
1155 1157 on all exceptions, even those recognized by Mercurial (such as
1156 1158 IOError or MemoryError). Default is False.
1157 1159
1158 1160 ``username``
1159 1161 The committer of a changeset created when running "commit".
1160 1162 Typically a person's name and email address, e.g. ``Fred Widget
1161 1163 <fred@example.com>``. Default is ``$EMAIL`` or ``username@hostname``. If
1162 1164 the username in hgrc is empty, it has to be specified manually or
1163 1165 in a different hgrc file (e.g. ``$HOME/.hgrc``, if the admin set
1164 1166 ``username =`` in the system hgrc). Environment variables in the
1165 1167 username are expanded.
1166 1168
1167 1169 ``verbose``
1168 1170 Increase the amount of output printed. True or False. Default is False.
1169 1171
1170 1172
1171 1173 ``web``
1172 1174 """""""
1173 1175
1174 1176 Web interface configuration. The settings in this section apply to
1175 1177 both the builtin webserver (started by :hg:`serve`) and the script you
1176 1178 run through a webserver (``hgweb.cgi`` and the derivatives for FastCGI
1177 1179 and WSGI).
1178 1180
1179 1181 The Mercurial webserver does no authentication (it does not prompt for
1180 1182 usernames and passwords to validate *who* users are), but it does do
1181 1183 authorization (it grants or denies access for *authenticated users*
1182 1184 based on settings in this section). You must either configure your
1183 1185 webserver to do authentication for you, or disable the authorization
1184 1186 checks.
1185 1187
1186 1188 For a quick setup in a trusted environment, e.g., a private LAN, where
1187 1189 you want it to accept pushes from anybody, you can use the following
1188 1190 command line::
1189 1191
1190 1192 $ hg --config web.allow_push=* --config web.push_ssl=False serve
1191 1193
1192 1194 Note that this will allow anybody to push anything to the server and
1193 1195 that this should not be used for public servers.
1194 1196
1195 1197 The full set of options is:
1196 1198
1197 1199 ``accesslog``
1198 1200 Where to output the access log. Default is stdout.
1199 1201
1200 1202 ``address``
1201 1203 Interface address to bind to. Default is all.
1202 1204
1203 1205 ``allow_archive``
1204 1206 List of archive format (bz2, gz, zip) allowed for downloading.
1205 1207 Default is empty.
1206 1208
1207 1209 ``allowbz2``
1208 1210 (DEPRECATED) Whether to allow .tar.bz2 downloading of repository
1209 1211 revisions.
1210 1212 Default is False.
1211 1213
1212 1214 ``allowgz``
1213 1215 (DEPRECATED) Whether to allow .tar.gz downloading of repository
1214 1216 revisions.
1215 1217 Default is False.
1216 1218
1217 1219 ``allowpull``
1218 1220 Whether to allow pulling from the repository. Default is True.
1219 1221
1220 1222 ``allow_push``
1221 1223 Whether to allow pushing to the repository. If empty or not set,
1222 1224 push is not allowed. If the special value ``*``, any remote user can
1223 1225 push, including unauthenticated users. Otherwise, the remote user
1224 1226 must have been authenticated, and the authenticated user name must
1225 1227 be present in this list. The contents of the allow_push list are
1226 1228 examined after the deny_push list.
1227 1229
1228 1230 ``guessmime``
1229 1231 Control MIME types for raw download of file content.
1230 1232 Set to True to let hgweb guess the content type from the file
1231 1233 extension. This will serve HTML files as ``text/html`` and might
1232 1234 allow cross-site scripting attacks when serving untrusted
1233 1235 repositories. Default is False.
1234 1236
1235 1237 ``allow_read``
1236 1238 If the user has not already been denied repository access due to
1237 1239 the contents of deny_read, this list determines whether to grant
1238 1240 repository access to the user. If this list is not empty, and the
1239 1241 user is unauthenticated or not present in the list, then access is
1240 1242 denied for the user. If the list is empty or not set, then access
1241 1243 is permitted to all users by default. Setting allow_read to the
1242 1244 special value ``*`` is equivalent to it not being set (i.e. access
1243 1245 is permitted to all users). The contents of the allow_read list are
1244 1246 examined after the deny_read list.
1245 1247
1246 1248 ``allowzip``
1247 1249 (DEPRECATED) Whether to allow .zip downloading of repository
1248 1250 revisions. Default is False. This feature creates temporary files.
1249 1251
1250 1252 ``baseurl``
1251 1253 Base URL to use when publishing URLs in other locations, so
1252 1254 third-party tools like email notification hooks can construct
1253 1255 URLs. Example: ``http://hgserver/repos/``.
1254 1256
1255 1257 ``cacerts``
1256 1258 Path to file containing a list of PEM encoded certificate
1257 1259 authority certificates. Environment variables and ``~user``
1258 1260 constructs are expanded in the filename. If specified on the
1259 1261 client, then it will verify the identity of remote HTTPS servers
1260 1262 with these certificates. The form must be as follows::
1261 1263
1262 1264 -----BEGIN CERTIFICATE-----
1263 1265 ... (certificate in base64 PEM encoding) ...
1264 1266 -----END CERTIFICATE-----
1265 1267 -----BEGIN CERTIFICATE-----
1266 1268 ... (certificate in base64 PEM encoding) ...
1267 1269 -----END CERTIFICATE-----
1268 1270
1269 1271 This feature is only supported when using Python 2.6 or later. If you wish
1270 1272 to use it with earlier versions of Python, install the backported
1271 1273 version of the ssl library that is available from
1272 1274 ``http://pypi.python.org``.
1273 1275
1274 1276 You can use OpenSSL's CA certificate file if your platform has one.
1275 1277 On most Linux systems this will be ``/etc/ssl/certs/ca-certificates.crt``.
1276 1278 Otherwise you will have to generate this file manually.
1277 1279
1278 1280 To disable SSL verification temporarily, specify ``--insecure`` from
1279 1281 command line.
1280 1282
1281 1283 ``cache``
1282 1284 Whether to support caching in hgweb. Defaults to True.
1283 1285
1284 1286 ``contact``
1285 1287 Name or email address of the person in charge of the repository.
1286 1288 Defaults to ui.username or ``$EMAIL`` or "unknown" if unset or empty.
1287 1289
1288 1290 ``deny_push``
1289 1291 Whether to deny pushing to the repository. If empty or not set,
1290 1292 push is not denied. If the special value ``*``, all remote users are
1291 1293 denied push. Otherwise, unauthenticated users are all denied, and
1292 1294 any authenticated user name present in this list is also denied. The
1293 1295 contents of the deny_push list are examined before the allow_push list.
1294 1296
1295 1297 ``deny_read``
1296 1298 Whether to deny reading/viewing of the repository. If this list is
1297 1299 not empty, unauthenticated users are all denied, and any
1298 1300 authenticated user name present in this list is also denied access to
1299 1301 the repository. If set to the special value ``*``, all remote users
1300 1302 are denied access (rarely needed ;). If deny_read is empty or not set,
1301 1303 the determination of repository access depends on the presence and
1302 1304 content of the allow_read list (see description). If both
1303 1305 deny_read and allow_read are empty or not set, then access is
1304 1306 permitted to all users by default. If the repository is being
1305 1307 served via hgwebdir, denied users will not be able to see it in
1306 1308 the list of repositories. The contents of the deny_read list have
1307 1309 priority over (are examined before) the contents of the allow_read
1308 1310 list.
1309 1311
1310 1312 ``descend``
1311 1313 hgwebdir indexes will not descend into subdirectories. Only repositories
1312 1314 directly in the current path will be shown (other repositories are still
1313 1315 available from the index corresponding to their containing path).
1314 1316
1315 1317 ``description``
1316 1318 Textual description of the repository's purpose or contents.
1317 1319 Default is "unknown".
1318 1320
1319 1321 ``encoding``
1320 1322 Character encoding name. Default is the current locale charset.
1321 1323 Example: "UTF-8"
1322 1324
1323 1325 ``errorlog``
1324 1326 Where to output the error log. Default is stderr.
1325 1327
1326 1328 ``hidden``
1327 1329 Whether to hide the repository in the hgwebdir index.
1328 1330 Default is False.
1329 1331
1330 1332 ``ipv6``
1331 1333 Whether to use IPv6. Default is False.
1332 1334
1333 1335 ``logoimg``
1334 1336 File name of the logo image that some templates display on each page.
1335 1337 The file name is relative to ``staticurl``. That is, the full path to
1336 1338 the logo image is "staticurl/logoimg".
1337 1339 If unset, ``hglogo.png`` will be used.
1338 1340
1339 1341 ``logourl``
1340 1342 Base URL to use for logos. If unset, ``http://mercurial.selenic.com/``
1341 1343 will be used.
1342 1344
1343 1345 ``name``
1344 1346 Repository name to use in the web interface. Default is current
1345 1347 working directory.
1346 1348
1347 1349 ``maxchanges``
1348 1350 Maximum number of changes to list on the changelog. Default is 10.
1349 1351
1350 1352 ``maxfiles``
1351 1353 Maximum number of files to list per changeset. Default is 10.
1352 1354
1353 1355 ``port``
1354 1356 Port to listen on. Default is 8000.
1355 1357
1356 1358 ``prefix``
1357 1359 Prefix path to serve from. Default is '' (server root).
1358 1360
1359 1361 ``push_ssl``
1360 1362 Whether to require that inbound pushes be transported over SSL to
1361 1363 prevent password sniffing. Default is True.
1362 1364
1363 1365 ``staticurl``
1364 1366 Base URL to use for static files. If unset, static files (e.g. the
1365 1367 hgicon.png favicon) will be served by the CGI script itself. Use
1366 1368 this setting to serve them directly with the HTTP server.
1367 1369 Example: ``http://hgserver/static/``.
1368 1370
1369 1371 ``stripes``
1370 1372 How many lines a "zebra stripe" should span in multiline output.
1371 1373 Default is 1; set to 0 to disable.
1372 1374
1373 1375 ``style``
1374 1376 Which template map style to use.
1375 1377
1376 1378 ``templates``
1377 1379 Where to find the HTML templates. Default is install path.
General Comments 0
You need to be logged in to leave comments. Login now