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