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