##// END OF EJS Templates
configitems: register the 'hostsecurity.*:verifycertsfile' config
Boris Feld -
r34777:48d2b396 default
parent child Browse files
Show More
@@ -1,1012 +1,1017 b''
1 1 # configitems.py - centralized declaration of configuration option
2 2 #
3 3 # Copyright 2017 Pierre-Yves David <pierre-yves.david@octobus.net>
4 4 #
5 5 # This software may be used and distributed according to the terms of the
6 6 # GNU General Public License version 2 or any later version.
7 7
8 8 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 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 if key in self:
71 71 return self[key]
72 72
73 73 # search for a matching generic item
74 74 generics = sorted(self._generics, key=(lambda x: (x.priority, x.name)))
75 75 for item in generics:
76 76 if item._re.match(key):
77 77 return item
78 78
79 79 # fallback to dict get
80 80 return super(itemregister, self).get(key)
81 81
82 82 coreitems = {}
83 83
84 84 def _register(configtable, *args, **kwargs):
85 85 item = configitem(*args, **kwargs)
86 86 section = configtable.setdefault(item.section, itemregister())
87 87 if item.name in section:
88 88 msg = "duplicated config item registration for '%s.%s'"
89 89 raise error.ProgrammingError(msg % (item.section, item.name))
90 90 section[item.name] = item
91 91
92 92 # special value for case where the default is derived from other values
93 93 dynamicdefault = object()
94 94
95 95 # Registering actual config items
96 96
97 97 def getitemregister(configtable):
98 98 return functools.partial(_register, configtable)
99 99
100 100 coreconfigitem = getitemregister(coreitems)
101 101
102 102 coreconfigitem('alias', '.*',
103 103 default=None,
104 104 generic=True,
105 105 )
106 106 coreconfigitem('annotate', 'nodates',
107 107 default=False,
108 108 )
109 109 coreconfigitem('annotate', 'showfunc',
110 110 default=False,
111 111 )
112 112 coreconfigitem('annotate', 'unified',
113 113 default=None,
114 114 )
115 115 coreconfigitem('annotate', 'git',
116 116 default=False,
117 117 )
118 118 coreconfigitem('annotate', 'ignorews',
119 119 default=False,
120 120 )
121 121 coreconfigitem('annotate', 'ignorewsamount',
122 122 default=False,
123 123 )
124 124 coreconfigitem('annotate', 'ignoreblanklines',
125 125 default=False,
126 126 )
127 127 coreconfigitem('annotate', 'ignorewseol',
128 128 default=False,
129 129 )
130 130 coreconfigitem('annotate', 'nobinary',
131 131 default=False,
132 132 )
133 133 coreconfigitem('annotate', 'noprefix',
134 134 default=False,
135 135 )
136 136 coreconfigitem('auth', 'cookiefile',
137 137 default=None,
138 138 )
139 139 # bookmarks.pushing: internal hack for discovery
140 140 coreconfigitem('bookmarks', 'pushing',
141 141 default=list,
142 142 )
143 143 # bundle.mainreporoot: internal hack for bundlerepo
144 144 coreconfigitem('bundle', 'mainreporoot',
145 145 default='',
146 146 )
147 147 # bundle.reorder: experimental config
148 148 coreconfigitem('bundle', 'reorder',
149 149 default='auto',
150 150 )
151 151 coreconfigitem('censor', 'policy',
152 152 default='abort',
153 153 )
154 154 coreconfigitem('chgserver', 'idletimeout',
155 155 default=3600,
156 156 )
157 157 coreconfigitem('chgserver', 'skiphash',
158 158 default=False,
159 159 )
160 160 coreconfigitem('cmdserver', 'log',
161 161 default=None,
162 162 )
163 163 coreconfigitem('color', '.*',
164 164 default=None,
165 165 generic=True,
166 166 )
167 167 coreconfigitem('color', 'mode',
168 168 default='auto',
169 169 )
170 170 coreconfigitem('color', 'pagermode',
171 171 default=dynamicdefault,
172 172 )
173 173 coreconfigitem('commands', 'status.relative',
174 174 default=False,
175 175 )
176 176 coreconfigitem('commands', 'status.skipstates',
177 177 default=[],
178 178 )
179 179 coreconfigitem('commands', 'status.verbose',
180 180 default=False,
181 181 )
182 182 coreconfigitem('commands', 'update.check',
183 183 default=None,
184 184 )
185 185 coreconfigitem('commands', 'update.requiredest',
186 186 default=False,
187 187 )
188 188 coreconfigitem('committemplate', '.*',
189 189 default=None,
190 190 generic=True,
191 191 )
192 192 coreconfigitem('debug', 'dirstate.delaywrite',
193 193 default=0,
194 194 )
195 195 coreconfigitem('defaults', '.*',
196 196 default=None,
197 197 generic=True,
198 198 )
199 199 coreconfigitem('devel', 'all-warnings',
200 200 default=False,
201 201 )
202 202 coreconfigitem('devel', 'bundle2.debug',
203 203 default=False,
204 204 )
205 205 coreconfigitem('devel', 'cache-vfs',
206 206 default=None,
207 207 )
208 208 coreconfigitem('devel', 'check-locks',
209 209 default=False,
210 210 )
211 211 coreconfigitem('devel', 'check-relroot',
212 212 default=False,
213 213 )
214 214 coreconfigitem('devel', 'default-date',
215 215 default=None,
216 216 )
217 217 coreconfigitem('devel', 'deprec-warn',
218 218 default=False,
219 219 )
220 220 coreconfigitem('devel', 'disableloaddefaultcerts',
221 221 default=False,
222 222 )
223 223 coreconfigitem('devel', 'warn-empty-changegroup',
224 224 default=False,
225 225 )
226 226 coreconfigitem('devel', 'legacy.exchange',
227 227 default=list,
228 228 )
229 229 coreconfigitem('devel', 'servercafile',
230 230 default='',
231 231 )
232 232 coreconfigitem('devel', 'serverexactprotocol',
233 233 default='',
234 234 )
235 235 coreconfigitem('devel', 'serverrequirecert',
236 236 default=False,
237 237 )
238 238 coreconfigitem('devel', 'strip-obsmarkers',
239 239 default=True,
240 240 )
241 241 coreconfigitem('devel', 'warn-config',
242 242 default=None,
243 243 )
244 244 coreconfigitem('devel', 'warn-config-default',
245 245 default=None,
246 246 )
247 247 coreconfigitem('devel', 'user.obsmarker',
248 248 default=None,
249 249 )
250 250 coreconfigitem('diff', 'nodates',
251 251 default=False,
252 252 )
253 253 coreconfigitem('diff', 'showfunc',
254 254 default=False,
255 255 )
256 256 coreconfigitem('diff', 'unified',
257 257 default=None,
258 258 )
259 259 coreconfigitem('diff', 'git',
260 260 default=False,
261 261 )
262 262 coreconfigitem('diff', 'ignorews',
263 263 default=False,
264 264 )
265 265 coreconfigitem('diff', 'ignorewsamount',
266 266 default=False,
267 267 )
268 268 coreconfigitem('diff', 'ignoreblanklines',
269 269 default=False,
270 270 )
271 271 coreconfigitem('diff', 'ignorewseol',
272 272 default=False,
273 273 )
274 274 coreconfigitem('diff', 'nobinary',
275 275 default=False,
276 276 )
277 277 coreconfigitem('diff', 'noprefix',
278 278 default=False,
279 279 )
280 280 coreconfigitem('email', 'bcc',
281 281 default=None,
282 282 )
283 283 coreconfigitem('email', 'cc',
284 284 default=None,
285 285 )
286 286 coreconfigitem('email', 'charsets',
287 287 default=list,
288 288 )
289 289 coreconfigitem('email', 'from',
290 290 default=None,
291 291 )
292 292 coreconfigitem('email', 'method',
293 293 default='smtp',
294 294 )
295 295 coreconfigitem('email', 'reply-to',
296 296 default=None,
297 297 )
298 298 coreconfigitem('experimental', 'allowdivergence',
299 299 default=False,
300 300 )
301 301 coreconfigitem('experimental', 'archivemetatemplate',
302 302 default=dynamicdefault,
303 303 )
304 304 coreconfigitem('experimental', 'bundle-phases',
305 305 default=False,
306 306 )
307 307 coreconfigitem('experimental', 'bundle2-advertise',
308 308 default=True,
309 309 )
310 310 coreconfigitem('experimental', 'bundle2-output-capture',
311 311 default=False,
312 312 )
313 313 coreconfigitem('experimental', 'bundle2.pushback',
314 314 default=False,
315 315 )
316 316 coreconfigitem('experimental', 'bundle2lazylocking',
317 317 default=False,
318 318 )
319 319 coreconfigitem('experimental', 'bundlecomplevel',
320 320 default=None,
321 321 )
322 322 coreconfigitem('experimental', 'changegroup3',
323 323 default=False,
324 324 )
325 325 coreconfigitem('experimental', 'clientcompressionengines',
326 326 default=list,
327 327 )
328 328 coreconfigitem('experimental', 'copytrace',
329 329 default='on',
330 330 )
331 331 coreconfigitem('experimental', 'copytrace.sourcecommitlimit',
332 332 default=100,
333 333 )
334 334 coreconfigitem('experimental', 'crecordtest',
335 335 default=None,
336 336 )
337 337 coreconfigitem('experimental', 'editortmpinhg',
338 338 default=False,
339 339 )
340 340 coreconfigitem('experimental', 'maxdeltachainspan',
341 341 default=-1,
342 342 )
343 343 coreconfigitem('experimental', 'mmapindexthreshold',
344 344 default=None,
345 345 )
346 346 coreconfigitem('experimental', 'nonnormalparanoidcheck',
347 347 default=False,
348 348 )
349 349 coreconfigitem('experimental', 'stabilization',
350 350 default=list,
351 351 alias=[('experimental', 'evolution')],
352 352 )
353 353 coreconfigitem('experimental', 'stabilization.bundle-obsmarker',
354 354 default=False,
355 355 alias=[('experimental', 'evolution.bundle-obsmarker')],
356 356 )
357 357 coreconfigitem('experimental', 'stabilization.track-operation',
358 358 default=True,
359 359 alias=[('experimental', 'evolution.track-operation')]
360 360 )
361 361 coreconfigitem('experimental', 'exportableenviron',
362 362 default=list,
363 363 )
364 364 coreconfigitem('experimental', 'extendedheader.index',
365 365 default=None,
366 366 )
367 367 coreconfigitem('experimental', 'extendedheader.similarity',
368 368 default=False,
369 369 )
370 370 coreconfigitem('experimental', 'format.compression',
371 371 default='zlib',
372 372 )
373 373 coreconfigitem('experimental', 'graphshorten',
374 374 default=False,
375 375 )
376 376 coreconfigitem('experimental', 'graphstyle.parent',
377 377 default=dynamicdefault,
378 378 )
379 379 coreconfigitem('experimental', 'graphstyle.missing',
380 380 default=dynamicdefault,
381 381 )
382 382 coreconfigitem('experimental', 'graphstyle.grandparent',
383 383 default=dynamicdefault,
384 384 )
385 385 coreconfigitem('experimental', 'hook-track-tags',
386 386 default=False,
387 387 )
388 388 coreconfigitem('experimental', 'httppostargs',
389 389 default=False,
390 390 )
391 391 coreconfigitem('experimental', 'manifestv2',
392 392 default=False,
393 393 )
394 394 coreconfigitem('experimental', 'mergedriver',
395 395 default=None,
396 396 )
397 397 coreconfigitem('experimental', 'obsmarkers-exchange-debug',
398 398 default=False,
399 399 )
400 400 coreconfigitem('experimental', 'rebase.multidest',
401 401 default=False,
402 402 )
403 403 coreconfigitem('experimental', 'revertalternateinteractivemode',
404 404 default=True,
405 405 )
406 406 coreconfigitem('experimental', 'revlogv2',
407 407 default=None,
408 408 )
409 409 coreconfigitem('experimental', 'spacemovesdown',
410 410 default=False,
411 411 )
412 412 coreconfigitem('experimental', 'treemanifest',
413 413 default=False,
414 414 )
415 415 # Deprecated, remove after 4.4 release
416 416 coreconfigitem('experimental', 'updatecheck',
417 417 default=None,
418 418 )
419 419 coreconfigitem('extensions', '.*',
420 420 default=None,
421 421 generic=True,
422 422 )
423 423 coreconfigitem('extdata', '.*',
424 424 default=None,
425 425 generic=True,
426 426 )
427 427 coreconfigitem('format', 'aggressivemergedeltas',
428 428 default=False,
429 429 )
430 430 coreconfigitem('format', 'chunkcachesize',
431 431 default=None,
432 432 )
433 433 coreconfigitem('format', 'dotencode',
434 434 default=True,
435 435 )
436 436 coreconfigitem('format', 'generaldelta',
437 437 default=False,
438 438 )
439 439 coreconfigitem('format', 'manifestcachesize',
440 440 default=None,
441 441 )
442 442 coreconfigitem('format', 'maxchainlen',
443 443 default=None,
444 444 )
445 445 coreconfigitem('format', 'obsstore-version',
446 446 default=None,
447 447 )
448 448 coreconfigitem('format', 'usefncache',
449 449 default=True,
450 450 )
451 451 coreconfigitem('format', 'usegeneraldelta',
452 452 default=True,
453 453 )
454 454 coreconfigitem('format', 'usestore',
455 455 default=True,
456 456 )
457 457 coreconfigitem('hooks', '.*',
458 458 default=dynamicdefault,
459 459 generic=True,
460 460 )
461 461 coreconfigitem('hgweb-paths', '.*',
462 462 default=list,
463 463 generic=True,
464 464 )
465 465 coreconfigitem('hostfingerprints', '.*',
466 466 default=list,
467 467 generic=True,
468 468 )
469 469 coreconfigitem('hostsecurity', 'ciphers',
470 470 default=None,
471 471 )
472 472 coreconfigitem('hostsecurity', 'disabletls10warning',
473 473 default=False,
474 474 )
475 475 coreconfigitem('hostsecurity', 'minimumprotocol',
476 476 default=dynamicdefault,
477 477 )
478 478 coreconfigitem('hostsecurity', '.*:minimumprotocol$',
479 479 default=dynamicdefault,
480 480 generic=True,
481 481 )
482 482 coreconfigitem('hostsecurity', '.*:ciphers$',
483 483 default=dynamicdefault,
484 484 generic=True,
485 485 )
486 486 coreconfigitem('hostsecurity', '.*:fingerprints$',
487 487 default=list,
488 488 generic=True,
489 489 )
490 coreconfigitem('hostsecurity', '.*:verifycertsfile$',
491 default=None,
492 generic=True,
493 )
494
490 495 coreconfigitem('http_proxy', 'always',
491 496 default=False,
492 497 )
493 498 coreconfigitem('http_proxy', 'host',
494 499 default=None,
495 500 )
496 501 coreconfigitem('http_proxy', 'no',
497 502 default=list,
498 503 )
499 504 coreconfigitem('http_proxy', 'passwd',
500 505 default=None,
501 506 )
502 507 coreconfigitem('http_proxy', 'user',
503 508 default=None,
504 509 )
505 510 coreconfigitem('logtoprocess', 'commandexception',
506 511 default=None,
507 512 )
508 513 coreconfigitem('logtoprocess', 'commandfinish',
509 514 default=None,
510 515 )
511 516 coreconfigitem('logtoprocess', 'command',
512 517 default=None,
513 518 )
514 519 coreconfigitem('logtoprocess', 'develwarn',
515 520 default=None,
516 521 )
517 522 coreconfigitem('logtoprocess', 'uiblocked',
518 523 default=None,
519 524 )
520 525 coreconfigitem('merge', 'checkunknown',
521 526 default='abort',
522 527 )
523 528 coreconfigitem('merge', 'checkignored',
524 529 default='abort',
525 530 )
526 531 coreconfigitem('merge', 'followcopies',
527 532 default=True,
528 533 )
529 534 coreconfigitem('merge', 'preferancestor',
530 535 default=lambda: ['*'],
531 536 )
532 537 coreconfigitem('pager', 'attend-.*',
533 538 default=dynamicdefault,
534 539 generic=True,
535 540 )
536 541 coreconfigitem('pager', 'ignore',
537 542 default=list,
538 543 )
539 544 coreconfigitem('pager', 'pager',
540 545 default=dynamicdefault,
541 546 )
542 547 coreconfigitem('patch', 'eol',
543 548 default='strict',
544 549 )
545 550 coreconfigitem('patch', 'fuzz',
546 551 default=2,
547 552 )
548 553 coreconfigitem('paths', 'default',
549 554 default=None,
550 555 )
551 556 coreconfigitem('paths', 'default-push',
552 557 default=None,
553 558 )
554 559 coreconfigitem('paths', '.*',
555 560 default=None,
556 561 generic=True,
557 562 )
558 563 coreconfigitem('phases', 'checksubrepos',
559 564 default='follow',
560 565 )
561 566 coreconfigitem('phases', 'new-commit',
562 567 default='draft',
563 568 )
564 569 coreconfigitem('phases', 'publish',
565 570 default=True,
566 571 )
567 572 coreconfigitem('profiling', 'enabled',
568 573 default=False,
569 574 )
570 575 coreconfigitem('profiling', 'format',
571 576 default='text',
572 577 )
573 578 coreconfigitem('profiling', 'freq',
574 579 default=1000,
575 580 )
576 581 coreconfigitem('profiling', 'limit',
577 582 default=30,
578 583 )
579 584 coreconfigitem('profiling', 'nested',
580 585 default=0,
581 586 )
582 587 coreconfigitem('profiling', 'output',
583 588 default=None,
584 589 )
585 590 coreconfigitem('profiling', 'showmax',
586 591 default=0.999,
587 592 )
588 593 coreconfigitem('profiling', 'showmin',
589 594 default=dynamicdefault,
590 595 )
591 596 coreconfigitem('profiling', 'sort',
592 597 default='inlinetime',
593 598 )
594 599 coreconfigitem('profiling', 'statformat',
595 600 default='hotpath',
596 601 )
597 602 coreconfigitem('profiling', 'type',
598 603 default='stat',
599 604 )
600 605 coreconfigitem('progress', 'assume-tty',
601 606 default=False,
602 607 )
603 608 coreconfigitem('progress', 'changedelay',
604 609 default=1,
605 610 )
606 611 coreconfigitem('progress', 'clear-complete',
607 612 default=True,
608 613 )
609 614 coreconfigitem('progress', 'debug',
610 615 default=False,
611 616 )
612 617 coreconfigitem('progress', 'delay',
613 618 default=3,
614 619 )
615 620 coreconfigitem('progress', 'disable',
616 621 default=False,
617 622 )
618 623 coreconfigitem('progress', 'estimateinterval',
619 624 default=60.0,
620 625 )
621 626 coreconfigitem('progress', 'format',
622 627 default=lambda: ['topic', 'bar', 'number', 'estimate'],
623 628 )
624 629 coreconfigitem('progress', 'refresh',
625 630 default=0.1,
626 631 )
627 632 coreconfigitem('progress', 'width',
628 633 default=dynamicdefault,
629 634 )
630 635 coreconfigitem('push', 'pushvars.server',
631 636 default=False,
632 637 )
633 638 coreconfigitem('server', 'bundle1',
634 639 default=True,
635 640 )
636 641 coreconfigitem('server', 'bundle1gd',
637 642 default=None,
638 643 )
639 644 coreconfigitem('server', 'bundle1.pull',
640 645 default=None,
641 646 )
642 647 coreconfigitem('server', 'bundle1gd.pull',
643 648 default=None,
644 649 )
645 650 coreconfigitem('server', 'bundle1.push',
646 651 default=None,
647 652 )
648 653 coreconfigitem('server', 'bundle1gd.push',
649 654 default=None,
650 655 )
651 656 coreconfigitem('server', 'compressionengines',
652 657 default=list,
653 658 )
654 659 coreconfigitem('server', 'concurrent-push-mode',
655 660 default='strict',
656 661 )
657 662 coreconfigitem('server', 'disablefullbundle',
658 663 default=False,
659 664 )
660 665 coreconfigitem('server', 'maxhttpheaderlen',
661 666 default=1024,
662 667 )
663 668 coreconfigitem('server', 'preferuncompressed',
664 669 default=False,
665 670 )
666 671 coreconfigitem('server', 'uncompressed',
667 672 default=True,
668 673 )
669 674 coreconfigitem('server', 'uncompressedallowsecret',
670 675 default=False,
671 676 )
672 677 coreconfigitem('server', 'validate',
673 678 default=False,
674 679 )
675 680 coreconfigitem('server', 'zliblevel',
676 681 default=-1,
677 682 )
678 683 coreconfigitem('smtp', 'host',
679 684 default=None,
680 685 )
681 686 coreconfigitem('smtp', 'local_hostname',
682 687 default=None,
683 688 )
684 689 coreconfigitem('smtp', 'password',
685 690 default=None,
686 691 )
687 692 coreconfigitem('smtp', 'port',
688 693 default=dynamicdefault,
689 694 )
690 695 coreconfigitem('smtp', 'tls',
691 696 default='none',
692 697 )
693 698 coreconfigitem('smtp', 'username',
694 699 default=None,
695 700 )
696 701 coreconfigitem('sparse', 'missingwarning',
697 702 default=True,
698 703 )
699 704 coreconfigitem('templates', '.*',
700 705 default=None,
701 706 generic=True,
702 707 )
703 708 coreconfigitem('trusted', 'groups',
704 709 default=list,
705 710 )
706 711 coreconfigitem('trusted', 'users',
707 712 default=list,
708 713 )
709 714 coreconfigitem('ui', '_usedassubrepo',
710 715 default=False,
711 716 )
712 717 coreconfigitem('ui', 'allowemptycommit',
713 718 default=False,
714 719 )
715 720 coreconfigitem('ui', 'archivemeta',
716 721 default=True,
717 722 )
718 723 coreconfigitem('ui', 'askusername',
719 724 default=False,
720 725 )
721 726 coreconfigitem('ui', 'clonebundlefallback',
722 727 default=False,
723 728 )
724 729 coreconfigitem('ui', 'clonebundleprefers',
725 730 default=list,
726 731 )
727 732 coreconfigitem('ui', 'clonebundles',
728 733 default=True,
729 734 )
730 735 coreconfigitem('ui', 'color',
731 736 default='auto',
732 737 )
733 738 coreconfigitem('ui', 'commitsubrepos',
734 739 default=False,
735 740 )
736 741 coreconfigitem('ui', 'debug',
737 742 default=False,
738 743 )
739 744 coreconfigitem('ui', 'debugger',
740 745 default=None,
741 746 )
742 747 coreconfigitem('ui', 'fallbackencoding',
743 748 default=None,
744 749 )
745 750 coreconfigitem('ui', 'forcecwd',
746 751 default=None,
747 752 )
748 753 coreconfigitem('ui', 'forcemerge',
749 754 default=None,
750 755 )
751 756 coreconfigitem('ui', 'formatdebug',
752 757 default=False,
753 758 )
754 759 coreconfigitem('ui', 'formatjson',
755 760 default=False,
756 761 )
757 762 coreconfigitem('ui', 'formatted',
758 763 default=None,
759 764 )
760 765 coreconfigitem('ui', 'graphnodetemplate',
761 766 default=None,
762 767 )
763 768 coreconfigitem('ui', 'http2debuglevel',
764 769 default=None,
765 770 )
766 771 coreconfigitem('ui', 'interactive',
767 772 default=None,
768 773 )
769 774 coreconfigitem('ui', 'interface',
770 775 default=None,
771 776 )
772 777 coreconfigitem('ui', 'interface.chunkselector',
773 778 default=None,
774 779 )
775 780 coreconfigitem('ui', 'logblockedtimes',
776 781 default=False,
777 782 )
778 783 coreconfigitem('ui', 'logtemplate',
779 784 default=None,
780 785 )
781 786 coreconfigitem('ui', 'merge',
782 787 default=None,
783 788 )
784 789 coreconfigitem('ui', 'mergemarkers',
785 790 default='basic',
786 791 )
787 792 coreconfigitem('ui', 'mergemarkertemplate',
788 793 default=('{node|short} '
789 794 '{ifeq(tags, "tip", "", '
790 795 'ifeq(tags, "", "", "{tags} "))}'
791 796 '{if(bookmarks, "{bookmarks} ")}'
792 797 '{ifeq(branch, "default", "", "{branch} ")}'
793 798 '- {author|user}: {desc|firstline}')
794 799 )
795 800 coreconfigitem('ui', 'nontty',
796 801 default=False,
797 802 )
798 803 coreconfigitem('ui', 'origbackuppath',
799 804 default=None,
800 805 )
801 806 coreconfigitem('ui', 'paginate',
802 807 default=True,
803 808 )
804 809 coreconfigitem('ui', 'patch',
805 810 default=None,
806 811 )
807 812 coreconfigitem('ui', 'portablefilenames',
808 813 default='warn',
809 814 )
810 815 coreconfigitem('ui', 'promptecho',
811 816 default=False,
812 817 )
813 818 coreconfigitem('ui', 'quiet',
814 819 default=False,
815 820 )
816 821 coreconfigitem('ui', 'quietbookmarkmove',
817 822 default=False,
818 823 )
819 824 coreconfigitem('ui', 'remotecmd',
820 825 default='hg',
821 826 )
822 827 coreconfigitem('ui', 'report_untrusted',
823 828 default=True,
824 829 )
825 830 coreconfigitem('ui', 'rollback',
826 831 default=True,
827 832 )
828 833 coreconfigitem('ui', 'slash',
829 834 default=False,
830 835 )
831 836 coreconfigitem('ui', 'ssh',
832 837 default='ssh',
833 838 )
834 839 coreconfigitem('ui', 'statuscopies',
835 840 default=False,
836 841 )
837 842 coreconfigitem('ui', 'strict',
838 843 default=False,
839 844 )
840 845 coreconfigitem('ui', 'style',
841 846 default='',
842 847 )
843 848 coreconfigitem('ui', 'supportcontact',
844 849 default=None,
845 850 )
846 851 coreconfigitem('ui', 'textwidth',
847 852 default=78,
848 853 )
849 854 coreconfigitem('ui', 'timeout',
850 855 default='600',
851 856 )
852 857 coreconfigitem('ui', 'traceback',
853 858 default=False,
854 859 )
855 860 coreconfigitem('ui', 'tweakdefaults',
856 861 default=False,
857 862 )
858 863 coreconfigitem('ui', 'usehttp2',
859 864 default=False,
860 865 )
861 866 coreconfigitem('ui', 'username',
862 867 alias=[('ui', 'user')]
863 868 )
864 869 coreconfigitem('ui', 'verbose',
865 870 default=False,
866 871 )
867 872 coreconfigitem('verify', 'skipflags',
868 873 default=None,
869 874 )
870 875 coreconfigitem('web', 'allowbz2',
871 876 default=False,
872 877 )
873 878 coreconfigitem('web', 'allowgz',
874 879 default=False,
875 880 )
876 881 coreconfigitem('web', 'allowpull',
877 882 default=True,
878 883 )
879 884 coreconfigitem('web', 'allow_push',
880 885 default=list,
881 886 )
882 887 coreconfigitem('web', 'allowzip',
883 888 default=False,
884 889 )
885 890 coreconfigitem('web', 'cache',
886 891 default=True,
887 892 )
888 893 coreconfigitem('web', 'contact',
889 894 default=None,
890 895 )
891 896 coreconfigitem('web', 'deny_push',
892 897 default=list,
893 898 )
894 899 coreconfigitem('web', 'guessmime',
895 900 default=False,
896 901 )
897 902 coreconfigitem('web', 'hidden',
898 903 default=False,
899 904 )
900 905 coreconfigitem('web', 'labels',
901 906 default=list,
902 907 )
903 908 coreconfigitem('web', 'logoimg',
904 909 default='hglogo.png',
905 910 )
906 911 coreconfigitem('web', 'logourl',
907 912 default='https://mercurial-scm.org/',
908 913 )
909 914 coreconfigitem('web', 'accesslog',
910 915 default='-',
911 916 )
912 917 coreconfigitem('web', 'address',
913 918 default='',
914 919 )
915 920 coreconfigitem('web', 'allow_archive',
916 921 default=list,
917 922 )
918 923 coreconfigitem('web', 'allow_read',
919 924 default=list,
920 925 )
921 926 coreconfigitem('web', 'baseurl',
922 927 default=None,
923 928 )
924 929 coreconfigitem('web', 'cacerts',
925 930 default=None,
926 931 )
927 932 coreconfigitem('web', 'certificate',
928 933 default=None,
929 934 )
930 935 coreconfigitem('web', 'collapse',
931 936 default=False,
932 937 )
933 938 coreconfigitem('web', 'csp',
934 939 default=None,
935 940 )
936 941 coreconfigitem('web', 'deny_read',
937 942 default=list,
938 943 )
939 944 coreconfigitem('web', 'descend',
940 945 default=True,
941 946 )
942 947 coreconfigitem('web', 'description',
943 948 default="",
944 949 )
945 950 coreconfigitem('web', 'encoding',
946 951 default=lambda: encoding.encoding,
947 952 )
948 953 coreconfigitem('web', 'errorlog',
949 954 default='-',
950 955 )
951 956 coreconfigitem('web', 'ipv6',
952 957 default=False,
953 958 )
954 959 coreconfigitem('web', 'maxchanges',
955 960 default=10,
956 961 )
957 962 coreconfigitem('web', 'maxfiles',
958 963 default=10,
959 964 )
960 965 coreconfigitem('web', 'maxshortchanges',
961 966 default=60,
962 967 )
963 968 coreconfigitem('web', 'motd',
964 969 default='',
965 970 )
966 971 coreconfigitem('web', 'name',
967 972 default=dynamicdefault,
968 973 )
969 974 coreconfigitem('web', 'port',
970 975 default=8000,
971 976 )
972 977 coreconfigitem('web', 'prefix',
973 978 default='',
974 979 )
975 980 coreconfigitem('web', 'push_ssl',
976 981 default=True,
977 982 )
978 983 coreconfigitem('web', 'refreshinterval',
979 984 default=20,
980 985 )
981 986 coreconfigitem('web', 'staticurl',
982 987 default=None,
983 988 )
984 989 coreconfigitem('web', 'stripes',
985 990 default=1,
986 991 )
987 992 coreconfigitem('web', 'style',
988 993 default='paper',
989 994 )
990 995 coreconfigitem('web', 'templates',
991 996 default=None,
992 997 )
993 998 coreconfigitem('web', 'view',
994 999 default='served',
995 1000 )
996 1001 coreconfigitem('worker', 'backgroundclose',
997 1002 default=dynamicdefault,
998 1003 )
999 1004 # Windows defaults to a limit of 512 open files. A buffer of 128
1000 1005 # should give us enough headway.
1001 1006 coreconfigitem('worker', 'backgroundclosemaxqueue',
1002 1007 default=384,
1003 1008 )
1004 1009 coreconfigitem('worker', 'backgroundcloseminfilecount',
1005 1010 default=2048,
1006 1011 )
1007 1012 coreconfigitem('worker', 'backgroundclosethreadcount',
1008 1013 default=4,
1009 1014 )
1010 1015 coreconfigitem('worker', 'numcpus',
1011 1016 default=None,
1012 1017 )
General Comments 0
You need to be logged in to leave comments. Login now