##// END OF EJS Templates
debug-delta: add minimal documentation for `devel.bundle-delta` option...
marmoute -
r51334:4ca794f4 stable
parent child Browse files
Show More
@@ -1,2970 +1,2974 b''
1 1 # configitems.py - centralized declaration of configuration option
2 2 #
3 3 # Copyright 2017 Pierre-Yves David <pierre-yves.david@octobus.net>
4 4 #
5 5 # This software may be used and distributed according to the terms of the
6 6 # GNU General Public License version 2 or any later version.
7 7
8 8
9 9 import functools
10 10 import re
11 11
12 12 from . import (
13 13 encoding,
14 14 error,
15 15 )
16 16
17 17
18 18 def loadconfigtable(ui, extname, configtable):
19 19 """update config item known to the ui with the extension ones"""
20 20 for section, items in sorted(configtable.items()):
21 21 knownitems = ui._knownconfig.setdefault(section, itemregister())
22 22 knownkeys = set(knownitems)
23 23 newkeys = set(items)
24 24 for key in sorted(knownkeys & newkeys):
25 25 msg = b"extension '%s' overwrite config item '%s.%s'"
26 26 msg %= (extname, section, key)
27 27 ui.develwarn(msg, config=b'warn-config')
28 28
29 29 knownitems.update(items)
30 30
31 31
32 32 class configitem:
33 33 """represent a known config item
34 34
35 35 :section: the official config section where to find this item,
36 36 :name: the official name within the section,
37 37 :default: default value for this item,
38 38 :alias: optional list of tuples as alternatives,
39 39 :generic: this is a generic definition, match name using regular expression.
40 40 """
41 41
42 42 def __init__(
43 43 self,
44 44 section,
45 45 name,
46 46 default=None,
47 47 alias=(),
48 48 generic=False,
49 49 priority=0,
50 50 experimental=False,
51 51 ):
52 52 self.section = section
53 53 self.name = name
54 54 self.default = default
55 55 self.alias = list(alias)
56 56 self.generic = generic
57 57 self.priority = priority
58 58 self.experimental = experimental
59 59 self._re = None
60 60 if generic:
61 61 self._re = re.compile(self.name)
62 62
63 63
64 64 class itemregister(dict):
65 65 """A specialized dictionary that can handle wild-card selection"""
66 66
67 67 def __init__(self):
68 68 super(itemregister, self).__init__()
69 69 self._generics = set()
70 70
71 71 def update(self, other):
72 72 super(itemregister, self).update(other)
73 73 self._generics.update(other._generics)
74 74
75 75 def __setitem__(self, key, item):
76 76 super(itemregister, self).__setitem__(key, item)
77 77 if item.generic:
78 78 self._generics.add(item)
79 79
80 80 def get(self, key):
81 81 baseitem = super(itemregister, self).get(key)
82 82 if baseitem is not None and not baseitem.generic:
83 83 return baseitem
84 84
85 85 # search for a matching generic item
86 86 generics = sorted(self._generics, key=(lambda x: (x.priority, x.name)))
87 87 for item in generics:
88 88 # we use 'match' instead of 'search' to make the matching simpler
89 89 # for people unfamiliar with regular expression. Having the match
90 90 # rooted to the start of the string will produce less surprising
91 91 # result for user writing simple regex for sub-attribute.
92 92 #
93 93 # For example using "color\..*" match produces an unsurprising
94 94 # result, while using search could suddenly match apparently
95 95 # unrelated configuration that happens to contains "color."
96 96 # anywhere. This is a tradeoff where we favor requiring ".*" on
97 97 # some match to avoid the need to prefix most pattern with "^".
98 98 # The "^" seems more error prone.
99 99 if item._re.match(key):
100 100 return item
101 101
102 102 return None
103 103
104 104
105 105 coreitems = {}
106 106
107 107
108 108 def _register(configtable, *args, **kwargs):
109 109 item = configitem(*args, **kwargs)
110 110 section = configtable.setdefault(item.section, itemregister())
111 111 if item.name in section:
112 112 msg = b"duplicated config item registration for '%s.%s'"
113 113 raise error.ProgrammingError(msg % (item.section, item.name))
114 114 section[item.name] = item
115 115
116 116
117 117 # special value for case where the default is derived from other values
118 118 dynamicdefault = object()
119 119
120 120 # Registering actual config items
121 121
122 122
123 123 def getitemregister(configtable):
124 124 f = functools.partial(_register, configtable)
125 125 # export pseudo enum as configitem.*
126 126 f.dynamicdefault = dynamicdefault
127 127 return f
128 128
129 129
130 130 coreconfigitem = getitemregister(coreitems)
131 131
132 132
133 133 def _registerdiffopts(section, configprefix=b''):
134 134 coreconfigitem(
135 135 section,
136 136 configprefix + b'nodates',
137 137 default=False,
138 138 )
139 139 coreconfigitem(
140 140 section,
141 141 configprefix + b'showfunc',
142 142 default=False,
143 143 )
144 144 coreconfigitem(
145 145 section,
146 146 configprefix + b'unified',
147 147 default=None,
148 148 )
149 149 coreconfigitem(
150 150 section,
151 151 configprefix + b'git',
152 152 default=False,
153 153 )
154 154 coreconfigitem(
155 155 section,
156 156 configprefix + b'ignorews',
157 157 default=False,
158 158 )
159 159 coreconfigitem(
160 160 section,
161 161 configprefix + b'ignorewsamount',
162 162 default=False,
163 163 )
164 164 coreconfigitem(
165 165 section,
166 166 configprefix + b'ignoreblanklines',
167 167 default=False,
168 168 )
169 169 coreconfigitem(
170 170 section,
171 171 configprefix + b'ignorewseol',
172 172 default=False,
173 173 )
174 174 coreconfigitem(
175 175 section,
176 176 configprefix + b'nobinary',
177 177 default=False,
178 178 )
179 179 coreconfigitem(
180 180 section,
181 181 configprefix + b'noprefix',
182 182 default=False,
183 183 )
184 184 coreconfigitem(
185 185 section,
186 186 configprefix + b'word-diff',
187 187 default=False,
188 188 )
189 189
190 190
191 191 coreconfigitem(
192 192 b'alias',
193 193 b'.*',
194 194 default=dynamicdefault,
195 195 generic=True,
196 196 )
197 197 coreconfigitem(
198 198 b'auth',
199 199 b'cookiefile',
200 200 default=None,
201 201 )
202 202 _registerdiffopts(section=b'annotate')
203 203 # bookmarks.pushing: internal hack for discovery
204 204 coreconfigitem(
205 205 b'bookmarks',
206 206 b'pushing',
207 207 default=list,
208 208 )
209 209 # bundle.mainreporoot: internal hack for bundlerepo
210 210 coreconfigitem(
211 211 b'bundle',
212 212 b'mainreporoot',
213 213 default=b'',
214 214 )
215 215 coreconfigitem(
216 216 b'censor',
217 217 b'policy',
218 218 default=b'abort',
219 219 experimental=True,
220 220 )
221 221 coreconfigitem(
222 222 b'chgserver',
223 223 b'idletimeout',
224 224 default=3600,
225 225 )
226 226 coreconfigitem(
227 227 b'chgserver',
228 228 b'skiphash',
229 229 default=False,
230 230 )
231 231 coreconfigitem(
232 232 b'cmdserver',
233 233 b'log',
234 234 default=None,
235 235 )
236 236 coreconfigitem(
237 237 b'cmdserver',
238 238 b'max-log-files',
239 239 default=7,
240 240 )
241 241 coreconfigitem(
242 242 b'cmdserver',
243 243 b'max-log-size',
244 244 default=b'1 MB',
245 245 )
246 246 coreconfigitem(
247 247 b'cmdserver',
248 248 b'max-repo-cache',
249 249 default=0,
250 250 experimental=True,
251 251 )
252 252 coreconfigitem(
253 253 b'cmdserver',
254 254 b'message-encodings',
255 255 default=list,
256 256 )
257 257 coreconfigitem(
258 258 b'cmdserver',
259 259 b'track-log',
260 260 default=lambda: [b'chgserver', b'cmdserver', b'repocache'],
261 261 )
262 262 coreconfigitem(
263 263 b'cmdserver',
264 264 b'shutdown-on-interrupt',
265 265 default=True,
266 266 )
267 267 coreconfigitem(
268 268 b'color',
269 269 b'.*',
270 270 default=None,
271 271 generic=True,
272 272 )
273 273 coreconfigitem(
274 274 b'color',
275 275 b'mode',
276 276 default=b'auto',
277 277 )
278 278 coreconfigitem(
279 279 b'color',
280 280 b'pagermode',
281 281 default=dynamicdefault,
282 282 )
283 283 coreconfigitem(
284 284 b'command-templates',
285 285 b'graphnode',
286 286 default=None,
287 287 alias=[(b'ui', b'graphnodetemplate')],
288 288 )
289 289 coreconfigitem(
290 290 b'command-templates',
291 291 b'log',
292 292 default=None,
293 293 alias=[(b'ui', b'logtemplate')],
294 294 )
295 295 coreconfigitem(
296 296 b'command-templates',
297 297 b'mergemarker',
298 298 default=(
299 299 b'{node|short} '
300 300 b'{ifeq(tags, "tip", "", '
301 301 b'ifeq(tags, "", "", "{tags} "))}'
302 302 b'{if(bookmarks, "{bookmarks} ")}'
303 303 b'{ifeq(branch, "default", "", "{branch} ")}'
304 304 b'- {author|user}: {desc|firstline}'
305 305 ),
306 306 alias=[(b'ui', b'mergemarkertemplate')],
307 307 )
308 308 coreconfigitem(
309 309 b'command-templates',
310 310 b'pre-merge-tool-output',
311 311 default=None,
312 312 alias=[(b'ui', b'pre-merge-tool-output-template')],
313 313 )
314 314 coreconfigitem(
315 315 b'command-templates',
316 316 b'oneline-summary',
317 317 default=None,
318 318 )
319 319 coreconfigitem(
320 320 b'command-templates',
321 321 b'oneline-summary.*',
322 322 default=dynamicdefault,
323 323 generic=True,
324 324 )
325 325 _registerdiffopts(section=b'commands', configprefix=b'commit.interactive.')
326 326 coreconfigitem(
327 327 b'commands',
328 328 b'commit.post-status',
329 329 default=False,
330 330 )
331 331 coreconfigitem(
332 332 b'commands',
333 333 b'grep.all-files',
334 334 default=False,
335 335 experimental=True,
336 336 )
337 337 coreconfigitem(
338 338 b'commands',
339 339 b'merge.require-rev',
340 340 default=False,
341 341 )
342 342 coreconfigitem(
343 343 b'commands',
344 344 b'push.require-revs',
345 345 default=False,
346 346 )
347 347 coreconfigitem(
348 348 b'commands',
349 349 b'resolve.confirm',
350 350 default=False,
351 351 )
352 352 coreconfigitem(
353 353 b'commands',
354 354 b'resolve.explicit-re-merge',
355 355 default=False,
356 356 )
357 357 coreconfigitem(
358 358 b'commands',
359 359 b'resolve.mark-check',
360 360 default=b'none',
361 361 )
362 362 _registerdiffopts(section=b'commands', configprefix=b'revert.interactive.')
363 363 coreconfigitem(
364 364 b'commands',
365 365 b'show.aliasprefix',
366 366 default=list,
367 367 )
368 368 coreconfigitem(
369 369 b'commands',
370 370 b'status.relative',
371 371 default=False,
372 372 )
373 373 coreconfigitem(
374 374 b'commands',
375 375 b'status.skipstates',
376 376 default=[],
377 377 experimental=True,
378 378 )
379 379 coreconfigitem(
380 380 b'commands',
381 381 b'status.terse',
382 382 default=b'',
383 383 )
384 384 coreconfigitem(
385 385 b'commands',
386 386 b'status.verbose',
387 387 default=False,
388 388 )
389 389 coreconfigitem(
390 390 b'commands',
391 391 b'update.check',
392 392 default=None,
393 393 )
394 394 coreconfigitem(
395 395 b'commands',
396 396 b'update.requiredest',
397 397 default=False,
398 398 )
399 399 coreconfigitem(
400 400 b'committemplate',
401 401 b'.*',
402 402 default=None,
403 403 generic=True,
404 404 )
405 405 coreconfigitem(
406 406 b'convert',
407 407 b'bzr.saverev',
408 408 default=True,
409 409 )
410 410 coreconfigitem(
411 411 b'convert',
412 412 b'cvsps.cache',
413 413 default=True,
414 414 )
415 415 coreconfigitem(
416 416 b'convert',
417 417 b'cvsps.fuzz',
418 418 default=60,
419 419 )
420 420 coreconfigitem(
421 421 b'convert',
422 422 b'cvsps.logencoding',
423 423 default=None,
424 424 )
425 425 coreconfigitem(
426 426 b'convert',
427 427 b'cvsps.mergefrom',
428 428 default=None,
429 429 )
430 430 coreconfigitem(
431 431 b'convert',
432 432 b'cvsps.mergeto',
433 433 default=None,
434 434 )
435 435 coreconfigitem(
436 436 b'convert',
437 437 b'git.committeractions',
438 438 default=lambda: [b'messagedifferent'],
439 439 )
440 440 coreconfigitem(
441 441 b'convert',
442 442 b'git.extrakeys',
443 443 default=list,
444 444 )
445 445 coreconfigitem(
446 446 b'convert',
447 447 b'git.findcopiesharder',
448 448 default=False,
449 449 )
450 450 coreconfigitem(
451 451 b'convert',
452 452 b'git.remoteprefix',
453 453 default=b'remote',
454 454 )
455 455 coreconfigitem(
456 456 b'convert',
457 457 b'git.renamelimit',
458 458 default=400,
459 459 )
460 460 coreconfigitem(
461 461 b'convert',
462 462 b'git.saverev',
463 463 default=True,
464 464 )
465 465 coreconfigitem(
466 466 b'convert',
467 467 b'git.similarity',
468 468 default=50,
469 469 )
470 470 coreconfigitem(
471 471 b'convert',
472 472 b'git.skipsubmodules',
473 473 default=False,
474 474 )
475 475 coreconfigitem(
476 476 b'convert',
477 477 b'hg.clonebranches',
478 478 default=False,
479 479 )
480 480 coreconfigitem(
481 481 b'convert',
482 482 b'hg.ignoreerrors',
483 483 default=False,
484 484 )
485 485 coreconfigitem(
486 486 b'convert',
487 487 b'hg.preserve-hash',
488 488 default=False,
489 489 )
490 490 coreconfigitem(
491 491 b'convert',
492 492 b'hg.revs',
493 493 default=None,
494 494 )
495 495 coreconfigitem(
496 496 b'convert',
497 497 b'hg.saverev',
498 498 default=False,
499 499 )
500 500 coreconfigitem(
501 501 b'convert',
502 502 b'hg.sourcename',
503 503 default=None,
504 504 )
505 505 coreconfigitem(
506 506 b'convert',
507 507 b'hg.startrev',
508 508 default=None,
509 509 )
510 510 coreconfigitem(
511 511 b'convert',
512 512 b'hg.tagsbranch',
513 513 default=b'default',
514 514 )
515 515 coreconfigitem(
516 516 b'convert',
517 517 b'hg.usebranchnames',
518 518 default=True,
519 519 )
520 520 coreconfigitem(
521 521 b'convert',
522 522 b'ignoreancestorcheck',
523 523 default=False,
524 524 experimental=True,
525 525 )
526 526 coreconfigitem(
527 527 b'convert',
528 528 b'localtimezone',
529 529 default=False,
530 530 )
531 531 coreconfigitem(
532 532 b'convert',
533 533 b'p4.encoding',
534 534 default=dynamicdefault,
535 535 )
536 536 coreconfigitem(
537 537 b'convert',
538 538 b'p4.startrev',
539 539 default=0,
540 540 )
541 541 coreconfigitem(
542 542 b'convert',
543 543 b'skiptags',
544 544 default=False,
545 545 )
546 546 coreconfigitem(
547 547 b'convert',
548 548 b'svn.debugsvnlog',
549 549 default=True,
550 550 )
551 551 coreconfigitem(
552 552 b'convert',
553 553 b'svn.trunk',
554 554 default=None,
555 555 )
556 556 coreconfigitem(
557 557 b'convert',
558 558 b'svn.tags',
559 559 default=None,
560 560 )
561 561 coreconfigitem(
562 562 b'convert',
563 563 b'svn.branches',
564 564 default=None,
565 565 )
566 566 coreconfigitem(
567 567 b'convert',
568 568 b'svn.startrev',
569 569 default=0,
570 570 )
571 571 coreconfigitem(
572 572 b'convert',
573 573 b'svn.dangerous-set-commit-dates',
574 574 default=False,
575 575 )
576 576 coreconfigitem(
577 577 b'debug',
578 578 b'dirstate.delaywrite',
579 579 default=0,
580 580 )
581 581 coreconfigitem(
582 582 b'debug',
583 583 b'revlog.verifyposition.changelog',
584 584 default=b'',
585 585 )
586 586 coreconfigitem(
587 587 b'debug',
588 588 b'revlog.debug-delta',
589 589 default=False,
590 590 )
591 591 # display extra information about the bundling process
592 592 coreconfigitem(
593 593 b'debug',
594 594 b'bundling-stats',
595 595 default=False,
596 596 )
597 597 # display extra information about the unbundling process
598 598 coreconfigitem(
599 599 b'debug',
600 600 b'unbundling-stats',
601 601 default=False,
602 602 )
603 603 coreconfigitem(
604 604 b'defaults',
605 605 b'.*',
606 606 default=None,
607 607 generic=True,
608 608 )
609 609 coreconfigitem(
610 610 b'devel',
611 611 b'all-warnings',
612 612 default=False,
613 613 )
614 614 coreconfigitem(
615 615 b'devel',
616 616 b'bundle2.debug',
617 617 default=False,
618 618 )
619 # which kind of delta to put in the bundled changegroup. Possible value
620 # - '': use default behavior
621 # - p1: force to always use delta against p1
622 # - full: force to always use full content
619 623 coreconfigitem(
620 624 b'devel',
621 625 b'bundle.delta',
622 626 default=b'',
623 627 )
624 628 coreconfigitem(
625 629 b'devel',
626 630 b'cache-vfs',
627 631 default=None,
628 632 )
629 633 coreconfigitem(
630 634 b'devel',
631 635 b'check-locks',
632 636 default=False,
633 637 )
634 638 coreconfigitem(
635 639 b'devel',
636 640 b'check-relroot',
637 641 default=False,
638 642 )
639 643 # Track copy information for all file, not just "added" one (very slow)
640 644 coreconfigitem(
641 645 b'devel',
642 646 b'copy-tracing.trace-all-files',
643 647 default=False,
644 648 )
645 649 coreconfigitem(
646 650 b'devel',
647 651 b'default-date',
648 652 default=None,
649 653 )
650 654 coreconfigitem(
651 655 b'devel',
652 656 b'deprec-warn',
653 657 default=False,
654 658 )
655 659 # possible values:
656 660 # - auto (the default)
657 661 # - force-append
658 662 # - force-new
659 663 coreconfigitem(
660 664 b'devel',
661 665 b'dirstate.v2.data_update_mode',
662 666 default="auto",
663 667 )
664 668 coreconfigitem(
665 669 b'devel',
666 670 b'disableloaddefaultcerts',
667 671 default=False,
668 672 )
669 673 coreconfigitem(
670 674 b'devel',
671 675 b'warn-empty-changegroup',
672 676 default=False,
673 677 )
674 678 coreconfigitem(
675 679 b'devel',
676 680 b'legacy.exchange',
677 681 default=list,
678 682 )
679 683 # When True, revlogs use a special reference version of the nodemap, that is not
680 684 # performant but is "known" to behave properly.
681 685 coreconfigitem(
682 686 b'devel',
683 687 b'persistent-nodemap',
684 688 default=False,
685 689 )
686 690 coreconfigitem(
687 691 b'devel',
688 692 b'servercafile',
689 693 default=b'',
690 694 )
691 695 # This config option is intended for use in tests only. It is a giant
692 696 # footgun to kill security. Don't define it.
693 697 coreconfigitem(
694 698 b'devel',
695 699 b'server-insecure-exact-protocol',
696 700 default=b'',
697 701 )
698 702 coreconfigitem(
699 703 b'devel',
700 704 b'serverrequirecert',
701 705 default=False,
702 706 )
703 707 # Makes the status algorithm wait for the existence of this file
704 708 # (or until a timeout of `devel.sync.status.pre-dirstate-write-file-timeout`
705 709 # seconds) before taking the lock and writing the dirstate.
706 710 # Status signals that it's ready to wait by creating a file
707 711 # with the same name + `.waiting`.
708 712 # Useful when testing race conditions.
709 713 coreconfigitem(
710 714 b'devel',
711 715 b'sync.status.pre-dirstate-write-file',
712 716 default=None,
713 717 )
714 718 coreconfigitem(
715 719 b'devel',
716 720 b'sync.status.pre-dirstate-write-file-timeout',
717 721 default=2,
718 722 )
719 723 coreconfigitem(
720 724 b'devel',
721 725 b'sync.dirstate.post-docket-read-file',
722 726 default=None,
723 727 )
724 728 coreconfigitem(
725 729 b'devel',
726 730 b'sync.dirstate.post-docket-read-file-timeout',
727 731 default=2,
728 732 )
729 733 coreconfigitem(
730 734 b'devel',
731 735 b'sync.dirstate.pre-read-file',
732 736 default=None,
733 737 )
734 738 coreconfigitem(
735 739 b'devel',
736 740 b'sync.dirstate.pre-read-file-timeout',
737 741 default=2,
738 742 )
739 743 coreconfigitem(
740 744 b'devel',
741 745 b'strip-obsmarkers',
742 746 default=True,
743 747 )
744 748 coreconfigitem(
745 749 b'devel',
746 750 b'warn-config',
747 751 default=None,
748 752 )
749 753 coreconfigitem(
750 754 b'devel',
751 755 b'warn-config-default',
752 756 default=None,
753 757 )
754 758 coreconfigitem(
755 759 b'devel',
756 760 b'user.obsmarker',
757 761 default=None,
758 762 )
759 763 coreconfigitem(
760 764 b'devel',
761 765 b'warn-config-unknown',
762 766 default=None,
763 767 )
764 768 coreconfigitem(
765 769 b'devel',
766 770 b'debug.copies',
767 771 default=False,
768 772 )
769 773 coreconfigitem(
770 774 b'devel',
771 775 b'copy-tracing.multi-thread',
772 776 default=True,
773 777 )
774 778 coreconfigitem(
775 779 b'devel',
776 780 b'debug.extensions',
777 781 default=False,
778 782 )
779 783 coreconfigitem(
780 784 b'devel',
781 785 b'debug.repo-filters',
782 786 default=False,
783 787 )
784 788 coreconfigitem(
785 789 b'devel',
786 790 b'debug.peer-request',
787 791 default=False,
788 792 )
789 793 # If discovery.exchange-heads is False, the discovery will not start with
790 794 # remote head fetching and local head querying.
791 795 coreconfigitem(
792 796 b'devel',
793 797 b'discovery.exchange-heads',
794 798 default=True,
795 799 )
796 800 # If devel.debug.abort-update is True, then any merge with the working copy,
797 801 # e.g. [hg update], will be aborted after figuring out what needs to be done,
798 802 # but before spawning the parallel worker
799 803 coreconfigitem(
800 804 b'devel',
801 805 b'debug.abort-update',
802 806 default=False,
803 807 )
804 808 # If discovery.grow-sample is False, the sample size used in set discovery will
805 809 # not be increased through the process
806 810 coreconfigitem(
807 811 b'devel',
808 812 b'discovery.grow-sample',
809 813 default=True,
810 814 )
811 815 # When discovery.grow-sample.dynamic is True, the default, the sample size is
812 816 # adapted to the shape of the undecided set (it is set to the max of:
813 817 # <target-size>, len(roots(undecided)), len(heads(undecided)
814 818 coreconfigitem(
815 819 b'devel',
816 820 b'discovery.grow-sample.dynamic',
817 821 default=True,
818 822 )
819 823 # discovery.grow-sample.rate control the rate at which the sample grow
820 824 coreconfigitem(
821 825 b'devel',
822 826 b'discovery.grow-sample.rate',
823 827 default=1.05,
824 828 )
825 829 # If discovery.randomize is False, random sampling during discovery are
826 830 # deterministic. It is meant for integration tests.
827 831 coreconfigitem(
828 832 b'devel',
829 833 b'discovery.randomize',
830 834 default=True,
831 835 )
832 836 # Control the initial size of the discovery sample
833 837 coreconfigitem(
834 838 b'devel',
835 839 b'discovery.sample-size',
836 840 default=200,
837 841 )
838 842 # Control the initial size of the discovery for initial change
839 843 coreconfigitem(
840 844 b'devel',
841 845 b'discovery.sample-size.initial',
842 846 default=100,
843 847 )
844 848 _registerdiffopts(section=b'diff')
845 849 coreconfigitem(
846 850 b'diff',
847 851 b'merge',
848 852 default=False,
849 853 experimental=True,
850 854 )
851 855 coreconfigitem(
852 856 b'email',
853 857 b'bcc',
854 858 default=None,
855 859 )
856 860 coreconfigitem(
857 861 b'email',
858 862 b'cc',
859 863 default=None,
860 864 )
861 865 coreconfigitem(
862 866 b'email',
863 867 b'charsets',
864 868 default=list,
865 869 )
866 870 coreconfigitem(
867 871 b'email',
868 872 b'from',
869 873 default=None,
870 874 )
871 875 coreconfigitem(
872 876 b'email',
873 877 b'method',
874 878 default=b'smtp',
875 879 )
876 880 coreconfigitem(
877 881 b'email',
878 882 b'reply-to',
879 883 default=None,
880 884 )
881 885 coreconfigitem(
882 886 b'email',
883 887 b'to',
884 888 default=None,
885 889 )
886 890 coreconfigitem(
887 891 b'experimental',
888 892 b'archivemetatemplate',
889 893 default=dynamicdefault,
890 894 )
891 895 coreconfigitem(
892 896 b'experimental',
893 897 b'auto-publish',
894 898 default=b'publish',
895 899 )
896 900 coreconfigitem(
897 901 b'experimental',
898 902 b'bundle-phases',
899 903 default=False,
900 904 )
901 905 coreconfigitem(
902 906 b'experimental',
903 907 b'bundle2-advertise',
904 908 default=True,
905 909 )
906 910 coreconfigitem(
907 911 b'experimental',
908 912 b'bundle2-output-capture',
909 913 default=False,
910 914 )
911 915 coreconfigitem(
912 916 b'experimental',
913 917 b'bundle2.pushback',
914 918 default=False,
915 919 )
916 920 coreconfigitem(
917 921 b'experimental',
918 922 b'bundle2lazylocking',
919 923 default=False,
920 924 )
921 925 coreconfigitem(
922 926 b'experimental',
923 927 b'bundlecomplevel',
924 928 default=None,
925 929 )
926 930 coreconfigitem(
927 931 b'experimental',
928 932 b'bundlecomplevel.bzip2',
929 933 default=None,
930 934 )
931 935 coreconfigitem(
932 936 b'experimental',
933 937 b'bundlecomplevel.gzip',
934 938 default=None,
935 939 )
936 940 coreconfigitem(
937 941 b'experimental',
938 942 b'bundlecomplevel.none',
939 943 default=None,
940 944 )
941 945 coreconfigitem(
942 946 b'experimental',
943 947 b'bundlecomplevel.zstd',
944 948 default=None,
945 949 )
946 950 coreconfigitem(
947 951 b'experimental',
948 952 b'bundlecompthreads',
949 953 default=None,
950 954 )
951 955 coreconfigitem(
952 956 b'experimental',
953 957 b'bundlecompthreads.bzip2',
954 958 default=None,
955 959 )
956 960 coreconfigitem(
957 961 b'experimental',
958 962 b'bundlecompthreads.gzip',
959 963 default=None,
960 964 )
961 965 coreconfigitem(
962 966 b'experimental',
963 967 b'bundlecompthreads.none',
964 968 default=None,
965 969 )
966 970 coreconfigitem(
967 971 b'experimental',
968 972 b'bundlecompthreads.zstd',
969 973 default=None,
970 974 )
971 975 coreconfigitem(
972 976 b'experimental',
973 977 b'changegroup3',
974 978 default=False,
975 979 )
976 980 coreconfigitem(
977 981 b'experimental',
978 982 b'changegroup4',
979 983 default=False,
980 984 )
981 985
982 986 # might remove rank configuration once the computation has no impact
983 987 coreconfigitem(
984 988 b'experimental',
985 989 b'changelog-v2.compute-rank',
986 990 default=True,
987 991 )
988 992 coreconfigitem(
989 993 b'experimental',
990 994 b'cleanup-as-archived',
991 995 default=False,
992 996 )
993 997 coreconfigitem(
994 998 b'experimental',
995 999 b'clientcompressionengines',
996 1000 default=list,
997 1001 )
998 1002 coreconfigitem(
999 1003 b'experimental',
1000 1004 b'copytrace',
1001 1005 default=b'on',
1002 1006 )
1003 1007 coreconfigitem(
1004 1008 b'experimental',
1005 1009 b'copytrace.movecandidateslimit',
1006 1010 default=100,
1007 1011 )
1008 1012 coreconfigitem(
1009 1013 b'experimental',
1010 1014 b'copytrace.sourcecommitlimit',
1011 1015 default=100,
1012 1016 )
1013 1017 coreconfigitem(
1014 1018 b'experimental',
1015 1019 b'copies.read-from',
1016 1020 default=b"filelog-only",
1017 1021 )
1018 1022 coreconfigitem(
1019 1023 b'experimental',
1020 1024 b'copies.write-to',
1021 1025 default=b'filelog-only',
1022 1026 )
1023 1027 coreconfigitem(
1024 1028 b'experimental',
1025 1029 b'crecordtest',
1026 1030 default=None,
1027 1031 )
1028 1032 coreconfigitem(
1029 1033 b'experimental',
1030 1034 b'directaccess',
1031 1035 default=False,
1032 1036 )
1033 1037 coreconfigitem(
1034 1038 b'experimental',
1035 1039 b'directaccess.revnums',
1036 1040 default=False,
1037 1041 )
1038 1042 coreconfigitem(
1039 1043 b'experimental',
1040 1044 b'editortmpinhg',
1041 1045 default=False,
1042 1046 )
1043 1047 coreconfigitem(
1044 1048 b'experimental',
1045 1049 b'evolution',
1046 1050 default=list,
1047 1051 )
1048 1052 coreconfigitem(
1049 1053 b'experimental',
1050 1054 b'evolution.allowdivergence',
1051 1055 default=False,
1052 1056 alias=[(b'experimental', b'allowdivergence')],
1053 1057 )
1054 1058 coreconfigitem(
1055 1059 b'experimental',
1056 1060 b'evolution.allowunstable',
1057 1061 default=None,
1058 1062 )
1059 1063 coreconfigitem(
1060 1064 b'experimental',
1061 1065 b'evolution.createmarkers',
1062 1066 default=None,
1063 1067 )
1064 1068 coreconfigitem(
1065 1069 b'experimental',
1066 1070 b'evolution.effect-flags',
1067 1071 default=True,
1068 1072 alias=[(b'experimental', b'effect-flags')],
1069 1073 )
1070 1074 coreconfigitem(
1071 1075 b'experimental',
1072 1076 b'evolution.exchange',
1073 1077 default=None,
1074 1078 )
1075 1079 coreconfigitem(
1076 1080 b'experimental',
1077 1081 b'evolution.bundle-obsmarker',
1078 1082 default=False,
1079 1083 )
1080 1084 coreconfigitem(
1081 1085 b'experimental',
1082 1086 b'evolution.bundle-obsmarker:mandatory',
1083 1087 default=True,
1084 1088 )
1085 1089 coreconfigitem(
1086 1090 b'experimental',
1087 1091 b'log.topo',
1088 1092 default=False,
1089 1093 )
1090 1094 coreconfigitem(
1091 1095 b'experimental',
1092 1096 b'evolution.report-instabilities',
1093 1097 default=True,
1094 1098 )
1095 1099 coreconfigitem(
1096 1100 b'experimental',
1097 1101 b'evolution.track-operation',
1098 1102 default=True,
1099 1103 )
1100 1104 # repo-level config to exclude a revset visibility
1101 1105 #
1102 1106 # The target use case is to use `share` to expose different subset of the same
1103 1107 # repository, especially server side. See also `server.view`.
1104 1108 coreconfigitem(
1105 1109 b'experimental',
1106 1110 b'extra-filter-revs',
1107 1111 default=None,
1108 1112 )
1109 1113 coreconfigitem(
1110 1114 b'experimental',
1111 1115 b'maxdeltachainspan',
1112 1116 default=-1,
1113 1117 )
1114 1118 # tracks files which were undeleted (merge might delete them but we explicitly
1115 1119 # kept/undeleted them) and creates new filenodes for them
1116 1120 coreconfigitem(
1117 1121 b'experimental',
1118 1122 b'merge-track-salvaged',
1119 1123 default=False,
1120 1124 )
1121 1125 coreconfigitem(
1122 1126 b'experimental',
1123 1127 b'mmapindexthreshold',
1124 1128 default=None,
1125 1129 )
1126 1130 coreconfigitem(
1127 1131 b'experimental',
1128 1132 b'narrow',
1129 1133 default=False,
1130 1134 )
1131 1135 coreconfigitem(
1132 1136 b'experimental',
1133 1137 b'nonnormalparanoidcheck',
1134 1138 default=False,
1135 1139 )
1136 1140 coreconfigitem(
1137 1141 b'experimental',
1138 1142 b'exportableenviron',
1139 1143 default=list,
1140 1144 )
1141 1145 coreconfigitem(
1142 1146 b'experimental',
1143 1147 b'extendedheader.index',
1144 1148 default=None,
1145 1149 )
1146 1150 coreconfigitem(
1147 1151 b'experimental',
1148 1152 b'extendedheader.similarity',
1149 1153 default=False,
1150 1154 )
1151 1155 coreconfigitem(
1152 1156 b'experimental',
1153 1157 b'graphshorten',
1154 1158 default=False,
1155 1159 )
1156 1160 coreconfigitem(
1157 1161 b'experimental',
1158 1162 b'graphstyle.parent',
1159 1163 default=dynamicdefault,
1160 1164 )
1161 1165 coreconfigitem(
1162 1166 b'experimental',
1163 1167 b'graphstyle.missing',
1164 1168 default=dynamicdefault,
1165 1169 )
1166 1170 coreconfigitem(
1167 1171 b'experimental',
1168 1172 b'graphstyle.grandparent',
1169 1173 default=dynamicdefault,
1170 1174 )
1171 1175 coreconfigitem(
1172 1176 b'experimental',
1173 1177 b'hook-track-tags',
1174 1178 default=False,
1175 1179 )
1176 1180 coreconfigitem(
1177 1181 b'experimental',
1178 1182 b'httppostargs',
1179 1183 default=False,
1180 1184 )
1181 1185 coreconfigitem(b'experimental', b'nointerrupt', default=False)
1182 1186 coreconfigitem(b'experimental', b'nointerrupt-interactiveonly', default=True)
1183 1187
1184 1188 coreconfigitem(
1185 1189 b'experimental',
1186 1190 b'obsmarkers-exchange-debug',
1187 1191 default=False,
1188 1192 )
1189 1193 coreconfigitem(
1190 1194 b'experimental',
1191 1195 b'remotenames',
1192 1196 default=False,
1193 1197 )
1194 1198 coreconfigitem(
1195 1199 b'experimental',
1196 1200 b'removeemptydirs',
1197 1201 default=True,
1198 1202 )
1199 1203 coreconfigitem(
1200 1204 b'experimental',
1201 1205 b'revert.interactive.select-to-keep',
1202 1206 default=False,
1203 1207 )
1204 1208 coreconfigitem(
1205 1209 b'experimental',
1206 1210 b'revisions.prefixhexnode',
1207 1211 default=False,
1208 1212 )
1209 1213 # "out of experimental" todo list.
1210 1214 #
1211 1215 # * include management of a persistent nodemap in the main docket
1212 1216 # * enforce a "no-truncate" policy for mmap safety
1213 1217 # - for censoring operation
1214 1218 # - for stripping operation
1215 1219 # - for rollback operation
1216 1220 # * proper streaming (race free) of the docket file
1217 1221 # * track garbage data to evemtually allow rewriting -existing- sidedata.
1218 1222 # * Exchange-wise, we will also need to do something more efficient than
1219 1223 # keeping references to the affected revlogs, especially memory-wise when
1220 1224 # rewriting sidedata.
1221 1225 # * introduce a proper solution to reduce the number of filelog related files.
1222 1226 # * use caching for reading sidedata (similar to what we do for data).
1223 1227 # * no longer set offset=0 if sidedata_size=0 (simplify cutoff computation).
1224 1228 # * Improvement to consider
1225 1229 # - avoid compression header in chunk using the default compression?
1226 1230 # - forbid "inline" compression mode entirely?
1227 1231 # - split the data offset and flag field (the 2 bytes save are mostly trouble)
1228 1232 # - keep track of uncompressed -chunk- size (to preallocate memory better)
1229 1233 # - keep track of chain base or size (probably not that useful anymore)
1230 1234 coreconfigitem(
1231 1235 b'experimental',
1232 1236 b'revlogv2',
1233 1237 default=None,
1234 1238 )
1235 1239 coreconfigitem(
1236 1240 b'experimental',
1237 1241 b'revisions.disambiguatewithin',
1238 1242 default=None,
1239 1243 )
1240 1244 coreconfigitem(
1241 1245 b'experimental',
1242 1246 b'rust.index',
1243 1247 default=False,
1244 1248 )
1245 1249 coreconfigitem(
1246 1250 b'experimental',
1247 1251 b'server.filesdata.recommended-batch-size',
1248 1252 default=50000,
1249 1253 )
1250 1254 coreconfigitem(
1251 1255 b'experimental',
1252 1256 b'server.manifestdata.recommended-batch-size',
1253 1257 default=100000,
1254 1258 )
1255 1259 coreconfigitem(
1256 1260 b'experimental',
1257 1261 b'server.stream-narrow-clones',
1258 1262 default=False,
1259 1263 )
1260 1264 coreconfigitem(
1261 1265 b'experimental',
1262 1266 b'single-head-per-branch',
1263 1267 default=False,
1264 1268 )
1265 1269 coreconfigitem(
1266 1270 b'experimental',
1267 1271 b'single-head-per-branch:account-closed-heads',
1268 1272 default=False,
1269 1273 )
1270 1274 coreconfigitem(
1271 1275 b'experimental',
1272 1276 b'single-head-per-branch:public-changes-only',
1273 1277 default=False,
1274 1278 )
1275 1279 coreconfigitem(
1276 1280 b'experimental',
1277 1281 b'sparse-read',
1278 1282 default=False,
1279 1283 )
1280 1284 coreconfigitem(
1281 1285 b'experimental',
1282 1286 b'sparse-read.density-threshold',
1283 1287 default=0.50,
1284 1288 )
1285 1289 coreconfigitem(
1286 1290 b'experimental',
1287 1291 b'sparse-read.min-gap-size',
1288 1292 default=b'65K',
1289 1293 )
1290 1294 coreconfigitem(
1291 1295 b'experimental',
1292 1296 b'treemanifest',
1293 1297 default=False,
1294 1298 )
1295 1299 coreconfigitem(
1296 1300 b'experimental',
1297 1301 b'update.atomic-file',
1298 1302 default=False,
1299 1303 )
1300 1304 coreconfigitem(
1301 1305 b'experimental',
1302 1306 b'web.full-garbage-collection-rate',
1303 1307 default=1, # still forcing a full collection on each request
1304 1308 )
1305 1309 coreconfigitem(
1306 1310 b'experimental',
1307 1311 b'worker.wdir-get-thread-safe',
1308 1312 default=False,
1309 1313 )
1310 1314 coreconfigitem(
1311 1315 b'experimental',
1312 1316 b'worker.repository-upgrade',
1313 1317 default=False,
1314 1318 )
1315 1319 coreconfigitem(
1316 1320 b'experimental',
1317 1321 b'xdiff',
1318 1322 default=False,
1319 1323 )
1320 1324 coreconfigitem(
1321 1325 b'extensions',
1322 1326 b'[^:]*',
1323 1327 default=None,
1324 1328 generic=True,
1325 1329 )
1326 1330 coreconfigitem(
1327 1331 b'extensions',
1328 1332 b'[^:]*:required',
1329 1333 default=False,
1330 1334 generic=True,
1331 1335 )
1332 1336 coreconfigitem(
1333 1337 b'extdata',
1334 1338 b'.*',
1335 1339 default=None,
1336 1340 generic=True,
1337 1341 )
1338 1342 coreconfigitem(
1339 1343 b'format',
1340 1344 b'bookmarks-in-store',
1341 1345 default=False,
1342 1346 )
1343 1347 coreconfigitem(
1344 1348 b'format',
1345 1349 b'chunkcachesize',
1346 1350 default=None,
1347 1351 experimental=True,
1348 1352 )
1349 1353 coreconfigitem(
1350 1354 # Enable this dirstate format *when creating a new repository*.
1351 1355 # Which format to use for existing repos is controlled by .hg/requires
1352 1356 b'format',
1353 1357 b'use-dirstate-v2',
1354 1358 default=False,
1355 1359 experimental=True,
1356 1360 alias=[(b'format', b'exp-rc-dirstate-v2')],
1357 1361 )
1358 1362 coreconfigitem(
1359 1363 b'format',
1360 1364 b'use-dirstate-v2.automatic-upgrade-of-mismatching-repositories',
1361 1365 default=False,
1362 1366 experimental=True,
1363 1367 )
1364 1368 coreconfigitem(
1365 1369 b'format',
1366 1370 b'use-dirstate-v2.automatic-upgrade-of-mismatching-repositories:quiet',
1367 1371 default=False,
1368 1372 experimental=True,
1369 1373 )
1370 1374 coreconfigitem(
1371 1375 b'format',
1372 1376 b'use-dirstate-tracked-hint',
1373 1377 default=False,
1374 1378 experimental=True,
1375 1379 )
1376 1380 coreconfigitem(
1377 1381 b'format',
1378 1382 b'use-dirstate-tracked-hint.version',
1379 1383 default=1,
1380 1384 experimental=True,
1381 1385 )
1382 1386 coreconfigitem(
1383 1387 b'format',
1384 1388 b'use-dirstate-tracked-hint.automatic-upgrade-of-mismatching-repositories',
1385 1389 default=False,
1386 1390 experimental=True,
1387 1391 )
1388 1392 coreconfigitem(
1389 1393 b'format',
1390 1394 b'use-dirstate-tracked-hint.automatic-upgrade-of-mismatching-repositories:quiet',
1391 1395 default=False,
1392 1396 experimental=True,
1393 1397 )
1394 1398 coreconfigitem(
1395 1399 b'format',
1396 1400 b'dotencode',
1397 1401 default=True,
1398 1402 )
1399 1403 coreconfigitem(
1400 1404 b'format',
1401 1405 b'generaldelta',
1402 1406 default=False,
1403 1407 experimental=True,
1404 1408 )
1405 1409 coreconfigitem(
1406 1410 b'format',
1407 1411 b'manifestcachesize',
1408 1412 default=None,
1409 1413 experimental=True,
1410 1414 )
1411 1415 coreconfigitem(
1412 1416 b'format',
1413 1417 b'maxchainlen',
1414 1418 default=dynamicdefault,
1415 1419 experimental=True,
1416 1420 )
1417 1421 coreconfigitem(
1418 1422 b'format',
1419 1423 b'obsstore-version',
1420 1424 default=None,
1421 1425 )
1422 1426 coreconfigitem(
1423 1427 b'format',
1424 1428 b'sparse-revlog',
1425 1429 default=True,
1426 1430 )
1427 1431 coreconfigitem(
1428 1432 b'format',
1429 1433 b'revlog-compression',
1430 1434 default=lambda: [b'zstd', b'zlib'],
1431 1435 alias=[(b'experimental', b'format.compression')],
1432 1436 )
1433 1437 # Experimental TODOs:
1434 1438 #
1435 1439 # * Same as for revlogv2 (but for the reduction of the number of files)
1436 1440 # * Actually computing the rank of changesets
1437 1441 # * Improvement to investigate
1438 1442 # - storing .hgtags fnode
1439 1443 # - storing branch related identifier
1440 1444
1441 1445 coreconfigitem(
1442 1446 b'format',
1443 1447 b'exp-use-changelog-v2',
1444 1448 default=None,
1445 1449 experimental=True,
1446 1450 )
1447 1451 coreconfigitem(
1448 1452 b'format',
1449 1453 b'usefncache',
1450 1454 default=True,
1451 1455 )
1452 1456 coreconfigitem(
1453 1457 b'format',
1454 1458 b'usegeneraldelta',
1455 1459 default=True,
1456 1460 )
1457 1461 coreconfigitem(
1458 1462 b'format',
1459 1463 b'usestore',
1460 1464 default=True,
1461 1465 )
1462 1466
1463 1467
1464 1468 def _persistent_nodemap_default():
1465 1469 """compute `use-persistent-nodemap` default value
1466 1470
1467 1471 The feature is disabled unless a fast implementation is available.
1468 1472 """
1469 1473 from . import policy
1470 1474
1471 1475 return policy.importrust('revlog') is not None
1472 1476
1473 1477
1474 1478 coreconfigitem(
1475 1479 b'format',
1476 1480 b'use-persistent-nodemap',
1477 1481 default=_persistent_nodemap_default,
1478 1482 )
1479 1483 coreconfigitem(
1480 1484 b'format',
1481 1485 b'exp-use-copies-side-data-changeset',
1482 1486 default=False,
1483 1487 experimental=True,
1484 1488 )
1485 1489 coreconfigitem(
1486 1490 b'format',
1487 1491 b'use-share-safe',
1488 1492 default=True,
1489 1493 )
1490 1494 coreconfigitem(
1491 1495 b'format',
1492 1496 b'use-share-safe.automatic-upgrade-of-mismatching-repositories',
1493 1497 default=False,
1494 1498 experimental=True,
1495 1499 )
1496 1500 coreconfigitem(
1497 1501 b'format',
1498 1502 b'use-share-safe.automatic-upgrade-of-mismatching-repositories:quiet',
1499 1503 default=False,
1500 1504 experimental=True,
1501 1505 )
1502 1506
1503 1507 # Moving this on by default means we are confident about the scaling of phases.
1504 1508 # This is not garanteed to be the case at the time this message is written.
1505 1509 coreconfigitem(
1506 1510 b'format',
1507 1511 b'use-internal-phase',
1508 1512 default=False,
1509 1513 experimental=True,
1510 1514 )
1511 1515 # The interaction between the archived phase and obsolescence markers needs to
1512 1516 # be sorted out before wider usage of this are to be considered.
1513 1517 #
1514 1518 # At the time this message is written, behavior when archiving obsolete
1515 1519 # changeset differ significantly from stripping. As part of stripping, we also
1516 1520 # remove the obsolescence marker associated to the stripped changesets,
1517 1521 # revealing the precedecessors changesets when applicable. When archiving, we
1518 1522 # don't touch the obsolescence markers, keeping everything hidden. This can
1519 1523 # result in quite confusing situation for people combining exchanging draft
1520 1524 # with the archived phases. As some markers needed by others may be skipped
1521 1525 # during exchange.
1522 1526 coreconfigitem(
1523 1527 b'format',
1524 1528 b'exp-archived-phase',
1525 1529 default=False,
1526 1530 experimental=True,
1527 1531 )
1528 1532 coreconfigitem(
1529 1533 b'shelve',
1530 1534 b'store',
1531 1535 default=b'internal',
1532 1536 experimental=True,
1533 1537 )
1534 1538 coreconfigitem(
1535 1539 b'fsmonitor',
1536 1540 b'warn_when_unused',
1537 1541 default=True,
1538 1542 )
1539 1543 coreconfigitem(
1540 1544 b'fsmonitor',
1541 1545 b'warn_update_file_count',
1542 1546 default=50000,
1543 1547 )
1544 1548 coreconfigitem(
1545 1549 b'fsmonitor',
1546 1550 b'warn_update_file_count_rust',
1547 1551 default=400000,
1548 1552 )
1549 1553 coreconfigitem(
1550 1554 b'help',
1551 1555 br'hidden-command\..*',
1552 1556 default=False,
1553 1557 generic=True,
1554 1558 )
1555 1559 coreconfigitem(
1556 1560 b'help',
1557 1561 br'hidden-topic\..*',
1558 1562 default=False,
1559 1563 generic=True,
1560 1564 )
1561 1565 coreconfigitem(
1562 1566 b'hooks',
1563 1567 b'[^:]*',
1564 1568 default=dynamicdefault,
1565 1569 generic=True,
1566 1570 )
1567 1571 coreconfigitem(
1568 1572 b'hooks',
1569 1573 b'.*:run-with-plain',
1570 1574 default=True,
1571 1575 generic=True,
1572 1576 )
1573 1577 coreconfigitem(
1574 1578 b'hgweb-paths',
1575 1579 b'.*',
1576 1580 default=list,
1577 1581 generic=True,
1578 1582 )
1579 1583 coreconfigitem(
1580 1584 b'hostfingerprints',
1581 1585 b'.*',
1582 1586 default=list,
1583 1587 generic=True,
1584 1588 )
1585 1589 coreconfigitem(
1586 1590 b'hostsecurity',
1587 1591 b'ciphers',
1588 1592 default=None,
1589 1593 )
1590 1594 coreconfigitem(
1591 1595 b'hostsecurity',
1592 1596 b'minimumprotocol',
1593 1597 default=dynamicdefault,
1594 1598 )
1595 1599 coreconfigitem(
1596 1600 b'hostsecurity',
1597 1601 b'.*:minimumprotocol$',
1598 1602 default=dynamicdefault,
1599 1603 generic=True,
1600 1604 )
1601 1605 coreconfigitem(
1602 1606 b'hostsecurity',
1603 1607 b'.*:ciphers$',
1604 1608 default=dynamicdefault,
1605 1609 generic=True,
1606 1610 )
1607 1611 coreconfigitem(
1608 1612 b'hostsecurity',
1609 1613 b'.*:fingerprints$',
1610 1614 default=list,
1611 1615 generic=True,
1612 1616 )
1613 1617 coreconfigitem(
1614 1618 b'hostsecurity',
1615 1619 b'.*:verifycertsfile$',
1616 1620 default=None,
1617 1621 generic=True,
1618 1622 )
1619 1623
1620 1624 coreconfigitem(
1621 1625 b'http_proxy',
1622 1626 b'always',
1623 1627 default=False,
1624 1628 )
1625 1629 coreconfigitem(
1626 1630 b'http_proxy',
1627 1631 b'host',
1628 1632 default=None,
1629 1633 )
1630 1634 coreconfigitem(
1631 1635 b'http_proxy',
1632 1636 b'no',
1633 1637 default=list,
1634 1638 )
1635 1639 coreconfigitem(
1636 1640 b'http_proxy',
1637 1641 b'passwd',
1638 1642 default=None,
1639 1643 )
1640 1644 coreconfigitem(
1641 1645 b'http_proxy',
1642 1646 b'user',
1643 1647 default=None,
1644 1648 )
1645 1649
1646 1650 coreconfigitem(
1647 1651 b'http',
1648 1652 b'timeout',
1649 1653 default=None,
1650 1654 )
1651 1655
1652 1656 coreconfigitem(
1653 1657 b'logtoprocess',
1654 1658 b'commandexception',
1655 1659 default=None,
1656 1660 )
1657 1661 coreconfigitem(
1658 1662 b'logtoprocess',
1659 1663 b'commandfinish',
1660 1664 default=None,
1661 1665 )
1662 1666 coreconfigitem(
1663 1667 b'logtoprocess',
1664 1668 b'command',
1665 1669 default=None,
1666 1670 )
1667 1671 coreconfigitem(
1668 1672 b'logtoprocess',
1669 1673 b'develwarn',
1670 1674 default=None,
1671 1675 )
1672 1676 coreconfigitem(
1673 1677 b'logtoprocess',
1674 1678 b'uiblocked',
1675 1679 default=None,
1676 1680 )
1677 1681 coreconfigitem(
1678 1682 b'merge',
1679 1683 b'checkunknown',
1680 1684 default=b'abort',
1681 1685 )
1682 1686 coreconfigitem(
1683 1687 b'merge',
1684 1688 b'checkignored',
1685 1689 default=b'abort',
1686 1690 )
1687 1691 coreconfigitem(
1688 1692 b'experimental',
1689 1693 b'merge.checkpathconflicts',
1690 1694 default=False,
1691 1695 )
1692 1696 coreconfigitem(
1693 1697 b'merge',
1694 1698 b'followcopies',
1695 1699 default=True,
1696 1700 )
1697 1701 coreconfigitem(
1698 1702 b'merge',
1699 1703 b'on-failure',
1700 1704 default=b'continue',
1701 1705 )
1702 1706 coreconfigitem(
1703 1707 b'merge',
1704 1708 b'preferancestor',
1705 1709 default=lambda: [b'*'],
1706 1710 experimental=True,
1707 1711 )
1708 1712 coreconfigitem(
1709 1713 b'merge',
1710 1714 b'strict-capability-check',
1711 1715 default=False,
1712 1716 )
1713 1717 coreconfigitem(
1714 1718 b'merge',
1715 1719 b'disable-partial-tools',
1716 1720 default=False,
1717 1721 experimental=True,
1718 1722 )
1719 1723 coreconfigitem(
1720 1724 b'partial-merge-tools',
1721 1725 b'.*',
1722 1726 default=None,
1723 1727 generic=True,
1724 1728 experimental=True,
1725 1729 )
1726 1730 coreconfigitem(
1727 1731 b'partial-merge-tools',
1728 1732 br'.*\.patterns',
1729 1733 default=dynamicdefault,
1730 1734 generic=True,
1731 1735 priority=-1,
1732 1736 experimental=True,
1733 1737 )
1734 1738 coreconfigitem(
1735 1739 b'partial-merge-tools',
1736 1740 br'.*\.executable$',
1737 1741 default=dynamicdefault,
1738 1742 generic=True,
1739 1743 priority=-1,
1740 1744 experimental=True,
1741 1745 )
1742 1746 coreconfigitem(
1743 1747 b'partial-merge-tools',
1744 1748 br'.*\.order',
1745 1749 default=0,
1746 1750 generic=True,
1747 1751 priority=-1,
1748 1752 experimental=True,
1749 1753 )
1750 1754 coreconfigitem(
1751 1755 b'partial-merge-tools',
1752 1756 br'.*\.args',
1753 1757 default=b"$local $base $other",
1754 1758 generic=True,
1755 1759 priority=-1,
1756 1760 experimental=True,
1757 1761 )
1758 1762 coreconfigitem(
1759 1763 b'partial-merge-tools',
1760 1764 br'.*\.disable',
1761 1765 default=False,
1762 1766 generic=True,
1763 1767 priority=-1,
1764 1768 experimental=True,
1765 1769 )
1766 1770 coreconfigitem(
1767 1771 b'merge-tools',
1768 1772 b'.*',
1769 1773 default=None,
1770 1774 generic=True,
1771 1775 )
1772 1776 coreconfigitem(
1773 1777 b'merge-tools',
1774 1778 br'.*\.args$',
1775 1779 default=b"$local $base $other",
1776 1780 generic=True,
1777 1781 priority=-1,
1778 1782 )
1779 1783 coreconfigitem(
1780 1784 b'merge-tools',
1781 1785 br'.*\.binary$',
1782 1786 default=False,
1783 1787 generic=True,
1784 1788 priority=-1,
1785 1789 )
1786 1790 coreconfigitem(
1787 1791 b'merge-tools',
1788 1792 br'.*\.check$',
1789 1793 default=list,
1790 1794 generic=True,
1791 1795 priority=-1,
1792 1796 )
1793 1797 coreconfigitem(
1794 1798 b'merge-tools',
1795 1799 br'.*\.checkchanged$',
1796 1800 default=False,
1797 1801 generic=True,
1798 1802 priority=-1,
1799 1803 )
1800 1804 coreconfigitem(
1801 1805 b'merge-tools',
1802 1806 br'.*\.executable$',
1803 1807 default=dynamicdefault,
1804 1808 generic=True,
1805 1809 priority=-1,
1806 1810 )
1807 1811 coreconfigitem(
1808 1812 b'merge-tools',
1809 1813 br'.*\.fixeol$',
1810 1814 default=False,
1811 1815 generic=True,
1812 1816 priority=-1,
1813 1817 )
1814 1818 coreconfigitem(
1815 1819 b'merge-tools',
1816 1820 br'.*\.gui$',
1817 1821 default=False,
1818 1822 generic=True,
1819 1823 priority=-1,
1820 1824 )
1821 1825 coreconfigitem(
1822 1826 b'merge-tools',
1823 1827 br'.*\.mergemarkers$',
1824 1828 default=b'basic',
1825 1829 generic=True,
1826 1830 priority=-1,
1827 1831 )
1828 1832 coreconfigitem(
1829 1833 b'merge-tools',
1830 1834 br'.*\.mergemarkertemplate$',
1831 1835 default=dynamicdefault, # take from command-templates.mergemarker
1832 1836 generic=True,
1833 1837 priority=-1,
1834 1838 )
1835 1839 coreconfigitem(
1836 1840 b'merge-tools',
1837 1841 br'.*\.priority$',
1838 1842 default=0,
1839 1843 generic=True,
1840 1844 priority=-1,
1841 1845 )
1842 1846 coreconfigitem(
1843 1847 b'merge-tools',
1844 1848 br'.*\.premerge$',
1845 1849 default=dynamicdefault,
1846 1850 generic=True,
1847 1851 priority=-1,
1848 1852 )
1849 1853 coreconfigitem(
1850 1854 b'merge-tools',
1851 1855 br'.*\.regappend$',
1852 1856 default=b"",
1853 1857 generic=True,
1854 1858 priority=-1,
1855 1859 )
1856 1860 coreconfigitem(
1857 1861 b'merge-tools',
1858 1862 br'.*\.symlink$',
1859 1863 default=False,
1860 1864 generic=True,
1861 1865 priority=-1,
1862 1866 )
1863 1867 coreconfigitem(
1864 1868 b'pager',
1865 1869 b'attend-.*',
1866 1870 default=dynamicdefault,
1867 1871 generic=True,
1868 1872 )
1869 1873 coreconfigitem(
1870 1874 b'pager',
1871 1875 b'ignore',
1872 1876 default=list,
1873 1877 )
1874 1878 coreconfigitem(
1875 1879 b'pager',
1876 1880 b'pager',
1877 1881 default=dynamicdefault,
1878 1882 )
1879 1883 coreconfigitem(
1880 1884 b'patch',
1881 1885 b'eol',
1882 1886 default=b'strict',
1883 1887 )
1884 1888 coreconfigitem(
1885 1889 b'patch',
1886 1890 b'fuzz',
1887 1891 default=2,
1888 1892 )
1889 1893 coreconfigitem(
1890 1894 b'paths',
1891 1895 b'default',
1892 1896 default=None,
1893 1897 )
1894 1898 coreconfigitem(
1895 1899 b'paths',
1896 1900 b'default-push',
1897 1901 default=None,
1898 1902 )
1899 1903 coreconfigitem(
1900 1904 b'paths',
1901 1905 b'[^:]*',
1902 1906 default=None,
1903 1907 generic=True,
1904 1908 )
1905 1909 coreconfigitem(
1906 1910 b'paths',
1907 1911 b'.*:bookmarks.mode',
1908 1912 default='default',
1909 1913 generic=True,
1910 1914 )
1911 1915 coreconfigitem(
1912 1916 b'paths',
1913 1917 b'.*:multi-urls',
1914 1918 default=False,
1915 1919 generic=True,
1916 1920 )
1917 1921 coreconfigitem(
1918 1922 b'paths',
1919 1923 b'.*:pushrev',
1920 1924 default=None,
1921 1925 generic=True,
1922 1926 )
1923 1927 coreconfigitem(
1924 1928 b'paths',
1925 1929 b'.*:pushurl',
1926 1930 default=None,
1927 1931 generic=True,
1928 1932 )
1929 1933 coreconfigitem(
1930 1934 b'paths',
1931 1935 b'.*:pulled-delta-reuse-policy',
1932 1936 default=None,
1933 1937 generic=True,
1934 1938 )
1935 1939 coreconfigitem(
1936 1940 b'phases',
1937 1941 b'checksubrepos',
1938 1942 default=b'follow',
1939 1943 )
1940 1944 coreconfigitem(
1941 1945 b'phases',
1942 1946 b'new-commit',
1943 1947 default=b'draft',
1944 1948 )
1945 1949 coreconfigitem(
1946 1950 b'phases',
1947 1951 b'publish',
1948 1952 default=True,
1949 1953 )
1950 1954 coreconfigitem(
1951 1955 b'profiling',
1952 1956 b'enabled',
1953 1957 default=False,
1954 1958 )
1955 1959 coreconfigitem(
1956 1960 b'profiling',
1957 1961 b'format',
1958 1962 default=b'text',
1959 1963 )
1960 1964 coreconfigitem(
1961 1965 b'profiling',
1962 1966 b'freq',
1963 1967 default=1000,
1964 1968 )
1965 1969 coreconfigitem(
1966 1970 b'profiling',
1967 1971 b'limit',
1968 1972 default=30,
1969 1973 )
1970 1974 coreconfigitem(
1971 1975 b'profiling',
1972 1976 b'nested',
1973 1977 default=0,
1974 1978 )
1975 1979 coreconfigitem(
1976 1980 b'profiling',
1977 1981 b'output',
1978 1982 default=None,
1979 1983 )
1980 1984 coreconfigitem(
1981 1985 b'profiling',
1982 1986 b'showmax',
1983 1987 default=0.999,
1984 1988 )
1985 1989 coreconfigitem(
1986 1990 b'profiling',
1987 1991 b'showmin',
1988 1992 default=dynamicdefault,
1989 1993 )
1990 1994 coreconfigitem(
1991 1995 b'profiling',
1992 1996 b'showtime',
1993 1997 default=True,
1994 1998 )
1995 1999 coreconfigitem(
1996 2000 b'profiling',
1997 2001 b'sort',
1998 2002 default=b'inlinetime',
1999 2003 )
2000 2004 coreconfigitem(
2001 2005 b'profiling',
2002 2006 b'statformat',
2003 2007 default=b'hotpath',
2004 2008 )
2005 2009 coreconfigitem(
2006 2010 b'profiling',
2007 2011 b'time-track',
2008 2012 default=dynamicdefault,
2009 2013 )
2010 2014 coreconfigitem(
2011 2015 b'profiling',
2012 2016 b'type',
2013 2017 default=b'stat',
2014 2018 )
2015 2019 coreconfigitem(
2016 2020 b'progress',
2017 2021 b'assume-tty',
2018 2022 default=False,
2019 2023 )
2020 2024 coreconfigitem(
2021 2025 b'progress',
2022 2026 b'changedelay',
2023 2027 default=1,
2024 2028 )
2025 2029 coreconfigitem(
2026 2030 b'progress',
2027 2031 b'clear-complete',
2028 2032 default=True,
2029 2033 )
2030 2034 coreconfigitem(
2031 2035 b'progress',
2032 2036 b'debug',
2033 2037 default=False,
2034 2038 )
2035 2039 coreconfigitem(
2036 2040 b'progress',
2037 2041 b'delay',
2038 2042 default=3,
2039 2043 )
2040 2044 coreconfigitem(
2041 2045 b'progress',
2042 2046 b'disable',
2043 2047 default=False,
2044 2048 )
2045 2049 coreconfigitem(
2046 2050 b'progress',
2047 2051 b'estimateinterval',
2048 2052 default=60.0,
2049 2053 )
2050 2054 coreconfigitem(
2051 2055 b'progress',
2052 2056 b'format',
2053 2057 default=lambda: [b'topic', b'bar', b'number', b'estimate'],
2054 2058 )
2055 2059 coreconfigitem(
2056 2060 b'progress',
2057 2061 b'refresh',
2058 2062 default=0.1,
2059 2063 )
2060 2064 coreconfigitem(
2061 2065 b'progress',
2062 2066 b'width',
2063 2067 default=dynamicdefault,
2064 2068 )
2065 2069 coreconfigitem(
2066 2070 b'pull',
2067 2071 b'confirm',
2068 2072 default=False,
2069 2073 )
2070 2074 coreconfigitem(
2071 2075 b'push',
2072 2076 b'pushvars.server',
2073 2077 default=False,
2074 2078 )
2075 2079 coreconfigitem(
2076 2080 b'rewrite',
2077 2081 b'backup-bundle',
2078 2082 default=True,
2079 2083 alias=[(b'ui', b'history-editing-backup')],
2080 2084 )
2081 2085 coreconfigitem(
2082 2086 b'rewrite',
2083 2087 b'update-timestamp',
2084 2088 default=False,
2085 2089 )
2086 2090 coreconfigitem(
2087 2091 b'rewrite',
2088 2092 b'empty-successor',
2089 2093 default=b'skip',
2090 2094 experimental=True,
2091 2095 )
2092 2096 # experimental as long as format.use-dirstate-v2 is.
2093 2097 coreconfigitem(
2094 2098 b'storage',
2095 2099 b'dirstate-v2.slow-path',
2096 2100 default=b"abort",
2097 2101 experimental=True,
2098 2102 )
2099 2103 coreconfigitem(
2100 2104 b'storage',
2101 2105 b'new-repo-backend',
2102 2106 default=b'revlogv1',
2103 2107 experimental=True,
2104 2108 )
2105 2109 coreconfigitem(
2106 2110 b'storage',
2107 2111 b'revlog.optimize-delta-parent-choice',
2108 2112 default=True,
2109 2113 alias=[(b'format', b'aggressivemergedeltas')],
2110 2114 )
2111 2115 coreconfigitem(
2112 2116 b'storage',
2113 2117 b'revlog.delta-parent-search.candidate-group-chunk-size',
2114 2118 default=20,
2115 2119 )
2116 2120 coreconfigitem(
2117 2121 b'storage',
2118 2122 b'revlog.issue6528.fix-incoming',
2119 2123 default=True,
2120 2124 )
2121 2125 # experimental as long as rust is experimental (or a C version is implemented)
2122 2126 coreconfigitem(
2123 2127 b'storage',
2124 2128 b'revlog.persistent-nodemap.mmap',
2125 2129 default=True,
2126 2130 )
2127 2131 # experimental as long as format.use-persistent-nodemap is.
2128 2132 coreconfigitem(
2129 2133 b'storage',
2130 2134 b'revlog.persistent-nodemap.slow-path',
2131 2135 default=b"abort",
2132 2136 )
2133 2137
2134 2138 coreconfigitem(
2135 2139 b'storage',
2136 2140 b'revlog.reuse-external-delta',
2137 2141 default=True,
2138 2142 )
2139 2143 # This option is True unless `format.generaldelta` is set.
2140 2144 coreconfigitem(
2141 2145 b'storage',
2142 2146 b'revlog.reuse-external-delta-parent',
2143 2147 default=None,
2144 2148 )
2145 2149 coreconfigitem(
2146 2150 b'storage',
2147 2151 b'revlog.zlib.level',
2148 2152 default=None,
2149 2153 )
2150 2154 coreconfigitem(
2151 2155 b'storage',
2152 2156 b'revlog.zstd.level',
2153 2157 default=None,
2154 2158 )
2155 2159 coreconfigitem(
2156 2160 b'server',
2157 2161 b'bookmarks-pushkey-compat',
2158 2162 default=True,
2159 2163 )
2160 2164 coreconfigitem(
2161 2165 b'server',
2162 2166 b'bundle1',
2163 2167 default=True,
2164 2168 )
2165 2169 coreconfigitem(
2166 2170 b'server',
2167 2171 b'bundle1gd',
2168 2172 default=None,
2169 2173 )
2170 2174 coreconfigitem(
2171 2175 b'server',
2172 2176 b'bundle1.pull',
2173 2177 default=None,
2174 2178 )
2175 2179 coreconfigitem(
2176 2180 b'server',
2177 2181 b'bundle1gd.pull',
2178 2182 default=None,
2179 2183 )
2180 2184 coreconfigitem(
2181 2185 b'server',
2182 2186 b'bundle1.push',
2183 2187 default=None,
2184 2188 )
2185 2189 coreconfigitem(
2186 2190 b'server',
2187 2191 b'bundle1gd.push',
2188 2192 default=None,
2189 2193 )
2190 2194 coreconfigitem(
2191 2195 b'server',
2192 2196 b'bundle2.stream',
2193 2197 default=True,
2194 2198 alias=[(b'experimental', b'bundle2.stream')],
2195 2199 )
2196 2200 coreconfigitem(
2197 2201 b'server',
2198 2202 b'compressionengines',
2199 2203 default=list,
2200 2204 )
2201 2205 coreconfigitem(
2202 2206 b'server',
2203 2207 b'concurrent-push-mode',
2204 2208 default=b'check-related',
2205 2209 )
2206 2210 coreconfigitem(
2207 2211 b'server',
2208 2212 b'disablefullbundle',
2209 2213 default=False,
2210 2214 )
2211 2215 coreconfigitem(
2212 2216 b'server',
2213 2217 b'maxhttpheaderlen',
2214 2218 default=1024,
2215 2219 )
2216 2220 coreconfigitem(
2217 2221 b'server',
2218 2222 b'pullbundle',
2219 2223 default=True,
2220 2224 )
2221 2225 coreconfigitem(
2222 2226 b'server',
2223 2227 b'preferuncompressed',
2224 2228 default=False,
2225 2229 )
2226 2230 coreconfigitem(
2227 2231 b'server',
2228 2232 b'streamunbundle',
2229 2233 default=False,
2230 2234 )
2231 2235 coreconfigitem(
2232 2236 b'server',
2233 2237 b'uncompressed',
2234 2238 default=True,
2235 2239 )
2236 2240 coreconfigitem(
2237 2241 b'server',
2238 2242 b'uncompressedallowsecret',
2239 2243 default=False,
2240 2244 )
2241 2245 coreconfigitem(
2242 2246 b'server',
2243 2247 b'view',
2244 2248 default=b'served',
2245 2249 )
2246 2250 coreconfigitem(
2247 2251 b'server',
2248 2252 b'validate',
2249 2253 default=False,
2250 2254 )
2251 2255 coreconfigitem(
2252 2256 b'server',
2253 2257 b'zliblevel',
2254 2258 default=-1,
2255 2259 )
2256 2260 coreconfigitem(
2257 2261 b'server',
2258 2262 b'zstdlevel',
2259 2263 default=3,
2260 2264 )
2261 2265 coreconfigitem(
2262 2266 b'share',
2263 2267 b'pool',
2264 2268 default=None,
2265 2269 )
2266 2270 coreconfigitem(
2267 2271 b'share',
2268 2272 b'poolnaming',
2269 2273 default=b'identity',
2270 2274 )
2271 2275 coreconfigitem(
2272 2276 b'share',
2273 2277 b'safe-mismatch.source-not-safe',
2274 2278 default=b'abort',
2275 2279 )
2276 2280 coreconfigitem(
2277 2281 b'share',
2278 2282 b'safe-mismatch.source-safe',
2279 2283 default=b'abort',
2280 2284 )
2281 2285 coreconfigitem(
2282 2286 b'share',
2283 2287 b'safe-mismatch.source-not-safe.warn',
2284 2288 default=True,
2285 2289 )
2286 2290 coreconfigitem(
2287 2291 b'share',
2288 2292 b'safe-mismatch.source-safe.warn',
2289 2293 default=True,
2290 2294 )
2291 2295 coreconfigitem(
2292 2296 b'share',
2293 2297 b'safe-mismatch.source-not-safe:verbose-upgrade',
2294 2298 default=True,
2295 2299 )
2296 2300 coreconfigitem(
2297 2301 b'share',
2298 2302 b'safe-mismatch.source-safe:verbose-upgrade',
2299 2303 default=True,
2300 2304 )
2301 2305 coreconfigitem(
2302 2306 b'shelve',
2303 2307 b'maxbackups',
2304 2308 default=10,
2305 2309 )
2306 2310 coreconfigitem(
2307 2311 b'smtp',
2308 2312 b'host',
2309 2313 default=None,
2310 2314 )
2311 2315 coreconfigitem(
2312 2316 b'smtp',
2313 2317 b'local_hostname',
2314 2318 default=None,
2315 2319 )
2316 2320 coreconfigitem(
2317 2321 b'smtp',
2318 2322 b'password',
2319 2323 default=None,
2320 2324 )
2321 2325 coreconfigitem(
2322 2326 b'smtp',
2323 2327 b'port',
2324 2328 default=dynamicdefault,
2325 2329 )
2326 2330 coreconfigitem(
2327 2331 b'smtp',
2328 2332 b'tls',
2329 2333 default=b'none',
2330 2334 )
2331 2335 coreconfigitem(
2332 2336 b'smtp',
2333 2337 b'username',
2334 2338 default=None,
2335 2339 )
2336 2340 coreconfigitem(
2337 2341 b'sparse',
2338 2342 b'missingwarning',
2339 2343 default=True,
2340 2344 experimental=True,
2341 2345 )
2342 2346 coreconfigitem(
2343 2347 b'subrepos',
2344 2348 b'allowed',
2345 2349 default=dynamicdefault, # to make backporting simpler
2346 2350 )
2347 2351 coreconfigitem(
2348 2352 b'subrepos',
2349 2353 b'hg:allowed',
2350 2354 default=dynamicdefault,
2351 2355 )
2352 2356 coreconfigitem(
2353 2357 b'subrepos',
2354 2358 b'git:allowed',
2355 2359 default=dynamicdefault,
2356 2360 )
2357 2361 coreconfigitem(
2358 2362 b'subrepos',
2359 2363 b'svn:allowed',
2360 2364 default=dynamicdefault,
2361 2365 )
2362 2366 coreconfigitem(
2363 2367 b'templates',
2364 2368 b'.*',
2365 2369 default=None,
2366 2370 generic=True,
2367 2371 )
2368 2372 coreconfigitem(
2369 2373 b'templateconfig',
2370 2374 b'.*',
2371 2375 default=dynamicdefault,
2372 2376 generic=True,
2373 2377 )
2374 2378 coreconfigitem(
2375 2379 b'trusted',
2376 2380 b'groups',
2377 2381 default=list,
2378 2382 )
2379 2383 coreconfigitem(
2380 2384 b'trusted',
2381 2385 b'users',
2382 2386 default=list,
2383 2387 )
2384 2388 coreconfigitem(
2385 2389 b'ui',
2386 2390 b'_usedassubrepo',
2387 2391 default=False,
2388 2392 )
2389 2393 coreconfigitem(
2390 2394 b'ui',
2391 2395 b'allowemptycommit',
2392 2396 default=False,
2393 2397 )
2394 2398 coreconfigitem(
2395 2399 b'ui',
2396 2400 b'archivemeta',
2397 2401 default=True,
2398 2402 )
2399 2403 coreconfigitem(
2400 2404 b'ui',
2401 2405 b'askusername',
2402 2406 default=False,
2403 2407 )
2404 2408 coreconfigitem(
2405 2409 b'ui',
2406 2410 b'available-memory',
2407 2411 default=None,
2408 2412 )
2409 2413
2410 2414 coreconfigitem(
2411 2415 b'ui',
2412 2416 b'clonebundlefallback',
2413 2417 default=False,
2414 2418 )
2415 2419 coreconfigitem(
2416 2420 b'ui',
2417 2421 b'clonebundleprefers',
2418 2422 default=list,
2419 2423 )
2420 2424 coreconfigitem(
2421 2425 b'ui',
2422 2426 b'clonebundles',
2423 2427 default=True,
2424 2428 )
2425 2429 coreconfigitem(
2426 2430 b'ui',
2427 2431 b'color',
2428 2432 default=b'auto',
2429 2433 )
2430 2434 coreconfigitem(
2431 2435 b'ui',
2432 2436 b'commitsubrepos',
2433 2437 default=False,
2434 2438 )
2435 2439 coreconfigitem(
2436 2440 b'ui',
2437 2441 b'debug',
2438 2442 default=False,
2439 2443 )
2440 2444 coreconfigitem(
2441 2445 b'ui',
2442 2446 b'debugger',
2443 2447 default=None,
2444 2448 )
2445 2449 coreconfigitem(
2446 2450 b'ui',
2447 2451 b'editor',
2448 2452 default=dynamicdefault,
2449 2453 )
2450 2454 coreconfigitem(
2451 2455 b'ui',
2452 2456 b'detailed-exit-code',
2453 2457 default=False,
2454 2458 experimental=True,
2455 2459 )
2456 2460 coreconfigitem(
2457 2461 b'ui',
2458 2462 b'fallbackencoding',
2459 2463 default=None,
2460 2464 )
2461 2465 coreconfigitem(
2462 2466 b'ui',
2463 2467 b'forcecwd',
2464 2468 default=None,
2465 2469 )
2466 2470 coreconfigitem(
2467 2471 b'ui',
2468 2472 b'forcemerge',
2469 2473 default=None,
2470 2474 )
2471 2475 coreconfigitem(
2472 2476 b'ui',
2473 2477 b'formatdebug',
2474 2478 default=False,
2475 2479 )
2476 2480 coreconfigitem(
2477 2481 b'ui',
2478 2482 b'formatjson',
2479 2483 default=False,
2480 2484 )
2481 2485 coreconfigitem(
2482 2486 b'ui',
2483 2487 b'formatted',
2484 2488 default=None,
2485 2489 )
2486 2490 coreconfigitem(
2487 2491 b'ui',
2488 2492 b'interactive',
2489 2493 default=None,
2490 2494 )
2491 2495 coreconfigitem(
2492 2496 b'ui',
2493 2497 b'interface',
2494 2498 default=None,
2495 2499 )
2496 2500 coreconfigitem(
2497 2501 b'ui',
2498 2502 b'interface.chunkselector',
2499 2503 default=None,
2500 2504 )
2501 2505 coreconfigitem(
2502 2506 b'ui',
2503 2507 b'large-file-limit',
2504 2508 default=10 * (2 ** 20),
2505 2509 )
2506 2510 coreconfigitem(
2507 2511 b'ui',
2508 2512 b'logblockedtimes',
2509 2513 default=False,
2510 2514 )
2511 2515 coreconfigitem(
2512 2516 b'ui',
2513 2517 b'merge',
2514 2518 default=None,
2515 2519 )
2516 2520 coreconfigitem(
2517 2521 b'ui',
2518 2522 b'mergemarkers',
2519 2523 default=b'basic',
2520 2524 )
2521 2525 coreconfigitem(
2522 2526 b'ui',
2523 2527 b'message-output',
2524 2528 default=b'stdio',
2525 2529 )
2526 2530 coreconfigitem(
2527 2531 b'ui',
2528 2532 b'nontty',
2529 2533 default=False,
2530 2534 )
2531 2535 coreconfigitem(
2532 2536 b'ui',
2533 2537 b'origbackuppath',
2534 2538 default=None,
2535 2539 )
2536 2540 coreconfigitem(
2537 2541 b'ui',
2538 2542 b'paginate',
2539 2543 default=True,
2540 2544 )
2541 2545 coreconfigitem(
2542 2546 b'ui',
2543 2547 b'patch',
2544 2548 default=None,
2545 2549 )
2546 2550 coreconfigitem(
2547 2551 b'ui',
2548 2552 b'portablefilenames',
2549 2553 default=b'warn',
2550 2554 )
2551 2555 coreconfigitem(
2552 2556 b'ui',
2553 2557 b'promptecho',
2554 2558 default=False,
2555 2559 )
2556 2560 coreconfigitem(
2557 2561 b'ui',
2558 2562 b'quiet',
2559 2563 default=False,
2560 2564 )
2561 2565 coreconfigitem(
2562 2566 b'ui',
2563 2567 b'quietbookmarkmove',
2564 2568 default=False,
2565 2569 )
2566 2570 coreconfigitem(
2567 2571 b'ui',
2568 2572 b'relative-paths',
2569 2573 default=b'legacy',
2570 2574 )
2571 2575 coreconfigitem(
2572 2576 b'ui',
2573 2577 b'remotecmd',
2574 2578 default=b'hg',
2575 2579 )
2576 2580 coreconfigitem(
2577 2581 b'ui',
2578 2582 b'report_untrusted',
2579 2583 default=True,
2580 2584 )
2581 2585 coreconfigitem(
2582 2586 b'ui',
2583 2587 b'rollback',
2584 2588 default=True,
2585 2589 )
2586 2590 coreconfigitem(
2587 2591 b'ui',
2588 2592 b'signal-safe-lock',
2589 2593 default=True,
2590 2594 )
2591 2595 coreconfigitem(
2592 2596 b'ui',
2593 2597 b'slash',
2594 2598 default=False,
2595 2599 )
2596 2600 coreconfigitem(
2597 2601 b'ui',
2598 2602 b'ssh',
2599 2603 default=b'ssh',
2600 2604 )
2601 2605 coreconfigitem(
2602 2606 b'ui',
2603 2607 b'ssherrorhint',
2604 2608 default=None,
2605 2609 )
2606 2610 coreconfigitem(
2607 2611 b'ui',
2608 2612 b'statuscopies',
2609 2613 default=False,
2610 2614 )
2611 2615 coreconfigitem(
2612 2616 b'ui',
2613 2617 b'strict',
2614 2618 default=False,
2615 2619 )
2616 2620 coreconfigitem(
2617 2621 b'ui',
2618 2622 b'style',
2619 2623 default=b'',
2620 2624 )
2621 2625 coreconfigitem(
2622 2626 b'ui',
2623 2627 b'supportcontact',
2624 2628 default=None,
2625 2629 )
2626 2630 coreconfigitem(
2627 2631 b'ui',
2628 2632 b'textwidth',
2629 2633 default=78,
2630 2634 )
2631 2635 coreconfigitem(
2632 2636 b'ui',
2633 2637 b'timeout',
2634 2638 default=b'600',
2635 2639 )
2636 2640 coreconfigitem(
2637 2641 b'ui',
2638 2642 b'timeout.warn',
2639 2643 default=0,
2640 2644 )
2641 2645 coreconfigitem(
2642 2646 b'ui',
2643 2647 b'timestamp-output',
2644 2648 default=False,
2645 2649 )
2646 2650 coreconfigitem(
2647 2651 b'ui',
2648 2652 b'traceback',
2649 2653 default=False,
2650 2654 )
2651 2655 coreconfigitem(
2652 2656 b'ui',
2653 2657 b'tweakdefaults',
2654 2658 default=False,
2655 2659 )
2656 2660 coreconfigitem(b'ui', b'username', alias=[(b'ui', b'user')])
2657 2661 coreconfigitem(
2658 2662 b'ui',
2659 2663 b'verbose',
2660 2664 default=False,
2661 2665 )
2662 2666 coreconfigitem(
2663 2667 b'verify',
2664 2668 b'skipflags',
2665 2669 default=0,
2666 2670 )
2667 2671 coreconfigitem(
2668 2672 b'web',
2669 2673 b'allowbz2',
2670 2674 default=False,
2671 2675 )
2672 2676 coreconfigitem(
2673 2677 b'web',
2674 2678 b'allowgz',
2675 2679 default=False,
2676 2680 )
2677 2681 coreconfigitem(
2678 2682 b'web',
2679 2683 b'allow-pull',
2680 2684 alias=[(b'web', b'allowpull')],
2681 2685 default=True,
2682 2686 )
2683 2687 coreconfigitem(
2684 2688 b'web',
2685 2689 b'allow-push',
2686 2690 alias=[(b'web', b'allow_push')],
2687 2691 default=list,
2688 2692 )
2689 2693 coreconfigitem(
2690 2694 b'web',
2691 2695 b'allowzip',
2692 2696 default=False,
2693 2697 )
2694 2698 coreconfigitem(
2695 2699 b'web',
2696 2700 b'archivesubrepos',
2697 2701 default=False,
2698 2702 )
2699 2703 coreconfigitem(
2700 2704 b'web',
2701 2705 b'cache',
2702 2706 default=True,
2703 2707 )
2704 2708 coreconfigitem(
2705 2709 b'web',
2706 2710 b'comparisoncontext',
2707 2711 default=5,
2708 2712 )
2709 2713 coreconfigitem(
2710 2714 b'web',
2711 2715 b'contact',
2712 2716 default=None,
2713 2717 )
2714 2718 coreconfigitem(
2715 2719 b'web',
2716 2720 b'deny_push',
2717 2721 default=list,
2718 2722 )
2719 2723 coreconfigitem(
2720 2724 b'web',
2721 2725 b'guessmime',
2722 2726 default=False,
2723 2727 )
2724 2728 coreconfigitem(
2725 2729 b'web',
2726 2730 b'hidden',
2727 2731 default=False,
2728 2732 )
2729 2733 coreconfigitem(
2730 2734 b'web',
2731 2735 b'labels',
2732 2736 default=list,
2733 2737 )
2734 2738 coreconfigitem(
2735 2739 b'web',
2736 2740 b'logoimg',
2737 2741 default=b'hglogo.png',
2738 2742 )
2739 2743 coreconfigitem(
2740 2744 b'web',
2741 2745 b'logourl',
2742 2746 default=b'https://mercurial-scm.org/',
2743 2747 )
2744 2748 coreconfigitem(
2745 2749 b'web',
2746 2750 b'accesslog',
2747 2751 default=b'-',
2748 2752 )
2749 2753 coreconfigitem(
2750 2754 b'web',
2751 2755 b'address',
2752 2756 default=b'',
2753 2757 )
2754 2758 coreconfigitem(
2755 2759 b'web',
2756 2760 b'allow-archive',
2757 2761 alias=[(b'web', b'allow_archive')],
2758 2762 default=list,
2759 2763 )
2760 2764 coreconfigitem(
2761 2765 b'web',
2762 2766 b'allow_read',
2763 2767 default=list,
2764 2768 )
2765 2769 coreconfigitem(
2766 2770 b'web',
2767 2771 b'baseurl',
2768 2772 default=None,
2769 2773 )
2770 2774 coreconfigitem(
2771 2775 b'web',
2772 2776 b'cacerts',
2773 2777 default=None,
2774 2778 )
2775 2779 coreconfigitem(
2776 2780 b'web',
2777 2781 b'certificate',
2778 2782 default=None,
2779 2783 )
2780 2784 coreconfigitem(
2781 2785 b'web',
2782 2786 b'collapse',
2783 2787 default=False,
2784 2788 )
2785 2789 coreconfigitem(
2786 2790 b'web',
2787 2791 b'csp',
2788 2792 default=None,
2789 2793 )
2790 2794 coreconfigitem(
2791 2795 b'web',
2792 2796 b'deny_read',
2793 2797 default=list,
2794 2798 )
2795 2799 coreconfigitem(
2796 2800 b'web',
2797 2801 b'descend',
2798 2802 default=True,
2799 2803 )
2800 2804 coreconfigitem(
2801 2805 b'web',
2802 2806 b'description',
2803 2807 default=b"",
2804 2808 )
2805 2809 coreconfigitem(
2806 2810 b'web',
2807 2811 b'encoding',
2808 2812 default=lambda: encoding.encoding,
2809 2813 )
2810 2814 coreconfigitem(
2811 2815 b'web',
2812 2816 b'errorlog',
2813 2817 default=b'-',
2814 2818 )
2815 2819 coreconfigitem(
2816 2820 b'web',
2817 2821 b'ipv6',
2818 2822 default=False,
2819 2823 )
2820 2824 coreconfigitem(
2821 2825 b'web',
2822 2826 b'maxchanges',
2823 2827 default=10,
2824 2828 )
2825 2829 coreconfigitem(
2826 2830 b'web',
2827 2831 b'maxfiles',
2828 2832 default=10,
2829 2833 )
2830 2834 coreconfigitem(
2831 2835 b'web',
2832 2836 b'maxshortchanges',
2833 2837 default=60,
2834 2838 )
2835 2839 coreconfigitem(
2836 2840 b'web',
2837 2841 b'motd',
2838 2842 default=b'',
2839 2843 )
2840 2844 coreconfigitem(
2841 2845 b'web',
2842 2846 b'name',
2843 2847 default=dynamicdefault,
2844 2848 )
2845 2849 coreconfigitem(
2846 2850 b'web',
2847 2851 b'port',
2848 2852 default=8000,
2849 2853 )
2850 2854 coreconfigitem(
2851 2855 b'web',
2852 2856 b'prefix',
2853 2857 default=b'',
2854 2858 )
2855 2859 coreconfigitem(
2856 2860 b'web',
2857 2861 b'push_ssl',
2858 2862 default=True,
2859 2863 )
2860 2864 coreconfigitem(
2861 2865 b'web',
2862 2866 b'refreshinterval',
2863 2867 default=20,
2864 2868 )
2865 2869 coreconfigitem(
2866 2870 b'web',
2867 2871 b'server-header',
2868 2872 default=None,
2869 2873 )
2870 2874 coreconfigitem(
2871 2875 b'web',
2872 2876 b'static',
2873 2877 default=None,
2874 2878 )
2875 2879 coreconfigitem(
2876 2880 b'web',
2877 2881 b'staticurl',
2878 2882 default=None,
2879 2883 )
2880 2884 coreconfigitem(
2881 2885 b'web',
2882 2886 b'stripes',
2883 2887 default=1,
2884 2888 )
2885 2889 coreconfigitem(
2886 2890 b'web',
2887 2891 b'style',
2888 2892 default=b'paper',
2889 2893 )
2890 2894 coreconfigitem(
2891 2895 b'web',
2892 2896 b'templates',
2893 2897 default=None,
2894 2898 )
2895 2899 coreconfigitem(
2896 2900 b'web',
2897 2901 b'view',
2898 2902 default=b'served',
2899 2903 experimental=True,
2900 2904 )
2901 2905 coreconfigitem(
2902 2906 b'worker',
2903 2907 b'backgroundclose',
2904 2908 default=dynamicdefault,
2905 2909 )
2906 2910 # Windows defaults to a limit of 512 open files. A buffer of 128
2907 2911 # should give us enough headway.
2908 2912 coreconfigitem(
2909 2913 b'worker',
2910 2914 b'backgroundclosemaxqueue',
2911 2915 default=384,
2912 2916 )
2913 2917 coreconfigitem(
2914 2918 b'worker',
2915 2919 b'backgroundcloseminfilecount',
2916 2920 default=2048,
2917 2921 )
2918 2922 coreconfigitem(
2919 2923 b'worker',
2920 2924 b'backgroundclosethreadcount',
2921 2925 default=4,
2922 2926 )
2923 2927 coreconfigitem(
2924 2928 b'worker',
2925 2929 b'enabled',
2926 2930 default=True,
2927 2931 )
2928 2932 coreconfigitem(
2929 2933 b'worker',
2930 2934 b'numcpus',
2931 2935 default=None,
2932 2936 )
2933 2937
2934 2938 # Rebase related configuration moved to core because other extension are doing
2935 2939 # strange things. For example, shelve import the extensions to reuse some bit
2936 2940 # without formally loading it.
2937 2941 coreconfigitem(
2938 2942 b'commands',
2939 2943 b'rebase.requiredest',
2940 2944 default=False,
2941 2945 )
2942 2946 coreconfigitem(
2943 2947 b'experimental',
2944 2948 b'rebaseskipobsolete',
2945 2949 default=True,
2946 2950 )
2947 2951 coreconfigitem(
2948 2952 b'rebase',
2949 2953 b'singletransaction',
2950 2954 default=False,
2951 2955 )
2952 2956 coreconfigitem(
2953 2957 b'rebase',
2954 2958 b'experimental.inmemory',
2955 2959 default=False,
2956 2960 )
2957 2961
2958 2962 # This setting controls creation of a rebase_source extra field
2959 2963 # during rebase. When False, no such field is created. This is
2960 2964 # useful eg for incrementally converting changesets and then
2961 2965 # rebasing them onto an existing repo.
2962 2966 # WARNING: this is an advanced setting reserved for people who know
2963 2967 # exactly what they are doing. Misuse of this setting can easily
2964 2968 # result in obsmarker cycles and a vivid headache.
2965 2969 coreconfigitem(
2966 2970 b'rebase',
2967 2971 b'store-source',
2968 2972 default=True,
2969 2973 experimental=True,
2970 2974 )
General Comments 0
You need to be logged in to leave comments. Login now