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