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