##// END OF EJS Templates
configitems: restore alias for format.aggressivemergedeltas...
Gregory Szorc -
r38764:e90130af 4.7rc0 stable
parent child Browse files
Show More
@@ -1,1383 +1,1383
1 1 # configitems.py - centralized declaration of configuration option
2 2 #
3 3 # Copyright 2017 Pierre-Yves David <pierre-yves.david@octobus.net>
4 4 #
5 5 # This software may be used and distributed according to the terms of the
6 6 # GNU General Public License version 2 or any later version.
7 7
8 8 from __future__ import absolute_import
9 9
10 10 import functools
11 11 import re
12 12
13 13 from . import (
14 14 encoding,
15 15 error,
16 16 )
17 17
18 18 def loadconfigtable(ui, extname, configtable):
19 19 """update config item known to the ui with the extension ones"""
20 20 for section, items in sorted(configtable.items()):
21 21 knownitems = ui._knownconfig.setdefault(section, itemregister())
22 22 knownkeys = set(knownitems)
23 23 newkeys = set(items)
24 24 for key in sorted(knownkeys & newkeys):
25 25 msg = "extension '%s' overwrite config item '%s.%s'"
26 26 msg %= (extname, section, key)
27 27 ui.develwarn(msg, config='warn-config')
28 28
29 29 knownitems.update(items)
30 30
31 31 class configitem(object):
32 32 """represent a known config item
33 33
34 34 :section: the official config section where to find this item,
35 35 :name: the official name within the section,
36 36 :default: default value for this item,
37 37 :alias: optional list of tuples as alternatives,
38 38 :generic: this is a generic definition, match name using regular expression.
39 39 """
40 40
41 41 def __init__(self, section, name, default=None, alias=(),
42 42 generic=False, priority=0):
43 43 self.section = section
44 44 self.name = name
45 45 self.default = default
46 46 self.alias = list(alias)
47 47 self.generic = generic
48 48 self.priority = priority
49 49 self._re = None
50 50 if generic:
51 51 self._re = re.compile(self.name)
52 52
53 53 class itemregister(dict):
54 54 """A specialized dictionary that can handle wild-card selection"""
55 55
56 56 def __init__(self):
57 57 super(itemregister, self).__init__()
58 58 self._generics = set()
59 59
60 60 def update(self, other):
61 61 super(itemregister, self).update(other)
62 62 self._generics.update(other._generics)
63 63
64 64 def __setitem__(self, key, item):
65 65 super(itemregister, self).__setitem__(key, item)
66 66 if item.generic:
67 67 self._generics.add(item)
68 68
69 69 def get(self, key):
70 70 baseitem = super(itemregister, self).get(key)
71 71 if baseitem is not None and not baseitem.generic:
72 72 return baseitem
73 73
74 74 # search for a matching generic item
75 75 generics = sorted(self._generics, key=(lambda x: (x.priority, x.name)))
76 76 for item in generics:
77 77 # we use 'match' instead of 'search' to make the matching simpler
78 78 # for people unfamiliar with regular expression. Having the match
79 79 # rooted to the start of the string will produce less surprising
80 80 # result for user writing simple regex for sub-attribute.
81 81 #
82 82 # For example using "color\..*" match produces an unsurprising
83 83 # result, while using search could suddenly match apparently
84 84 # unrelated configuration that happens to contains "color."
85 85 # anywhere. This is a tradeoff where we favor requiring ".*" on
86 86 # some match to avoid the need to prefix most pattern with "^".
87 87 # The "^" seems more error prone.
88 88 if item._re.match(key):
89 89 return item
90 90
91 91 return None
92 92
93 93 coreitems = {}
94 94
95 95 def _register(configtable, *args, **kwargs):
96 96 item = configitem(*args, **kwargs)
97 97 section = configtable.setdefault(item.section, itemregister())
98 98 if item.name in section:
99 99 msg = "duplicated config item registration for '%s.%s'"
100 100 raise error.ProgrammingError(msg % (item.section, item.name))
101 101 section[item.name] = item
102 102
103 103 # special value for case where the default is derived from other values
104 104 dynamicdefault = object()
105 105
106 106 # Registering actual config items
107 107
108 108 def getitemregister(configtable):
109 109 f = functools.partial(_register, configtable)
110 110 # export pseudo enum as configitem.*
111 111 f.dynamicdefault = dynamicdefault
112 112 return f
113 113
114 114 coreconfigitem = getitemregister(coreitems)
115 115
116 116 coreconfigitem('alias', '.*',
117 117 default=dynamicdefault,
118 118 generic=True,
119 119 )
120 120 coreconfigitem('annotate', 'nodates',
121 121 default=False,
122 122 )
123 123 coreconfigitem('annotate', 'showfunc',
124 124 default=False,
125 125 )
126 126 coreconfigitem('annotate', 'unified',
127 127 default=None,
128 128 )
129 129 coreconfigitem('annotate', 'git',
130 130 default=False,
131 131 )
132 132 coreconfigitem('annotate', 'ignorews',
133 133 default=False,
134 134 )
135 135 coreconfigitem('annotate', 'ignorewsamount',
136 136 default=False,
137 137 )
138 138 coreconfigitem('annotate', 'ignoreblanklines',
139 139 default=False,
140 140 )
141 141 coreconfigitem('annotate', 'ignorewseol',
142 142 default=False,
143 143 )
144 144 coreconfigitem('annotate', 'nobinary',
145 145 default=False,
146 146 )
147 147 coreconfigitem('annotate', 'noprefix',
148 148 default=False,
149 149 )
150 150 coreconfigitem('annotate', 'word-diff',
151 151 default=False,
152 152 )
153 153 coreconfigitem('auth', 'cookiefile',
154 154 default=None,
155 155 )
156 156 # bookmarks.pushing: internal hack for discovery
157 157 coreconfigitem('bookmarks', 'pushing',
158 158 default=list,
159 159 )
160 160 # bundle.mainreporoot: internal hack for bundlerepo
161 161 coreconfigitem('bundle', 'mainreporoot',
162 162 default='',
163 163 )
164 164 # bundle.reorder: experimental config
165 165 coreconfigitem('bundle', 'reorder',
166 166 default='auto',
167 167 )
168 168 coreconfigitem('censor', 'policy',
169 169 default='abort',
170 170 )
171 171 coreconfigitem('chgserver', 'idletimeout',
172 172 default=3600,
173 173 )
174 174 coreconfigitem('chgserver', 'skiphash',
175 175 default=False,
176 176 )
177 177 coreconfigitem('cmdserver', 'log',
178 178 default=None,
179 179 )
180 180 coreconfigitem('color', '.*',
181 181 default=None,
182 182 generic=True,
183 183 )
184 184 coreconfigitem('color', 'mode',
185 185 default='auto',
186 186 )
187 187 coreconfigitem('color', 'pagermode',
188 188 default=dynamicdefault,
189 189 )
190 190 coreconfigitem('commands', 'grep.all-files',
191 191 default=False,
192 192 )
193 193 coreconfigitem('commands', 'show.aliasprefix',
194 194 default=list,
195 195 )
196 196 coreconfigitem('commands', 'status.relative',
197 197 default=False,
198 198 )
199 199 coreconfigitem('commands', 'status.skipstates',
200 200 default=[],
201 201 )
202 202 coreconfigitem('commands', 'status.terse',
203 203 default='',
204 204 )
205 205 coreconfigitem('commands', 'status.verbose',
206 206 default=False,
207 207 )
208 208 coreconfigitem('commands', 'update.check',
209 209 default=None,
210 210 )
211 211 coreconfigitem('commands', 'update.requiredest',
212 212 default=False,
213 213 )
214 214 coreconfigitem('committemplate', '.*',
215 215 default=None,
216 216 generic=True,
217 217 )
218 218 coreconfigitem('convert', 'bzr.saverev',
219 219 default=True,
220 220 )
221 221 coreconfigitem('convert', 'cvsps.cache',
222 222 default=True,
223 223 )
224 224 coreconfigitem('convert', 'cvsps.fuzz',
225 225 default=60,
226 226 )
227 227 coreconfigitem('convert', 'cvsps.logencoding',
228 228 default=None,
229 229 )
230 230 coreconfigitem('convert', 'cvsps.mergefrom',
231 231 default=None,
232 232 )
233 233 coreconfigitem('convert', 'cvsps.mergeto',
234 234 default=None,
235 235 )
236 236 coreconfigitem('convert', 'git.committeractions',
237 237 default=lambda: ['messagedifferent'],
238 238 )
239 239 coreconfigitem('convert', 'git.extrakeys',
240 240 default=list,
241 241 )
242 242 coreconfigitem('convert', 'git.findcopiesharder',
243 243 default=False,
244 244 )
245 245 coreconfigitem('convert', 'git.remoteprefix',
246 246 default='remote',
247 247 )
248 248 coreconfigitem('convert', 'git.renamelimit',
249 249 default=400,
250 250 )
251 251 coreconfigitem('convert', 'git.saverev',
252 252 default=True,
253 253 )
254 254 coreconfigitem('convert', 'git.similarity',
255 255 default=50,
256 256 )
257 257 coreconfigitem('convert', 'git.skipsubmodules',
258 258 default=False,
259 259 )
260 260 coreconfigitem('convert', 'hg.clonebranches',
261 261 default=False,
262 262 )
263 263 coreconfigitem('convert', 'hg.ignoreerrors',
264 264 default=False,
265 265 )
266 266 coreconfigitem('convert', 'hg.revs',
267 267 default=None,
268 268 )
269 269 coreconfigitem('convert', 'hg.saverev',
270 270 default=False,
271 271 )
272 272 coreconfigitem('convert', 'hg.sourcename',
273 273 default=None,
274 274 )
275 275 coreconfigitem('convert', 'hg.startrev',
276 276 default=None,
277 277 )
278 278 coreconfigitem('convert', 'hg.tagsbranch',
279 279 default='default',
280 280 )
281 281 coreconfigitem('convert', 'hg.usebranchnames',
282 282 default=True,
283 283 )
284 284 coreconfigitem('convert', 'ignoreancestorcheck',
285 285 default=False,
286 286 )
287 287 coreconfigitem('convert', 'localtimezone',
288 288 default=False,
289 289 )
290 290 coreconfigitem('convert', 'p4.encoding',
291 291 default=dynamicdefault,
292 292 )
293 293 coreconfigitem('convert', 'p4.startrev',
294 294 default=0,
295 295 )
296 296 coreconfigitem('convert', 'skiptags',
297 297 default=False,
298 298 )
299 299 coreconfigitem('convert', 'svn.debugsvnlog',
300 300 default=True,
301 301 )
302 302 coreconfigitem('convert', 'svn.trunk',
303 303 default=None,
304 304 )
305 305 coreconfigitem('convert', 'svn.tags',
306 306 default=None,
307 307 )
308 308 coreconfigitem('convert', 'svn.branches',
309 309 default=None,
310 310 )
311 311 coreconfigitem('convert', 'svn.startrev',
312 312 default=0,
313 313 )
314 314 coreconfigitem('debug', 'dirstate.delaywrite',
315 315 default=0,
316 316 )
317 317 coreconfigitem('defaults', '.*',
318 318 default=None,
319 319 generic=True,
320 320 )
321 321 coreconfigitem('devel', 'all-warnings',
322 322 default=False,
323 323 )
324 324 coreconfigitem('devel', 'bundle2.debug',
325 325 default=False,
326 326 )
327 327 coreconfigitem('devel', 'cache-vfs',
328 328 default=None,
329 329 )
330 330 coreconfigitem('devel', 'check-locks',
331 331 default=False,
332 332 )
333 333 coreconfigitem('devel', 'check-relroot',
334 334 default=False,
335 335 )
336 336 coreconfigitem('devel', 'default-date',
337 337 default=None,
338 338 )
339 339 coreconfigitem('devel', 'deprec-warn',
340 340 default=False,
341 341 )
342 342 coreconfigitem('devel', 'disableloaddefaultcerts',
343 343 default=False,
344 344 )
345 345 coreconfigitem('devel', 'warn-empty-changegroup',
346 346 default=False,
347 347 )
348 348 coreconfigitem('devel', 'legacy.exchange',
349 349 default=list,
350 350 )
351 351 coreconfigitem('devel', 'servercafile',
352 352 default='',
353 353 )
354 354 coreconfigitem('devel', 'serverexactprotocol',
355 355 default='',
356 356 )
357 357 coreconfigitem('devel', 'serverrequirecert',
358 358 default=False,
359 359 )
360 360 coreconfigitem('devel', 'strip-obsmarkers',
361 361 default=True,
362 362 )
363 363 coreconfigitem('devel', 'warn-config',
364 364 default=None,
365 365 )
366 366 coreconfigitem('devel', 'warn-config-default',
367 367 default=None,
368 368 )
369 369 coreconfigitem('devel', 'user.obsmarker',
370 370 default=None,
371 371 )
372 372 coreconfigitem('devel', 'warn-config-unknown',
373 373 default=None,
374 374 )
375 375 coreconfigitem('devel', 'debug.extensions',
376 376 default=False,
377 377 )
378 378 coreconfigitem('devel', 'debug.peer-request',
379 379 default=False,
380 380 )
381 381 coreconfigitem('diff', 'nodates',
382 382 default=False,
383 383 )
384 384 coreconfigitem('diff', 'showfunc',
385 385 default=False,
386 386 )
387 387 coreconfigitem('diff', 'unified',
388 388 default=None,
389 389 )
390 390 coreconfigitem('diff', 'git',
391 391 default=False,
392 392 )
393 393 coreconfigitem('diff', 'ignorews',
394 394 default=False,
395 395 )
396 396 coreconfigitem('diff', 'ignorewsamount',
397 397 default=False,
398 398 )
399 399 coreconfigitem('diff', 'ignoreblanklines',
400 400 default=False,
401 401 )
402 402 coreconfigitem('diff', 'ignorewseol',
403 403 default=False,
404 404 )
405 405 coreconfigitem('diff', 'nobinary',
406 406 default=False,
407 407 )
408 408 coreconfigitem('diff', 'noprefix',
409 409 default=False,
410 410 )
411 411 coreconfigitem('diff', 'word-diff',
412 412 default=False,
413 413 )
414 414 coreconfigitem('email', 'bcc',
415 415 default=None,
416 416 )
417 417 coreconfigitem('email', 'cc',
418 418 default=None,
419 419 )
420 420 coreconfigitem('email', 'charsets',
421 421 default=list,
422 422 )
423 423 coreconfigitem('email', 'from',
424 424 default=None,
425 425 )
426 426 coreconfigitem('email', 'method',
427 427 default='smtp',
428 428 )
429 429 coreconfigitem('email', 'reply-to',
430 430 default=None,
431 431 )
432 432 coreconfigitem('email', 'to',
433 433 default=None,
434 434 )
435 435 coreconfigitem('experimental', 'archivemetatemplate',
436 436 default=dynamicdefault,
437 437 )
438 438 coreconfigitem('experimental', 'bundle-phases',
439 439 default=False,
440 440 )
441 441 coreconfigitem('experimental', 'bundle2-advertise',
442 442 default=True,
443 443 )
444 444 coreconfigitem('experimental', 'bundle2-output-capture',
445 445 default=False,
446 446 )
447 447 coreconfigitem('experimental', 'bundle2.pushback',
448 448 default=False,
449 449 )
450 450 coreconfigitem('experimental', 'bundle2.stream',
451 451 default=False,
452 452 )
453 453 coreconfigitem('experimental', 'bundle2lazylocking',
454 454 default=False,
455 455 )
456 456 coreconfigitem('experimental', 'bundlecomplevel',
457 457 default=None,
458 458 )
459 459 coreconfigitem('experimental', 'bundlecomplevel.bzip2',
460 460 default=None,
461 461 )
462 462 coreconfigitem('experimental', 'bundlecomplevel.gzip',
463 463 default=None,
464 464 )
465 465 coreconfigitem('experimental', 'bundlecomplevel.none',
466 466 default=None,
467 467 )
468 468 coreconfigitem('experimental', 'bundlecomplevel.zstd',
469 469 default=None,
470 470 )
471 471 coreconfigitem('experimental', 'changegroup3',
472 472 default=False,
473 473 )
474 474 coreconfigitem('experimental', 'clientcompressionengines',
475 475 default=list,
476 476 )
477 477 coreconfigitem('experimental', 'copytrace',
478 478 default='on',
479 479 )
480 480 coreconfigitem('experimental', 'copytrace.movecandidateslimit',
481 481 default=100,
482 482 )
483 483 coreconfigitem('experimental', 'copytrace.sourcecommitlimit',
484 484 default=100,
485 485 )
486 486 coreconfigitem('experimental', 'crecordtest',
487 487 default=None,
488 488 )
489 489 coreconfigitem('experimental', 'directaccess',
490 490 default=False,
491 491 )
492 492 coreconfigitem('experimental', 'directaccess.revnums',
493 493 default=False,
494 494 )
495 495 coreconfigitem('experimental', 'editortmpinhg',
496 496 default=False,
497 497 )
498 498 coreconfigitem('experimental', 'evolution',
499 499 default=list,
500 500 )
501 501 coreconfigitem('experimental', 'evolution.allowdivergence',
502 502 default=False,
503 503 alias=[('experimental', 'allowdivergence')]
504 504 )
505 505 coreconfigitem('experimental', 'evolution.allowunstable',
506 506 default=None,
507 507 )
508 508 coreconfigitem('experimental', 'evolution.createmarkers',
509 509 default=None,
510 510 )
511 511 coreconfigitem('experimental', 'evolution.effect-flags',
512 512 default=True,
513 513 alias=[('experimental', 'effect-flags')]
514 514 )
515 515 coreconfigitem('experimental', 'evolution.exchange',
516 516 default=None,
517 517 )
518 518 coreconfigitem('experimental', 'evolution.bundle-obsmarker',
519 519 default=False,
520 520 )
521 521 coreconfigitem('experimental', 'evolution.report-instabilities',
522 522 default=True,
523 523 )
524 524 coreconfigitem('experimental', 'evolution.track-operation',
525 525 default=True,
526 526 )
527 527 coreconfigitem('experimental', 'maxdeltachainspan',
528 528 default=-1,
529 529 )
530 530 coreconfigitem('experimental', 'mergetempdirprefix',
531 531 default=None,
532 532 )
533 533 coreconfigitem('experimental', 'mmapindexthreshold',
534 534 default=None,
535 535 )
536 536 coreconfigitem('experimental', 'nonnormalparanoidcheck',
537 537 default=False,
538 538 )
539 539 coreconfigitem('experimental', 'exportableenviron',
540 540 default=list,
541 541 )
542 542 coreconfigitem('experimental', 'extendedheader.index',
543 543 default=None,
544 544 )
545 545 coreconfigitem('experimental', 'extendedheader.similarity',
546 546 default=False,
547 547 )
548 548 coreconfigitem('experimental', 'format.compression',
549 549 default='zlib',
550 550 )
551 551 coreconfigitem('experimental', 'graphshorten',
552 552 default=False,
553 553 )
554 554 coreconfigitem('experimental', 'graphstyle.parent',
555 555 default=dynamicdefault,
556 556 )
557 557 coreconfigitem('experimental', 'graphstyle.missing',
558 558 default=dynamicdefault,
559 559 )
560 560 coreconfigitem('experimental', 'graphstyle.grandparent',
561 561 default=dynamicdefault,
562 562 )
563 563 coreconfigitem('experimental', 'hook-track-tags',
564 564 default=False,
565 565 )
566 566 coreconfigitem('experimental', 'httppeer.advertise-v2',
567 567 default=False,
568 568 )
569 569 coreconfigitem('experimental', 'httppostargs',
570 570 default=False,
571 571 )
572 572 coreconfigitem('experimental', 'mergedriver',
573 573 default=None,
574 574 )
575 575 coreconfigitem('experimental', 'nointerrupt', default=False)
576 576 coreconfigitem('experimental', 'nointerrupt-interactiveonly', default=True)
577 577
578 578 coreconfigitem('experimental', 'obsmarkers-exchange-debug',
579 579 default=False,
580 580 )
581 581 coreconfigitem('experimental', 'remotenames',
582 582 default=False,
583 583 )
584 584 coreconfigitem('experimental', 'removeemptydirs',
585 585 default=True,
586 586 )
587 587 coreconfigitem('experimental', 'revlogv2',
588 588 default=None,
589 589 )
590 590 coreconfigitem('experimental', 'single-head-per-branch',
591 591 default=False,
592 592 )
593 593 coreconfigitem('experimental', 'sshserver.support-v2',
594 594 default=False,
595 595 )
596 596 coreconfigitem('experimental', 'spacemovesdown',
597 597 default=False,
598 598 )
599 599 coreconfigitem('experimental', 'sparse-read',
600 600 default=False,
601 601 )
602 602 coreconfigitem('experimental', 'sparse-read.density-threshold',
603 603 default=0.50,
604 604 )
605 605 coreconfigitem('experimental', 'sparse-read.min-gap-size',
606 606 default='65K',
607 607 )
608 608 coreconfigitem('experimental', 'treemanifest',
609 609 default=False,
610 610 )
611 611 coreconfigitem('experimental', 'update.atomic-file',
612 612 default=False,
613 613 )
614 614 coreconfigitem('experimental', 'sshpeer.advertise-v2',
615 615 default=False,
616 616 )
617 617 coreconfigitem('experimental', 'web.apiserver',
618 618 default=False,
619 619 )
620 620 coreconfigitem('experimental', 'web.api.http-v2',
621 621 default=False,
622 622 )
623 623 coreconfigitem('experimental', 'web.api.debugreflect',
624 624 default=False,
625 625 )
626 626 coreconfigitem('experimental', 'worker.wdir-get-thread-safe',
627 627 default=False,
628 628 )
629 629 coreconfigitem('experimental', 'xdiff',
630 630 default=False,
631 631 )
632 632 coreconfigitem('extensions', '.*',
633 633 default=None,
634 634 generic=True,
635 635 )
636 636 coreconfigitem('extdata', '.*',
637 637 default=None,
638 638 generic=True,
639 639 )
640 640 coreconfigitem('format', 'chunkcachesize',
641 641 default=None,
642 642 )
643 643 coreconfigitem('format', 'dotencode',
644 644 default=True,
645 645 )
646 646 coreconfigitem('format', 'generaldelta',
647 647 default=False,
648 648 )
649 649 coreconfigitem('format', 'manifestcachesize',
650 650 default=None,
651 651 )
652 652 coreconfigitem('format', 'maxchainlen',
653 653 default=None,
654 654 )
655 655 coreconfigitem('format', 'obsstore-version',
656 656 default=None,
657 657 )
658 658 coreconfigitem('format', 'sparse-revlog',
659 659 default=False,
660 660 )
661 661 coreconfigitem('format', 'usefncache',
662 662 default=True,
663 663 )
664 664 coreconfigitem('format', 'usegeneraldelta',
665 665 default=True,
666 666 )
667 667 coreconfigitem('format', 'usestore',
668 668 default=True,
669 669 )
670 670 coreconfigitem('fsmonitor', 'warn_when_unused',
671 671 default=True,
672 672 )
673 673 coreconfigitem('fsmonitor', 'warn_update_file_count',
674 674 default=50000,
675 675 )
676 676 coreconfigitem('hooks', '.*',
677 677 default=dynamicdefault,
678 678 generic=True,
679 679 )
680 680 coreconfigitem('hgweb-paths', '.*',
681 681 default=list,
682 682 generic=True,
683 683 )
684 684 coreconfigitem('hostfingerprints', '.*',
685 685 default=list,
686 686 generic=True,
687 687 )
688 688 coreconfigitem('hostsecurity', 'ciphers',
689 689 default=None,
690 690 )
691 691 coreconfigitem('hostsecurity', 'disabletls10warning',
692 692 default=False,
693 693 )
694 694 coreconfigitem('hostsecurity', 'minimumprotocol',
695 695 default=dynamicdefault,
696 696 )
697 697 coreconfigitem('hostsecurity', '.*:minimumprotocol$',
698 698 default=dynamicdefault,
699 699 generic=True,
700 700 )
701 701 coreconfigitem('hostsecurity', '.*:ciphers$',
702 702 default=dynamicdefault,
703 703 generic=True,
704 704 )
705 705 coreconfigitem('hostsecurity', '.*:fingerprints$',
706 706 default=list,
707 707 generic=True,
708 708 )
709 709 coreconfigitem('hostsecurity', '.*:verifycertsfile$',
710 710 default=None,
711 711 generic=True,
712 712 )
713 713
714 714 coreconfigitem('http_proxy', 'always',
715 715 default=False,
716 716 )
717 717 coreconfigitem('http_proxy', 'host',
718 718 default=None,
719 719 )
720 720 coreconfigitem('http_proxy', 'no',
721 721 default=list,
722 722 )
723 723 coreconfigitem('http_proxy', 'passwd',
724 724 default=None,
725 725 )
726 726 coreconfigitem('http_proxy', 'user',
727 727 default=None,
728 728 )
729 729 coreconfigitem('logtoprocess', 'commandexception',
730 730 default=None,
731 731 )
732 732 coreconfigitem('logtoprocess', 'commandfinish',
733 733 default=None,
734 734 )
735 735 coreconfigitem('logtoprocess', 'command',
736 736 default=None,
737 737 )
738 738 coreconfigitem('logtoprocess', 'develwarn',
739 739 default=None,
740 740 )
741 741 coreconfigitem('logtoprocess', 'uiblocked',
742 742 default=None,
743 743 )
744 744 coreconfigitem('merge', 'checkunknown',
745 745 default='abort',
746 746 )
747 747 coreconfigitem('merge', 'checkignored',
748 748 default='abort',
749 749 )
750 750 coreconfigitem('experimental', 'merge.checkpathconflicts',
751 751 default=False,
752 752 )
753 753 coreconfigitem('merge', 'followcopies',
754 754 default=True,
755 755 )
756 756 coreconfigitem('merge', 'on-failure',
757 757 default='continue',
758 758 )
759 759 coreconfigitem('merge', 'preferancestor',
760 760 default=lambda: ['*'],
761 761 )
762 762 coreconfigitem('merge-tools', '.*',
763 763 default=None,
764 764 generic=True,
765 765 )
766 766 coreconfigitem('merge-tools', br'.*\.args$',
767 767 default="$local $base $other",
768 768 generic=True,
769 769 priority=-1,
770 770 )
771 771 coreconfigitem('merge-tools', br'.*\.binary$',
772 772 default=False,
773 773 generic=True,
774 774 priority=-1,
775 775 )
776 776 coreconfigitem('merge-tools', br'.*\.check$',
777 777 default=list,
778 778 generic=True,
779 779 priority=-1,
780 780 )
781 781 coreconfigitem('merge-tools', br'.*\.checkchanged$',
782 782 default=False,
783 783 generic=True,
784 784 priority=-1,
785 785 )
786 786 coreconfigitem('merge-tools', br'.*\.executable$',
787 787 default=dynamicdefault,
788 788 generic=True,
789 789 priority=-1,
790 790 )
791 791 coreconfigitem('merge-tools', br'.*\.fixeol$',
792 792 default=False,
793 793 generic=True,
794 794 priority=-1,
795 795 )
796 796 coreconfigitem('merge-tools', br'.*\.gui$',
797 797 default=False,
798 798 generic=True,
799 799 priority=-1,
800 800 )
801 801 coreconfigitem('merge-tools', br'.*\.mergemarkers$',
802 802 default='basic',
803 803 generic=True,
804 804 priority=-1,
805 805 )
806 806 coreconfigitem('merge-tools', br'.*\.mergemarkertemplate$',
807 807 default=dynamicdefault, # take from ui.mergemarkertemplate
808 808 generic=True,
809 809 priority=-1,
810 810 )
811 811 coreconfigitem('merge-tools', br'.*\.priority$',
812 812 default=0,
813 813 generic=True,
814 814 priority=-1,
815 815 )
816 816 coreconfigitem('merge-tools', br'.*\.premerge$',
817 817 default=dynamicdefault,
818 818 generic=True,
819 819 priority=-1,
820 820 )
821 821 coreconfigitem('merge-tools', br'.*\.symlink$',
822 822 default=False,
823 823 generic=True,
824 824 priority=-1,
825 825 )
826 826 coreconfigitem('pager', 'attend-.*',
827 827 default=dynamicdefault,
828 828 generic=True,
829 829 )
830 830 coreconfigitem('pager', 'ignore',
831 831 default=list,
832 832 )
833 833 coreconfigitem('pager', 'pager',
834 834 default=dynamicdefault,
835 835 )
836 836 coreconfigitem('patch', 'eol',
837 837 default='strict',
838 838 )
839 839 coreconfigitem('patch', 'fuzz',
840 840 default=2,
841 841 )
842 842 coreconfigitem('paths', 'default',
843 843 default=None,
844 844 )
845 845 coreconfigitem('paths', 'default-push',
846 846 default=None,
847 847 )
848 848 coreconfigitem('paths', '.*',
849 849 default=None,
850 850 generic=True,
851 851 )
852 852 coreconfigitem('phases', 'checksubrepos',
853 853 default='follow',
854 854 )
855 855 coreconfigitem('phases', 'new-commit',
856 856 default='draft',
857 857 )
858 858 coreconfigitem('phases', 'publish',
859 859 default=True,
860 860 )
861 861 coreconfigitem('profiling', 'enabled',
862 862 default=False,
863 863 )
864 864 coreconfigitem('profiling', 'format',
865 865 default='text',
866 866 )
867 867 coreconfigitem('profiling', 'freq',
868 868 default=1000,
869 869 )
870 870 coreconfigitem('profiling', 'limit',
871 871 default=30,
872 872 )
873 873 coreconfigitem('profiling', 'nested',
874 874 default=0,
875 875 )
876 876 coreconfigitem('profiling', 'output',
877 877 default=None,
878 878 )
879 879 coreconfigitem('profiling', 'showmax',
880 880 default=0.999,
881 881 )
882 882 coreconfigitem('profiling', 'showmin',
883 883 default=dynamicdefault,
884 884 )
885 885 coreconfigitem('profiling', 'sort',
886 886 default='inlinetime',
887 887 )
888 888 coreconfigitem('profiling', 'statformat',
889 889 default='hotpath',
890 890 )
891 891 coreconfigitem('profiling', 'time-track',
892 892 default='cpu',
893 893 )
894 894 coreconfigitem('profiling', 'type',
895 895 default='stat',
896 896 )
897 897 coreconfigitem('progress', 'assume-tty',
898 898 default=False,
899 899 )
900 900 coreconfigitem('progress', 'changedelay',
901 901 default=1,
902 902 )
903 903 coreconfigitem('progress', 'clear-complete',
904 904 default=True,
905 905 )
906 906 coreconfigitem('progress', 'debug',
907 907 default=False,
908 908 )
909 909 coreconfigitem('progress', 'delay',
910 910 default=3,
911 911 )
912 912 coreconfigitem('progress', 'disable',
913 913 default=False,
914 914 )
915 915 coreconfigitem('progress', 'estimateinterval',
916 916 default=60.0,
917 917 )
918 918 coreconfigitem('progress', 'format',
919 919 default=lambda: ['topic', 'bar', 'number', 'estimate'],
920 920 )
921 921 coreconfigitem('progress', 'refresh',
922 922 default=0.1,
923 923 )
924 924 coreconfigitem('progress', 'width',
925 925 default=dynamicdefault,
926 926 )
927 927 coreconfigitem('push', 'pushvars.server',
928 928 default=False,
929 929 )
930 930 coreconfigitem('revlog', 'optimize-delta-parent-choice',
931 931 default=True,
932 # formely an experimental option: format.aggressivemergedeltas
932 alias=[('format', 'aggressivemergedeltas')],
933 933 )
934 934 coreconfigitem('server', 'bookmarks-pushkey-compat',
935 935 default=True,
936 936 )
937 937 coreconfigitem('server', 'bundle1',
938 938 default=True,
939 939 )
940 940 coreconfigitem('server', 'bundle1gd',
941 941 default=None,
942 942 )
943 943 coreconfigitem('server', 'bundle1.pull',
944 944 default=None,
945 945 )
946 946 coreconfigitem('server', 'bundle1gd.pull',
947 947 default=None,
948 948 )
949 949 coreconfigitem('server', 'bundle1.push',
950 950 default=None,
951 951 )
952 952 coreconfigitem('server', 'bundle1gd.push',
953 953 default=None,
954 954 )
955 955 coreconfigitem('server', 'compressionengines',
956 956 default=list,
957 957 )
958 958 coreconfigitem('server', 'concurrent-push-mode',
959 959 default='strict',
960 960 )
961 961 coreconfigitem('server', 'disablefullbundle',
962 962 default=False,
963 963 )
964 964 coreconfigitem('server', 'maxhttpheaderlen',
965 965 default=1024,
966 966 )
967 967 coreconfigitem('server', 'pullbundle',
968 968 default=False,
969 969 )
970 970 coreconfigitem('server', 'preferuncompressed',
971 971 default=False,
972 972 )
973 973 coreconfigitem('server', 'streamunbundle',
974 974 default=False,
975 975 )
976 976 coreconfigitem('server', 'uncompressed',
977 977 default=True,
978 978 )
979 979 coreconfigitem('server', 'uncompressedallowsecret',
980 980 default=False,
981 981 )
982 982 coreconfigitem('server', 'validate',
983 983 default=False,
984 984 )
985 985 coreconfigitem('server', 'zliblevel',
986 986 default=-1,
987 987 )
988 988 coreconfigitem('server', 'zstdlevel',
989 989 default=3,
990 990 )
991 991 coreconfigitem('share', 'pool',
992 992 default=None,
993 993 )
994 994 coreconfigitem('share', 'poolnaming',
995 995 default='identity',
996 996 )
997 997 coreconfigitem('smtp', 'host',
998 998 default=None,
999 999 )
1000 1000 coreconfigitem('smtp', 'local_hostname',
1001 1001 default=None,
1002 1002 )
1003 1003 coreconfigitem('smtp', 'password',
1004 1004 default=None,
1005 1005 )
1006 1006 coreconfigitem('smtp', 'port',
1007 1007 default=dynamicdefault,
1008 1008 )
1009 1009 coreconfigitem('smtp', 'tls',
1010 1010 default='none',
1011 1011 )
1012 1012 coreconfigitem('smtp', 'username',
1013 1013 default=None,
1014 1014 )
1015 1015 coreconfigitem('sparse', 'missingwarning',
1016 1016 default=True,
1017 1017 )
1018 1018 coreconfigitem('subrepos', 'allowed',
1019 1019 default=dynamicdefault, # to make backporting simpler
1020 1020 )
1021 1021 coreconfigitem('subrepos', 'hg:allowed',
1022 1022 default=dynamicdefault,
1023 1023 )
1024 1024 coreconfigitem('subrepos', 'git:allowed',
1025 1025 default=dynamicdefault,
1026 1026 )
1027 1027 coreconfigitem('subrepos', 'svn:allowed',
1028 1028 default=dynamicdefault,
1029 1029 )
1030 1030 coreconfigitem('templates', '.*',
1031 1031 default=None,
1032 1032 generic=True,
1033 1033 )
1034 1034 coreconfigitem('trusted', 'groups',
1035 1035 default=list,
1036 1036 )
1037 1037 coreconfigitem('trusted', 'users',
1038 1038 default=list,
1039 1039 )
1040 1040 coreconfigitem('ui', '_usedassubrepo',
1041 1041 default=False,
1042 1042 )
1043 1043 coreconfigitem('ui', 'allowemptycommit',
1044 1044 default=False,
1045 1045 )
1046 1046 coreconfigitem('ui', 'archivemeta',
1047 1047 default=True,
1048 1048 )
1049 1049 coreconfigitem('ui', 'askusername',
1050 1050 default=False,
1051 1051 )
1052 1052 coreconfigitem('ui', 'clonebundlefallback',
1053 1053 default=False,
1054 1054 )
1055 1055 coreconfigitem('ui', 'clonebundleprefers',
1056 1056 default=list,
1057 1057 )
1058 1058 coreconfigitem('ui', 'clonebundles',
1059 1059 default=True,
1060 1060 )
1061 1061 coreconfigitem('ui', 'color',
1062 1062 default='auto',
1063 1063 )
1064 1064 coreconfigitem('ui', 'commitsubrepos',
1065 1065 default=False,
1066 1066 )
1067 1067 coreconfigitem('ui', 'debug',
1068 1068 default=False,
1069 1069 )
1070 1070 coreconfigitem('ui', 'debugger',
1071 1071 default=None,
1072 1072 )
1073 1073 coreconfigitem('ui', 'editor',
1074 1074 default=dynamicdefault,
1075 1075 )
1076 1076 coreconfigitem('ui', 'fallbackencoding',
1077 1077 default=None,
1078 1078 )
1079 1079 coreconfigitem('ui', 'forcecwd',
1080 1080 default=None,
1081 1081 )
1082 1082 coreconfigitem('ui', 'forcemerge',
1083 1083 default=None,
1084 1084 )
1085 1085 coreconfigitem('ui', 'formatdebug',
1086 1086 default=False,
1087 1087 )
1088 1088 coreconfigitem('ui', 'formatjson',
1089 1089 default=False,
1090 1090 )
1091 1091 coreconfigitem('ui', 'formatted',
1092 1092 default=None,
1093 1093 )
1094 1094 coreconfigitem('ui', 'graphnodetemplate',
1095 1095 default=None,
1096 1096 )
1097 1097 coreconfigitem('ui', 'history-editing-backup',
1098 1098 default=True,
1099 1099 )
1100 1100 coreconfigitem('ui', 'interactive',
1101 1101 default=None,
1102 1102 )
1103 1103 coreconfigitem('ui', 'interface',
1104 1104 default=None,
1105 1105 )
1106 1106 coreconfigitem('ui', 'interface.chunkselector',
1107 1107 default=None,
1108 1108 )
1109 1109 coreconfigitem('ui', 'large-file-limit',
1110 1110 default=10000000,
1111 1111 )
1112 1112 coreconfigitem('ui', 'logblockedtimes',
1113 1113 default=False,
1114 1114 )
1115 1115 coreconfigitem('ui', 'logtemplate',
1116 1116 default=None,
1117 1117 )
1118 1118 coreconfigitem('ui', 'merge',
1119 1119 default=None,
1120 1120 )
1121 1121 coreconfigitem('ui', 'mergemarkers',
1122 1122 default='basic',
1123 1123 )
1124 1124 coreconfigitem('ui', 'mergemarkertemplate',
1125 1125 default=('{node|short} '
1126 1126 '{ifeq(tags, "tip", "", '
1127 1127 'ifeq(tags, "", "", "{tags} "))}'
1128 1128 '{if(bookmarks, "{bookmarks} ")}'
1129 1129 '{ifeq(branch, "default", "", "{branch} ")}'
1130 1130 '- {author|user}: {desc|firstline}')
1131 1131 )
1132 1132 coreconfigitem('ui', 'nontty',
1133 1133 default=False,
1134 1134 )
1135 1135 coreconfigitem('ui', 'origbackuppath',
1136 1136 default=None,
1137 1137 )
1138 1138 coreconfigitem('ui', 'paginate',
1139 1139 default=True,
1140 1140 )
1141 1141 coreconfigitem('ui', 'patch',
1142 1142 default=None,
1143 1143 )
1144 1144 coreconfigitem('ui', 'portablefilenames',
1145 1145 default='warn',
1146 1146 )
1147 1147 coreconfigitem('ui', 'promptecho',
1148 1148 default=False,
1149 1149 )
1150 1150 coreconfigitem('ui', 'quiet',
1151 1151 default=False,
1152 1152 )
1153 1153 coreconfigitem('ui', 'quietbookmarkmove',
1154 1154 default=False,
1155 1155 )
1156 1156 coreconfigitem('ui', 'remotecmd',
1157 1157 default='hg',
1158 1158 )
1159 1159 coreconfigitem('ui', 'report_untrusted',
1160 1160 default=True,
1161 1161 )
1162 1162 coreconfigitem('ui', 'rollback',
1163 1163 default=True,
1164 1164 )
1165 1165 coreconfigitem('ui', 'signal-safe-lock',
1166 1166 default=True,
1167 1167 )
1168 1168 coreconfigitem('ui', 'slash',
1169 1169 default=False,
1170 1170 )
1171 1171 coreconfigitem('ui', 'ssh',
1172 1172 default='ssh',
1173 1173 )
1174 1174 coreconfigitem('ui', 'ssherrorhint',
1175 1175 default=None,
1176 1176 )
1177 1177 coreconfigitem('ui', 'statuscopies',
1178 1178 default=False,
1179 1179 )
1180 1180 coreconfigitem('ui', 'strict',
1181 1181 default=False,
1182 1182 )
1183 1183 coreconfigitem('ui', 'style',
1184 1184 default='',
1185 1185 )
1186 1186 coreconfigitem('ui', 'supportcontact',
1187 1187 default=None,
1188 1188 )
1189 1189 coreconfigitem('ui', 'textwidth',
1190 1190 default=78,
1191 1191 )
1192 1192 coreconfigitem('ui', 'timeout',
1193 1193 default='600',
1194 1194 )
1195 1195 coreconfigitem('ui', 'timeout.warn',
1196 1196 default=0,
1197 1197 )
1198 1198 coreconfigitem('ui', 'traceback',
1199 1199 default=False,
1200 1200 )
1201 1201 coreconfigitem('ui', 'tweakdefaults',
1202 1202 default=False,
1203 1203 )
1204 1204 coreconfigitem('ui', 'username',
1205 1205 alias=[('ui', 'user')]
1206 1206 )
1207 1207 coreconfigitem('ui', 'verbose',
1208 1208 default=False,
1209 1209 )
1210 1210 coreconfigitem('verify', 'skipflags',
1211 1211 default=None,
1212 1212 )
1213 1213 coreconfigitem('web', 'allowbz2',
1214 1214 default=False,
1215 1215 )
1216 1216 coreconfigitem('web', 'allowgz',
1217 1217 default=False,
1218 1218 )
1219 1219 coreconfigitem('web', 'allow-pull',
1220 1220 alias=[('web', 'allowpull')],
1221 1221 default=True,
1222 1222 )
1223 1223 coreconfigitem('web', 'allow-push',
1224 1224 alias=[('web', 'allow_push')],
1225 1225 default=list,
1226 1226 )
1227 1227 coreconfigitem('web', 'allowzip',
1228 1228 default=False,
1229 1229 )
1230 1230 coreconfigitem('web', 'archivesubrepos',
1231 1231 default=False,
1232 1232 )
1233 1233 coreconfigitem('web', 'cache',
1234 1234 default=True,
1235 1235 )
1236 1236 coreconfigitem('web', 'contact',
1237 1237 default=None,
1238 1238 )
1239 1239 coreconfigitem('web', 'deny_push',
1240 1240 default=list,
1241 1241 )
1242 1242 coreconfigitem('web', 'guessmime',
1243 1243 default=False,
1244 1244 )
1245 1245 coreconfigitem('web', 'hidden',
1246 1246 default=False,
1247 1247 )
1248 1248 coreconfigitem('web', 'labels',
1249 1249 default=list,
1250 1250 )
1251 1251 coreconfigitem('web', 'logoimg',
1252 1252 default='hglogo.png',
1253 1253 )
1254 1254 coreconfigitem('web', 'logourl',
1255 1255 default='https://mercurial-scm.org/',
1256 1256 )
1257 1257 coreconfigitem('web', 'accesslog',
1258 1258 default='-',
1259 1259 )
1260 1260 coreconfigitem('web', 'address',
1261 1261 default='',
1262 1262 )
1263 1263 coreconfigitem('web', 'allow-archive',
1264 1264 alias=[('web', 'allow_archive')],
1265 1265 default=list,
1266 1266 )
1267 1267 coreconfigitem('web', 'allow_read',
1268 1268 default=list,
1269 1269 )
1270 1270 coreconfigitem('web', 'baseurl',
1271 1271 default=None,
1272 1272 )
1273 1273 coreconfigitem('web', 'cacerts',
1274 1274 default=None,
1275 1275 )
1276 1276 coreconfigitem('web', 'certificate',
1277 1277 default=None,
1278 1278 )
1279 1279 coreconfigitem('web', 'collapse',
1280 1280 default=False,
1281 1281 )
1282 1282 coreconfigitem('web', 'csp',
1283 1283 default=None,
1284 1284 )
1285 1285 coreconfigitem('web', 'deny_read',
1286 1286 default=list,
1287 1287 )
1288 1288 coreconfigitem('web', 'descend',
1289 1289 default=True,
1290 1290 )
1291 1291 coreconfigitem('web', 'description',
1292 1292 default="",
1293 1293 )
1294 1294 coreconfigitem('web', 'encoding',
1295 1295 default=lambda: encoding.encoding,
1296 1296 )
1297 1297 coreconfigitem('web', 'errorlog',
1298 1298 default='-',
1299 1299 )
1300 1300 coreconfigitem('web', 'ipv6',
1301 1301 default=False,
1302 1302 )
1303 1303 coreconfigitem('web', 'maxchanges',
1304 1304 default=10,
1305 1305 )
1306 1306 coreconfigitem('web', 'maxfiles',
1307 1307 default=10,
1308 1308 )
1309 1309 coreconfigitem('web', 'maxshortchanges',
1310 1310 default=60,
1311 1311 )
1312 1312 coreconfigitem('web', 'motd',
1313 1313 default='',
1314 1314 )
1315 1315 coreconfigitem('web', 'name',
1316 1316 default=dynamicdefault,
1317 1317 )
1318 1318 coreconfigitem('web', 'port',
1319 1319 default=8000,
1320 1320 )
1321 1321 coreconfigitem('web', 'prefix',
1322 1322 default='',
1323 1323 )
1324 1324 coreconfigitem('web', 'push_ssl',
1325 1325 default=True,
1326 1326 )
1327 1327 coreconfigitem('web', 'refreshinterval',
1328 1328 default=20,
1329 1329 )
1330 1330 coreconfigitem('web', 'server-header',
1331 1331 default=None,
1332 1332 )
1333 1333 coreconfigitem('web', 'staticurl',
1334 1334 default=None,
1335 1335 )
1336 1336 coreconfigitem('web', 'stripes',
1337 1337 default=1,
1338 1338 )
1339 1339 coreconfigitem('web', 'style',
1340 1340 default='paper',
1341 1341 )
1342 1342 coreconfigitem('web', 'templates',
1343 1343 default=None,
1344 1344 )
1345 1345 coreconfigitem('web', 'view',
1346 1346 default='served',
1347 1347 )
1348 1348 coreconfigitem('worker', 'backgroundclose',
1349 1349 default=dynamicdefault,
1350 1350 )
1351 1351 # Windows defaults to a limit of 512 open files. A buffer of 128
1352 1352 # should give us enough headway.
1353 1353 coreconfigitem('worker', 'backgroundclosemaxqueue',
1354 1354 default=384,
1355 1355 )
1356 1356 coreconfigitem('worker', 'backgroundcloseminfilecount',
1357 1357 default=2048,
1358 1358 )
1359 1359 coreconfigitem('worker', 'backgroundclosethreadcount',
1360 1360 default=4,
1361 1361 )
1362 1362 coreconfigitem('worker', 'enabled',
1363 1363 default=True,
1364 1364 )
1365 1365 coreconfigitem('worker', 'numcpus',
1366 1366 default=None,
1367 1367 )
1368 1368
1369 1369 # Rebase related configuration moved to core because other extension are doing
1370 1370 # strange things. For example, shelve import the extensions to reuse some bit
1371 1371 # without formally loading it.
1372 1372 coreconfigitem('commands', 'rebase.requiredest',
1373 1373 default=False,
1374 1374 )
1375 1375 coreconfigitem('experimental', 'rebaseskipobsolete',
1376 1376 default=True,
1377 1377 )
1378 1378 coreconfigitem('rebase', 'singletransaction',
1379 1379 default=False,
1380 1380 )
1381 1381 coreconfigitem('rebase', 'experimental.inmemory',
1382 1382 default=False,
1383 1383 )
General Comments 0
You need to be logged in to leave comments. Login now