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