##// END OF EJS Templates
path: explicitly declare the `pushrev` suboptions...
marmoute -
r49913:bb763439 default
parent child Browse files
Show More
@@ -1,2760 +1,2766
1 # configitems.py - centralized declaration of configuration option
1 # configitems.py - centralized declaration of configuration option
2 #
2 #
3 # Copyright 2017 Pierre-Yves David <pierre-yves.david@octobus.net>
3 # Copyright 2017 Pierre-Yves David <pierre-yves.david@octobus.net>
4 #
4 #
5 # This software may be used and distributed according to the terms of the
5 # This software may be used and distributed according to the terms of the
6 # GNU General Public License version 2 or any later version.
6 # GNU General Public License version 2 or any later version.
7
7
8
8
9 import functools
9 import functools
10 import re
10 import re
11
11
12 from . import (
12 from . import (
13 encoding,
13 encoding,
14 error,
14 error,
15 )
15 )
16
16
17
17
18 def loadconfigtable(ui, extname, configtable):
18 def loadconfigtable(ui, extname, configtable):
19 """update config item known to the ui with the extension ones"""
19 """update config item known to the ui with the extension ones"""
20 for section, items in sorted(configtable.items()):
20 for section, items in sorted(configtable.items()):
21 knownitems = ui._knownconfig.setdefault(section, itemregister())
21 knownitems = ui._knownconfig.setdefault(section, itemregister())
22 knownkeys = set(knownitems)
22 knownkeys = set(knownitems)
23 newkeys = set(items)
23 newkeys = set(items)
24 for key in sorted(knownkeys & newkeys):
24 for key in sorted(knownkeys & newkeys):
25 msg = b"extension '%s' overwrite config item '%s.%s'"
25 msg = b"extension '%s' overwrite config item '%s.%s'"
26 msg %= (extname, section, key)
26 msg %= (extname, section, key)
27 ui.develwarn(msg, config=b'warn-config')
27 ui.develwarn(msg, config=b'warn-config')
28
28
29 knownitems.update(items)
29 knownitems.update(items)
30
30
31
31
32 class configitem:
32 class configitem:
33 """represent a known config item
33 """represent a known config item
34
34
35 :section: the official config section where to find this item,
35 :section: the official config section where to find this item,
36 :name: the official name within the section,
36 :name: the official name within the section,
37 :default: default value for this item,
37 :default: default value for this item,
38 :alias: optional list of tuples as alternatives,
38 :alias: optional list of tuples as alternatives,
39 :generic: this is a generic definition, match name using regular expression.
39 :generic: this is a generic definition, match name using regular expression.
40 """
40 """
41
41
42 def __init__(
42 def __init__(
43 self,
43 self,
44 section,
44 section,
45 name,
45 name,
46 default=None,
46 default=None,
47 alias=(),
47 alias=(),
48 generic=False,
48 generic=False,
49 priority=0,
49 priority=0,
50 experimental=False,
50 experimental=False,
51 ):
51 ):
52 self.section = section
52 self.section = section
53 self.name = name
53 self.name = name
54 self.default = default
54 self.default = default
55 self.alias = list(alias)
55 self.alias = list(alias)
56 self.generic = generic
56 self.generic = generic
57 self.priority = priority
57 self.priority = priority
58 self.experimental = experimental
58 self.experimental = experimental
59 self._re = None
59 self._re = None
60 if generic:
60 if generic:
61 self._re = re.compile(self.name)
61 self._re = re.compile(self.name)
62
62
63
63
64 class itemregister(dict):
64 class itemregister(dict):
65 """A specialized dictionary that can handle wild-card selection"""
65 """A specialized dictionary that can handle wild-card selection"""
66
66
67 def __init__(self):
67 def __init__(self):
68 super(itemregister, self).__init__()
68 super(itemregister, self).__init__()
69 self._generics = set()
69 self._generics = set()
70
70
71 def update(self, other):
71 def update(self, other):
72 super(itemregister, self).update(other)
72 super(itemregister, self).update(other)
73 self._generics.update(other._generics)
73 self._generics.update(other._generics)
74
74
75 def __setitem__(self, key, item):
75 def __setitem__(self, key, item):
76 super(itemregister, self).__setitem__(key, item)
76 super(itemregister, self).__setitem__(key, item)
77 if item.generic:
77 if item.generic:
78 self._generics.add(item)
78 self._generics.add(item)
79
79
80 def get(self, key):
80 def get(self, key):
81 baseitem = super(itemregister, self).get(key)
81 baseitem = super(itemregister, self).get(key)
82 if baseitem is not None and not baseitem.generic:
82 if baseitem is not None and not baseitem.generic:
83 return baseitem
83 return baseitem
84
84
85 # search for a matching generic item
85 # search for a matching generic item
86 generics = sorted(self._generics, key=(lambda x: (x.priority, x.name)))
86 generics = sorted(self._generics, key=(lambda x: (x.priority, x.name)))
87 for item in generics:
87 for item in generics:
88 # we use 'match' instead of 'search' to make the matching simpler
88 # we use 'match' instead of 'search' to make the matching simpler
89 # for people unfamiliar with regular expression. Having the match
89 # for people unfamiliar with regular expression. Having the match
90 # rooted to the start of the string will produce less surprising
90 # rooted to the start of the string will produce less surprising
91 # result for user writing simple regex for sub-attribute.
91 # result for user writing simple regex for sub-attribute.
92 #
92 #
93 # For example using "color\..*" match produces an unsurprising
93 # For example using "color\..*" match produces an unsurprising
94 # result, while using search could suddenly match apparently
94 # result, while using search could suddenly match apparently
95 # unrelated configuration that happens to contains "color."
95 # unrelated configuration that happens to contains "color."
96 # anywhere. This is a tradeoff where we favor requiring ".*" on
96 # anywhere. This is a tradeoff where we favor requiring ".*" on
97 # some match to avoid the need to prefix most pattern with "^".
97 # some match to avoid the need to prefix most pattern with "^".
98 # The "^" seems more error prone.
98 # The "^" seems more error prone.
99 if item._re.match(key):
99 if item._re.match(key):
100 return item
100 return item
101
101
102 return None
102 return None
103
103
104
104
105 coreitems = {}
105 coreitems = {}
106
106
107
107
108 def _register(configtable, *args, **kwargs):
108 def _register(configtable, *args, **kwargs):
109 item = configitem(*args, **kwargs)
109 item = configitem(*args, **kwargs)
110 section = configtable.setdefault(item.section, itemregister())
110 section = configtable.setdefault(item.section, itemregister())
111 if item.name in section:
111 if item.name in section:
112 msg = b"duplicated config item registration for '%s.%s'"
112 msg = b"duplicated config item registration for '%s.%s'"
113 raise error.ProgrammingError(msg % (item.section, item.name))
113 raise error.ProgrammingError(msg % (item.section, item.name))
114 section[item.name] = item
114 section[item.name] = item
115
115
116
116
117 # special value for case where the default is derived from other values
117 # special value for case where the default is derived from other values
118 dynamicdefault = object()
118 dynamicdefault = object()
119
119
120 # Registering actual config items
120 # Registering actual config items
121
121
122
122
123 def getitemregister(configtable):
123 def getitemregister(configtable):
124 f = functools.partial(_register, configtable)
124 f = functools.partial(_register, configtable)
125 # export pseudo enum as configitem.*
125 # export pseudo enum as configitem.*
126 f.dynamicdefault = dynamicdefault
126 f.dynamicdefault = dynamicdefault
127 return f
127 return f
128
128
129
129
130 coreconfigitem = getitemregister(coreitems)
130 coreconfigitem = getitemregister(coreitems)
131
131
132
132
133 def _registerdiffopts(section, configprefix=b''):
133 def _registerdiffopts(section, configprefix=b''):
134 coreconfigitem(
134 coreconfigitem(
135 section,
135 section,
136 configprefix + b'nodates',
136 configprefix + b'nodates',
137 default=False,
137 default=False,
138 )
138 )
139 coreconfigitem(
139 coreconfigitem(
140 section,
140 section,
141 configprefix + b'showfunc',
141 configprefix + b'showfunc',
142 default=False,
142 default=False,
143 )
143 )
144 coreconfigitem(
144 coreconfigitem(
145 section,
145 section,
146 configprefix + b'unified',
146 configprefix + b'unified',
147 default=None,
147 default=None,
148 )
148 )
149 coreconfigitem(
149 coreconfigitem(
150 section,
150 section,
151 configprefix + b'git',
151 configprefix + b'git',
152 default=False,
152 default=False,
153 )
153 )
154 coreconfigitem(
154 coreconfigitem(
155 section,
155 section,
156 configprefix + b'ignorews',
156 configprefix + b'ignorews',
157 default=False,
157 default=False,
158 )
158 )
159 coreconfigitem(
159 coreconfigitem(
160 section,
160 section,
161 configprefix + b'ignorewsamount',
161 configprefix + b'ignorewsamount',
162 default=False,
162 default=False,
163 )
163 )
164 coreconfigitem(
164 coreconfigitem(
165 section,
165 section,
166 configprefix + b'ignoreblanklines',
166 configprefix + b'ignoreblanklines',
167 default=False,
167 default=False,
168 )
168 )
169 coreconfigitem(
169 coreconfigitem(
170 section,
170 section,
171 configprefix + b'ignorewseol',
171 configprefix + b'ignorewseol',
172 default=False,
172 default=False,
173 )
173 )
174 coreconfigitem(
174 coreconfigitem(
175 section,
175 section,
176 configprefix + b'nobinary',
176 configprefix + b'nobinary',
177 default=False,
177 default=False,
178 )
178 )
179 coreconfigitem(
179 coreconfigitem(
180 section,
180 section,
181 configprefix + b'noprefix',
181 configprefix + b'noprefix',
182 default=False,
182 default=False,
183 )
183 )
184 coreconfigitem(
184 coreconfigitem(
185 section,
185 section,
186 configprefix + b'word-diff',
186 configprefix + b'word-diff',
187 default=False,
187 default=False,
188 )
188 )
189
189
190
190
191 coreconfigitem(
191 coreconfigitem(
192 b'alias',
192 b'alias',
193 b'.*',
193 b'.*',
194 default=dynamicdefault,
194 default=dynamicdefault,
195 generic=True,
195 generic=True,
196 )
196 )
197 coreconfigitem(
197 coreconfigitem(
198 b'auth',
198 b'auth',
199 b'cookiefile',
199 b'cookiefile',
200 default=None,
200 default=None,
201 )
201 )
202 _registerdiffopts(section=b'annotate')
202 _registerdiffopts(section=b'annotate')
203 # bookmarks.pushing: internal hack for discovery
203 # bookmarks.pushing: internal hack for discovery
204 coreconfigitem(
204 coreconfigitem(
205 b'bookmarks',
205 b'bookmarks',
206 b'pushing',
206 b'pushing',
207 default=list,
207 default=list,
208 )
208 )
209 # bundle.mainreporoot: internal hack for bundlerepo
209 # bundle.mainreporoot: internal hack for bundlerepo
210 coreconfigitem(
210 coreconfigitem(
211 b'bundle',
211 b'bundle',
212 b'mainreporoot',
212 b'mainreporoot',
213 default=b'',
213 default=b'',
214 )
214 )
215 coreconfigitem(
215 coreconfigitem(
216 b'censor',
216 b'censor',
217 b'policy',
217 b'policy',
218 default=b'abort',
218 default=b'abort',
219 experimental=True,
219 experimental=True,
220 )
220 )
221 coreconfigitem(
221 coreconfigitem(
222 b'chgserver',
222 b'chgserver',
223 b'idletimeout',
223 b'idletimeout',
224 default=3600,
224 default=3600,
225 )
225 )
226 coreconfigitem(
226 coreconfigitem(
227 b'chgserver',
227 b'chgserver',
228 b'skiphash',
228 b'skiphash',
229 default=False,
229 default=False,
230 )
230 )
231 coreconfigitem(
231 coreconfigitem(
232 b'cmdserver',
232 b'cmdserver',
233 b'log',
233 b'log',
234 default=None,
234 default=None,
235 )
235 )
236 coreconfigitem(
236 coreconfigitem(
237 b'cmdserver',
237 b'cmdserver',
238 b'max-log-files',
238 b'max-log-files',
239 default=7,
239 default=7,
240 )
240 )
241 coreconfigitem(
241 coreconfigitem(
242 b'cmdserver',
242 b'cmdserver',
243 b'max-log-size',
243 b'max-log-size',
244 default=b'1 MB',
244 default=b'1 MB',
245 )
245 )
246 coreconfigitem(
246 coreconfigitem(
247 b'cmdserver',
247 b'cmdserver',
248 b'max-repo-cache',
248 b'max-repo-cache',
249 default=0,
249 default=0,
250 experimental=True,
250 experimental=True,
251 )
251 )
252 coreconfigitem(
252 coreconfigitem(
253 b'cmdserver',
253 b'cmdserver',
254 b'message-encodings',
254 b'message-encodings',
255 default=list,
255 default=list,
256 )
256 )
257 coreconfigitem(
257 coreconfigitem(
258 b'cmdserver',
258 b'cmdserver',
259 b'track-log',
259 b'track-log',
260 default=lambda: [b'chgserver', b'cmdserver', b'repocache'],
260 default=lambda: [b'chgserver', b'cmdserver', b'repocache'],
261 )
261 )
262 coreconfigitem(
262 coreconfigitem(
263 b'cmdserver',
263 b'cmdserver',
264 b'shutdown-on-interrupt',
264 b'shutdown-on-interrupt',
265 default=True,
265 default=True,
266 )
266 )
267 coreconfigitem(
267 coreconfigitem(
268 b'color',
268 b'color',
269 b'.*',
269 b'.*',
270 default=None,
270 default=None,
271 generic=True,
271 generic=True,
272 )
272 )
273 coreconfigitem(
273 coreconfigitem(
274 b'color',
274 b'color',
275 b'mode',
275 b'mode',
276 default=b'auto',
276 default=b'auto',
277 )
277 )
278 coreconfigitem(
278 coreconfigitem(
279 b'color',
279 b'color',
280 b'pagermode',
280 b'pagermode',
281 default=dynamicdefault,
281 default=dynamicdefault,
282 )
282 )
283 coreconfigitem(
283 coreconfigitem(
284 b'command-templates',
284 b'command-templates',
285 b'graphnode',
285 b'graphnode',
286 default=None,
286 default=None,
287 alias=[(b'ui', b'graphnodetemplate')],
287 alias=[(b'ui', b'graphnodetemplate')],
288 )
288 )
289 coreconfigitem(
289 coreconfigitem(
290 b'command-templates',
290 b'command-templates',
291 b'log',
291 b'log',
292 default=None,
292 default=None,
293 alias=[(b'ui', b'logtemplate')],
293 alias=[(b'ui', b'logtemplate')],
294 )
294 )
295 coreconfigitem(
295 coreconfigitem(
296 b'command-templates',
296 b'command-templates',
297 b'mergemarker',
297 b'mergemarker',
298 default=(
298 default=(
299 b'{node|short} '
299 b'{node|short} '
300 b'{ifeq(tags, "tip", "", '
300 b'{ifeq(tags, "tip", "", '
301 b'ifeq(tags, "", "", "{tags} "))}'
301 b'ifeq(tags, "", "", "{tags} "))}'
302 b'{if(bookmarks, "{bookmarks} ")}'
302 b'{if(bookmarks, "{bookmarks} ")}'
303 b'{ifeq(branch, "default", "", "{branch} ")}'
303 b'{ifeq(branch, "default", "", "{branch} ")}'
304 b'- {author|user}: {desc|firstline}'
304 b'- {author|user}: {desc|firstline}'
305 ),
305 ),
306 alias=[(b'ui', b'mergemarkertemplate')],
306 alias=[(b'ui', b'mergemarkertemplate')],
307 )
307 )
308 coreconfigitem(
308 coreconfigitem(
309 b'command-templates',
309 b'command-templates',
310 b'pre-merge-tool-output',
310 b'pre-merge-tool-output',
311 default=None,
311 default=None,
312 alias=[(b'ui', b'pre-merge-tool-output-template')],
312 alias=[(b'ui', b'pre-merge-tool-output-template')],
313 )
313 )
314 coreconfigitem(
314 coreconfigitem(
315 b'command-templates',
315 b'command-templates',
316 b'oneline-summary',
316 b'oneline-summary',
317 default=None,
317 default=None,
318 )
318 )
319 coreconfigitem(
319 coreconfigitem(
320 b'command-templates',
320 b'command-templates',
321 b'oneline-summary.*',
321 b'oneline-summary.*',
322 default=dynamicdefault,
322 default=dynamicdefault,
323 generic=True,
323 generic=True,
324 )
324 )
325 _registerdiffopts(section=b'commands', configprefix=b'commit.interactive.')
325 _registerdiffopts(section=b'commands', configprefix=b'commit.interactive.')
326 coreconfigitem(
326 coreconfigitem(
327 b'commands',
327 b'commands',
328 b'commit.post-status',
328 b'commit.post-status',
329 default=False,
329 default=False,
330 )
330 )
331 coreconfigitem(
331 coreconfigitem(
332 b'commands',
332 b'commands',
333 b'grep.all-files',
333 b'grep.all-files',
334 default=False,
334 default=False,
335 experimental=True,
335 experimental=True,
336 )
336 )
337 coreconfigitem(
337 coreconfigitem(
338 b'commands',
338 b'commands',
339 b'merge.require-rev',
339 b'merge.require-rev',
340 default=False,
340 default=False,
341 )
341 )
342 coreconfigitem(
342 coreconfigitem(
343 b'commands',
343 b'commands',
344 b'push.require-revs',
344 b'push.require-revs',
345 default=False,
345 default=False,
346 )
346 )
347 coreconfigitem(
347 coreconfigitem(
348 b'commands',
348 b'commands',
349 b'resolve.confirm',
349 b'resolve.confirm',
350 default=False,
350 default=False,
351 )
351 )
352 coreconfigitem(
352 coreconfigitem(
353 b'commands',
353 b'commands',
354 b'resolve.explicit-re-merge',
354 b'resolve.explicit-re-merge',
355 default=False,
355 default=False,
356 )
356 )
357 coreconfigitem(
357 coreconfigitem(
358 b'commands',
358 b'commands',
359 b'resolve.mark-check',
359 b'resolve.mark-check',
360 default=b'none',
360 default=b'none',
361 )
361 )
362 _registerdiffopts(section=b'commands', configprefix=b'revert.interactive.')
362 _registerdiffopts(section=b'commands', configprefix=b'revert.interactive.')
363 coreconfigitem(
363 coreconfigitem(
364 b'commands',
364 b'commands',
365 b'show.aliasprefix',
365 b'show.aliasprefix',
366 default=list,
366 default=list,
367 )
367 )
368 coreconfigitem(
368 coreconfigitem(
369 b'commands',
369 b'commands',
370 b'status.relative',
370 b'status.relative',
371 default=False,
371 default=False,
372 )
372 )
373 coreconfigitem(
373 coreconfigitem(
374 b'commands',
374 b'commands',
375 b'status.skipstates',
375 b'status.skipstates',
376 default=[],
376 default=[],
377 experimental=True,
377 experimental=True,
378 )
378 )
379 coreconfigitem(
379 coreconfigitem(
380 b'commands',
380 b'commands',
381 b'status.terse',
381 b'status.terse',
382 default=b'',
382 default=b'',
383 )
383 )
384 coreconfigitem(
384 coreconfigitem(
385 b'commands',
385 b'commands',
386 b'status.verbose',
386 b'status.verbose',
387 default=False,
387 default=False,
388 )
388 )
389 coreconfigitem(
389 coreconfigitem(
390 b'commands',
390 b'commands',
391 b'update.check',
391 b'update.check',
392 default=None,
392 default=None,
393 )
393 )
394 coreconfigitem(
394 coreconfigitem(
395 b'commands',
395 b'commands',
396 b'update.requiredest',
396 b'update.requiredest',
397 default=False,
397 default=False,
398 )
398 )
399 coreconfigitem(
399 coreconfigitem(
400 b'committemplate',
400 b'committemplate',
401 b'.*',
401 b'.*',
402 default=None,
402 default=None,
403 generic=True,
403 generic=True,
404 )
404 )
405 coreconfigitem(
405 coreconfigitem(
406 b'convert',
406 b'convert',
407 b'bzr.saverev',
407 b'bzr.saverev',
408 default=True,
408 default=True,
409 )
409 )
410 coreconfigitem(
410 coreconfigitem(
411 b'convert',
411 b'convert',
412 b'cvsps.cache',
412 b'cvsps.cache',
413 default=True,
413 default=True,
414 )
414 )
415 coreconfigitem(
415 coreconfigitem(
416 b'convert',
416 b'convert',
417 b'cvsps.fuzz',
417 b'cvsps.fuzz',
418 default=60,
418 default=60,
419 )
419 )
420 coreconfigitem(
420 coreconfigitem(
421 b'convert',
421 b'convert',
422 b'cvsps.logencoding',
422 b'cvsps.logencoding',
423 default=None,
423 default=None,
424 )
424 )
425 coreconfigitem(
425 coreconfigitem(
426 b'convert',
426 b'convert',
427 b'cvsps.mergefrom',
427 b'cvsps.mergefrom',
428 default=None,
428 default=None,
429 )
429 )
430 coreconfigitem(
430 coreconfigitem(
431 b'convert',
431 b'convert',
432 b'cvsps.mergeto',
432 b'cvsps.mergeto',
433 default=None,
433 default=None,
434 )
434 )
435 coreconfigitem(
435 coreconfigitem(
436 b'convert',
436 b'convert',
437 b'git.committeractions',
437 b'git.committeractions',
438 default=lambda: [b'messagedifferent'],
438 default=lambda: [b'messagedifferent'],
439 )
439 )
440 coreconfigitem(
440 coreconfigitem(
441 b'convert',
441 b'convert',
442 b'git.extrakeys',
442 b'git.extrakeys',
443 default=list,
443 default=list,
444 )
444 )
445 coreconfigitem(
445 coreconfigitem(
446 b'convert',
446 b'convert',
447 b'git.findcopiesharder',
447 b'git.findcopiesharder',
448 default=False,
448 default=False,
449 )
449 )
450 coreconfigitem(
450 coreconfigitem(
451 b'convert',
451 b'convert',
452 b'git.remoteprefix',
452 b'git.remoteprefix',
453 default=b'remote',
453 default=b'remote',
454 )
454 )
455 coreconfigitem(
455 coreconfigitem(
456 b'convert',
456 b'convert',
457 b'git.renamelimit',
457 b'git.renamelimit',
458 default=400,
458 default=400,
459 )
459 )
460 coreconfigitem(
460 coreconfigitem(
461 b'convert',
461 b'convert',
462 b'git.saverev',
462 b'git.saverev',
463 default=True,
463 default=True,
464 )
464 )
465 coreconfigitem(
465 coreconfigitem(
466 b'convert',
466 b'convert',
467 b'git.similarity',
467 b'git.similarity',
468 default=50,
468 default=50,
469 )
469 )
470 coreconfigitem(
470 coreconfigitem(
471 b'convert',
471 b'convert',
472 b'git.skipsubmodules',
472 b'git.skipsubmodules',
473 default=False,
473 default=False,
474 )
474 )
475 coreconfigitem(
475 coreconfigitem(
476 b'convert',
476 b'convert',
477 b'hg.clonebranches',
477 b'hg.clonebranches',
478 default=False,
478 default=False,
479 )
479 )
480 coreconfigitem(
480 coreconfigitem(
481 b'convert',
481 b'convert',
482 b'hg.ignoreerrors',
482 b'hg.ignoreerrors',
483 default=False,
483 default=False,
484 )
484 )
485 coreconfigitem(
485 coreconfigitem(
486 b'convert',
486 b'convert',
487 b'hg.preserve-hash',
487 b'hg.preserve-hash',
488 default=False,
488 default=False,
489 )
489 )
490 coreconfigitem(
490 coreconfigitem(
491 b'convert',
491 b'convert',
492 b'hg.revs',
492 b'hg.revs',
493 default=None,
493 default=None,
494 )
494 )
495 coreconfigitem(
495 coreconfigitem(
496 b'convert',
496 b'convert',
497 b'hg.saverev',
497 b'hg.saverev',
498 default=False,
498 default=False,
499 )
499 )
500 coreconfigitem(
500 coreconfigitem(
501 b'convert',
501 b'convert',
502 b'hg.sourcename',
502 b'hg.sourcename',
503 default=None,
503 default=None,
504 )
504 )
505 coreconfigitem(
505 coreconfigitem(
506 b'convert',
506 b'convert',
507 b'hg.startrev',
507 b'hg.startrev',
508 default=None,
508 default=None,
509 )
509 )
510 coreconfigitem(
510 coreconfigitem(
511 b'convert',
511 b'convert',
512 b'hg.tagsbranch',
512 b'hg.tagsbranch',
513 default=b'default',
513 default=b'default',
514 )
514 )
515 coreconfigitem(
515 coreconfigitem(
516 b'convert',
516 b'convert',
517 b'hg.usebranchnames',
517 b'hg.usebranchnames',
518 default=True,
518 default=True,
519 )
519 )
520 coreconfigitem(
520 coreconfigitem(
521 b'convert',
521 b'convert',
522 b'ignoreancestorcheck',
522 b'ignoreancestorcheck',
523 default=False,
523 default=False,
524 experimental=True,
524 experimental=True,
525 )
525 )
526 coreconfigitem(
526 coreconfigitem(
527 b'convert',
527 b'convert',
528 b'localtimezone',
528 b'localtimezone',
529 default=False,
529 default=False,
530 )
530 )
531 coreconfigitem(
531 coreconfigitem(
532 b'convert',
532 b'convert',
533 b'p4.encoding',
533 b'p4.encoding',
534 default=dynamicdefault,
534 default=dynamicdefault,
535 )
535 )
536 coreconfigitem(
536 coreconfigitem(
537 b'convert',
537 b'convert',
538 b'p4.startrev',
538 b'p4.startrev',
539 default=0,
539 default=0,
540 )
540 )
541 coreconfigitem(
541 coreconfigitem(
542 b'convert',
542 b'convert',
543 b'skiptags',
543 b'skiptags',
544 default=False,
544 default=False,
545 )
545 )
546 coreconfigitem(
546 coreconfigitem(
547 b'convert',
547 b'convert',
548 b'svn.debugsvnlog',
548 b'svn.debugsvnlog',
549 default=True,
549 default=True,
550 )
550 )
551 coreconfigitem(
551 coreconfigitem(
552 b'convert',
552 b'convert',
553 b'svn.trunk',
553 b'svn.trunk',
554 default=None,
554 default=None,
555 )
555 )
556 coreconfigitem(
556 coreconfigitem(
557 b'convert',
557 b'convert',
558 b'svn.tags',
558 b'svn.tags',
559 default=None,
559 default=None,
560 )
560 )
561 coreconfigitem(
561 coreconfigitem(
562 b'convert',
562 b'convert',
563 b'svn.branches',
563 b'svn.branches',
564 default=None,
564 default=None,
565 )
565 )
566 coreconfigitem(
566 coreconfigitem(
567 b'convert',
567 b'convert',
568 b'svn.startrev',
568 b'svn.startrev',
569 default=0,
569 default=0,
570 )
570 )
571 coreconfigitem(
571 coreconfigitem(
572 b'convert',
572 b'convert',
573 b'svn.dangerous-set-commit-dates',
573 b'svn.dangerous-set-commit-dates',
574 default=False,
574 default=False,
575 )
575 )
576 coreconfigitem(
576 coreconfigitem(
577 b'debug',
577 b'debug',
578 b'dirstate.delaywrite',
578 b'dirstate.delaywrite',
579 default=0,
579 default=0,
580 )
580 )
581 coreconfigitem(
581 coreconfigitem(
582 b'debug',
582 b'debug',
583 b'revlog.verifyposition.changelog',
583 b'revlog.verifyposition.changelog',
584 default=b'',
584 default=b'',
585 )
585 )
586 coreconfigitem(
586 coreconfigitem(
587 b'defaults',
587 b'defaults',
588 b'.*',
588 b'.*',
589 default=None,
589 default=None,
590 generic=True,
590 generic=True,
591 )
591 )
592 coreconfigitem(
592 coreconfigitem(
593 b'devel',
593 b'devel',
594 b'all-warnings',
594 b'all-warnings',
595 default=False,
595 default=False,
596 )
596 )
597 coreconfigitem(
597 coreconfigitem(
598 b'devel',
598 b'devel',
599 b'bundle2.debug',
599 b'bundle2.debug',
600 default=False,
600 default=False,
601 )
601 )
602 coreconfigitem(
602 coreconfigitem(
603 b'devel',
603 b'devel',
604 b'bundle.delta',
604 b'bundle.delta',
605 default=b'',
605 default=b'',
606 )
606 )
607 coreconfigitem(
607 coreconfigitem(
608 b'devel',
608 b'devel',
609 b'cache-vfs',
609 b'cache-vfs',
610 default=None,
610 default=None,
611 )
611 )
612 coreconfigitem(
612 coreconfigitem(
613 b'devel',
613 b'devel',
614 b'check-locks',
614 b'check-locks',
615 default=False,
615 default=False,
616 )
616 )
617 coreconfigitem(
617 coreconfigitem(
618 b'devel',
618 b'devel',
619 b'check-relroot',
619 b'check-relroot',
620 default=False,
620 default=False,
621 )
621 )
622 # Track copy information for all file, not just "added" one (very slow)
622 # Track copy information for all file, not just "added" one (very slow)
623 coreconfigitem(
623 coreconfigitem(
624 b'devel',
624 b'devel',
625 b'copy-tracing.trace-all-files',
625 b'copy-tracing.trace-all-files',
626 default=False,
626 default=False,
627 )
627 )
628 coreconfigitem(
628 coreconfigitem(
629 b'devel',
629 b'devel',
630 b'default-date',
630 b'default-date',
631 default=None,
631 default=None,
632 )
632 )
633 coreconfigitem(
633 coreconfigitem(
634 b'devel',
634 b'devel',
635 b'deprec-warn',
635 b'deprec-warn',
636 default=False,
636 default=False,
637 )
637 )
638 coreconfigitem(
638 coreconfigitem(
639 b'devel',
639 b'devel',
640 b'disableloaddefaultcerts',
640 b'disableloaddefaultcerts',
641 default=False,
641 default=False,
642 )
642 )
643 coreconfigitem(
643 coreconfigitem(
644 b'devel',
644 b'devel',
645 b'warn-empty-changegroup',
645 b'warn-empty-changegroup',
646 default=False,
646 default=False,
647 )
647 )
648 coreconfigitem(
648 coreconfigitem(
649 b'devel',
649 b'devel',
650 b'legacy.exchange',
650 b'legacy.exchange',
651 default=list,
651 default=list,
652 )
652 )
653 # When True, revlogs use a special reference version of the nodemap, that is not
653 # When True, revlogs use a special reference version of the nodemap, that is not
654 # performant but is "known" to behave properly.
654 # performant but is "known" to behave properly.
655 coreconfigitem(
655 coreconfigitem(
656 b'devel',
656 b'devel',
657 b'persistent-nodemap',
657 b'persistent-nodemap',
658 default=False,
658 default=False,
659 )
659 )
660 coreconfigitem(
660 coreconfigitem(
661 b'devel',
661 b'devel',
662 b'servercafile',
662 b'servercafile',
663 default=b'',
663 default=b'',
664 )
664 )
665 coreconfigitem(
665 coreconfigitem(
666 b'devel',
666 b'devel',
667 b'serverexactprotocol',
667 b'serverexactprotocol',
668 default=b'',
668 default=b'',
669 )
669 )
670 coreconfigitem(
670 coreconfigitem(
671 b'devel',
671 b'devel',
672 b'serverrequirecert',
672 b'serverrequirecert',
673 default=False,
673 default=False,
674 )
674 )
675 coreconfigitem(
675 coreconfigitem(
676 b'devel',
676 b'devel',
677 b'strip-obsmarkers',
677 b'strip-obsmarkers',
678 default=True,
678 default=True,
679 )
679 )
680 coreconfigitem(
680 coreconfigitem(
681 b'devel',
681 b'devel',
682 b'warn-config',
682 b'warn-config',
683 default=None,
683 default=None,
684 )
684 )
685 coreconfigitem(
685 coreconfigitem(
686 b'devel',
686 b'devel',
687 b'warn-config-default',
687 b'warn-config-default',
688 default=None,
688 default=None,
689 )
689 )
690 coreconfigitem(
690 coreconfigitem(
691 b'devel',
691 b'devel',
692 b'user.obsmarker',
692 b'user.obsmarker',
693 default=None,
693 default=None,
694 )
694 )
695 coreconfigitem(
695 coreconfigitem(
696 b'devel',
696 b'devel',
697 b'warn-config-unknown',
697 b'warn-config-unknown',
698 default=None,
698 default=None,
699 )
699 )
700 coreconfigitem(
700 coreconfigitem(
701 b'devel',
701 b'devel',
702 b'debug.copies',
702 b'debug.copies',
703 default=False,
703 default=False,
704 )
704 )
705 coreconfigitem(
705 coreconfigitem(
706 b'devel',
706 b'devel',
707 b'copy-tracing.multi-thread',
707 b'copy-tracing.multi-thread',
708 default=True,
708 default=True,
709 )
709 )
710 coreconfigitem(
710 coreconfigitem(
711 b'devel',
711 b'devel',
712 b'debug.extensions',
712 b'debug.extensions',
713 default=False,
713 default=False,
714 )
714 )
715 coreconfigitem(
715 coreconfigitem(
716 b'devel',
716 b'devel',
717 b'debug.repo-filters',
717 b'debug.repo-filters',
718 default=False,
718 default=False,
719 )
719 )
720 coreconfigitem(
720 coreconfigitem(
721 b'devel',
721 b'devel',
722 b'debug.peer-request',
722 b'debug.peer-request',
723 default=False,
723 default=False,
724 )
724 )
725 # If discovery.exchange-heads is False, the discovery will not start with
725 # If discovery.exchange-heads is False, the discovery will not start with
726 # remote head fetching and local head querying.
726 # remote head fetching and local head querying.
727 coreconfigitem(
727 coreconfigitem(
728 b'devel',
728 b'devel',
729 b'discovery.exchange-heads',
729 b'discovery.exchange-heads',
730 default=True,
730 default=True,
731 )
731 )
732 # If discovery.grow-sample is False, the sample size used in set discovery will
732 # If discovery.grow-sample is False, the sample size used in set discovery will
733 # not be increased through the process
733 # not be increased through the process
734 coreconfigitem(
734 coreconfigitem(
735 b'devel',
735 b'devel',
736 b'discovery.grow-sample',
736 b'discovery.grow-sample',
737 default=True,
737 default=True,
738 )
738 )
739 # When discovery.grow-sample.dynamic is True, the default, the sample size is
739 # When discovery.grow-sample.dynamic is True, the default, the sample size is
740 # adapted to the shape of the undecided set (it is set to the max of:
740 # adapted to the shape of the undecided set (it is set to the max of:
741 # <target-size>, len(roots(undecided)), len(heads(undecided)
741 # <target-size>, len(roots(undecided)), len(heads(undecided)
742 coreconfigitem(
742 coreconfigitem(
743 b'devel',
743 b'devel',
744 b'discovery.grow-sample.dynamic',
744 b'discovery.grow-sample.dynamic',
745 default=True,
745 default=True,
746 )
746 )
747 # discovery.grow-sample.rate control the rate at which the sample grow
747 # discovery.grow-sample.rate control the rate at which the sample grow
748 coreconfigitem(
748 coreconfigitem(
749 b'devel',
749 b'devel',
750 b'discovery.grow-sample.rate',
750 b'discovery.grow-sample.rate',
751 default=1.05,
751 default=1.05,
752 )
752 )
753 # If discovery.randomize is False, random sampling during discovery are
753 # If discovery.randomize is False, random sampling during discovery are
754 # deterministic. It is meant for integration tests.
754 # deterministic. It is meant for integration tests.
755 coreconfigitem(
755 coreconfigitem(
756 b'devel',
756 b'devel',
757 b'discovery.randomize',
757 b'discovery.randomize',
758 default=True,
758 default=True,
759 )
759 )
760 # Control the initial size of the discovery sample
760 # Control the initial size of the discovery sample
761 coreconfigitem(
761 coreconfigitem(
762 b'devel',
762 b'devel',
763 b'discovery.sample-size',
763 b'discovery.sample-size',
764 default=200,
764 default=200,
765 )
765 )
766 # Control the initial size of the discovery for initial change
766 # Control the initial size of the discovery for initial change
767 coreconfigitem(
767 coreconfigitem(
768 b'devel',
768 b'devel',
769 b'discovery.sample-size.initial',
769 b'discovery.sample-size.initial',
770 default=100,
770 default=100,
771 )
771 )
772 _registerdiffopts(section=b'diff')
772 _registerdiffopts(section=b'diff')
773 coreconfigitem(
773 coreconfigitem(
774 b'diff',
774 b'diff',
775 b'merge',
775 b'merge',
776 default=False,
776 default=False,
777 experimental=True,
777 experimental=True,
778 )
778 )
779 coreconfigitem(
779 coreconfigitem(
780 b'email',
780 b'email',
781 b'bcc',
781 b'bcc',
782 default=None,
782 default=None,
783 )
783 )
784 coreconfigitem(
784 coreconfigitem(
785 b'email',
785 b'email',
786 b'cc',
786 b'cc',
787 default=None,
787 default=None,
788 )
788 )
789 coreconfigitem(
789 coreconfigitem(
790 b'email',
790 b'email',
791 b'charsets',
791 b'charsets',
792 default=list,
792 default=list,
793 )
793 )
794 coreconfigitem(
794 coreconfigitem(
795 b'email',
795 b'email',
796 b'from',
796 b'from',
797 default=None,
797 default=None,
798 )
798 )
799 coreconfigitem(
799 coreconfigitem(
800 b'email',
800 b'email',
801 b'method',
801 b'method',
802 default=b'smtp',
802 default=b'smtp',
803 )
803 )
804 coreconfigitem(
804 coreconfigitem(
805 b'email',
805 b'email',
806 b'reply-to',
806 b'reply-to',
807 default=None,
807 default=None,
808 )
808 )
809 coreconfigitem(
809 coreconfigitem(
810 b'email',
810 b'email',
811 b'to',
811 b'to',
812 default=None,
812 default=None,
813 )
813 )
814 coreconfigitem(
814 coreconfigitem(
815 b'experimental',
815 b'experimental',
816 b'archivemetatemplate',
816 b'archivemetatemplate',
817 default=dynamicdefault,
817 default=dynamicdefault,
818 )
818 )
819 coreconfigitem(
819 coreconfigitem(
820 b'experimental',
820 b'experimental',
821 b'auto-publish',
821 b'auto-publish',
822 default=b'publish',
822 default=b'publish',
823 )
823 )
824 coreconfigitem(
824 coreconfigitem(
825 b'experimental',
825 b'experimental',
826 b'bundle-phases',
826 b'bundle-phases',
827 default=False,
827 default=False,
828 )
828 )
829 coreconfigitem(
829 coreconfigitem(
830 b'experimental',
830 b'experimental',
831 b'bundle2-advertise',
831 b'bundle2-advertise',
832 default=True,
832 default=True,
833 )
833 )
834 coreconfigitem(
834 coreconfigitem(
835 b'experimental',
835 b'experimental',
836 b'bundle2-output-capture',
836 b'bundle2-output-capture',
837 default=False,
837 default=False,
838 )
838 )
839 coreconfigitem(
839 coreconfigitem(
840 b'experimental',
840 b'experimental',
841 b'bundle2.pushback',
841 b'bundle2.pushback',
842 default=False,
842 default=False,
843 )
843 )
844 coreconfigitem(
844 coreconfigitem(
845 b'experimental',
845 b'experimental',
846 b'bundle2lazylocking',
846 b'bundle2lazylocking',
847 default=False,
847 default=False,
848 )
848 )
849 coreconfigitem(
849 coreconfigitem(
850 b'experimental',
850 b'experimental',
851 b'bundlecomplevel',
851 b'bundlecomplevel',
852 default=None,
852 default=None,
853 )
853 )
854 coreconfigitem(
854 coreconfigitem(
855 b'experimental',
855 b'experimental',
856 b'bundlecomplevel.bzip2',
856 b'bundlecomplevel.bzip2',
857 default=None,
857 default=None,
858 )
858 )
859 coreconfigitem(
859 coreconfigitem(
860 b'experimental',
860 b'experimental',
861 b'bundlecomplevel.gzip',
861 b'bundlecomplevel.gzip',
862 default=None,
862 default=None,
863 )
863 )
864 coreconfigitem(
864 coreconfigitem(
865 b'experimental',
865 b'experimental',
866 b'bundlecomplevel.none',
866 b'bundlecomplevel.none',
867 default=None,
867 default=None,
868 )
868 )
869 coreconfigitem(
869 coreconfigitem(
870 b'experimental',
870 b'experimental',
871 b'bundlecomplevel.zstd',
871 b'bundlecomplevel.zstd',
872 default=None,
872 default=None,
873 )
873 )
874 coreconfigitem(
874 coreconfigitem(
875 b'experimental',
875 b'experimental',
876 b'bundlecompthreads',
876 b'bundlecompthreads',
877 default=None,
877 default=None,
878 )
878 )
879 coreconfigitem(
879 coreconfigitem(
880 b'experimental',
880 b'experimental',
881 b'bundlecompthreads.bzip2',
881 b'bundlecompthreads.bzip2',
882 default=None,
882 default=None,
883 )
883 )
884 coreconfigitem(
884 coreconfigitem(
885 b'experimental',
885 b'experimental',
886 b'bundlecompthreads.gzip',
886 b'bundlecompthreads.gzip',
887 default=None,
887 default=None,
888 )
888 )
889 coreconfigitem(
889 coreconfigitem(
890 b'experimental',
890 b'experimental',
891 b'bundlecompthreads.none',
891 b'bundlecompthreads.none',
892 default=None,
892 default=None,
893 )
893 )
894 coreconfigitem(
894 coreconfigitem(
895 b'experimental',
895 b'experimental',
896 b'bundlecompthreads.zstd',
896 b'bundlecompthreads.zstd',
897 default=None,
897 default=None,
898 )
898 )
899 coreconfigitem(
899 coreconfigitem(
900 b'experimental',
900 b'experimental',
901 b'changegroup3',
901 b'changegroup3',
902 default=False,
902 default=False,
903 )
903 )
904 coreconfigitem(
904 coreconfigitem(
905 b'experimental',
905 b'experimental',
906 b'changegroup4',
906 b'changegroup4',
907 default=False,
907 default=False,
908 )
908 )
909 coreconfigitem(
909 coreconfigitem(
910 b'experimental',
910 b'experimental',
911 b'cleanup-as-archived',
911 b'cleanup-as-archived',
912 default=False,
912 default=False,
913 )
913 )
914 coreconfigitem(
914 coreconfigitem(
915 b'experimental',
915 b'experimental',
916 b'clientcompressionengines',
916 b'clientcompressionengines',
917 default=list,
917 default=list,
918 )
918 )
919 coreconfigitem(
919 coreconfigitem(
920 b'experimental',
920 b'experimental',
921 b'copytrace',
921 b'copytrace',
922 default=b'on',
922 default=b'on',
923 )
923 )
924 coreconfigitem(
924 coreconfigitem(
925 b'experimental',
925 b'experimental',
926 b'copytrace.movecandidateslimit',
926 b'copytrace.movecandidateslimit',
927 default=100,
927 default=100,
928 )
928 )
929 coreconfigitem(
929 coreconfigitem(
930 b'experimental',
930 b'experimental',
931 b'copytrace.sourcecommitlimit',
931 b'copytrace.sourcecommitlimit',
932 default=100,
932 default=100,
933 )
933 )
934 coreconfigitem(
934 coreconfigitem(
935 b'experimental',
935 b'experimental',
936 b'copies.read-from',
936 b'copies.read-from',
937 default=b"filelog-only",
937 default=b"filelog-only",
938 )
938 )
939 coreconfigitem(
939 coreconfigitem(
940 b'experimental',
940 b'experimental',
941 b'copies.write-to',
941 b'copies.write-to',
942 default=b'filelog-only',
942 default=b'filelog-only',
943 )
943 )
944 coreconfigitem(
944 coreconfigitem(
945 b'experimental',
945 b'experimental',
946 b'crecordtest',
946 b'crecordtest',
947 default=None,
947 default=None,
948 )
948 )
949 coreconfigitem(
949 coreconfigitem(
950 b'experimental',
950 b'experimental',
951 b'directaccess',
951 b'directaccess',
952 default=False,
952 default=False,
953 )
953 )
954 coreconfigitem(
954 coreconfigitem(
955 b'experimental',
955 b'experimental',
956 b'directaccess.revnums',
956 b'directaccess.revnums',
957 default=False,
957 default=False,
958 )
958 )
959 coreconfigitem(
959 coreconfigitem(
960 b'experimental',
960 b'experimental',
961 b'editortmpinhg',
961 b'editortmpinhg',
962 default=False,
962 default=False,
963 )
963 )
964 coreconfigitem(
964 coreconfigitem(
965 b'experimental',
965 b'experimental',
966 b'evolution',
966 b'evolution',
967 default=list,
967 default=list,
968 )
968 )
969 coreconfigitem(
969 coreconfigitem(
970 b'experimental',
970 b'experimental',
971 b'evolution.allowdivergence',
971 b'evolution.allowdivergence',
972 default=False,
972 default=False,
973 alias=[(b'experimental', b'allowdivergence')],
973 alias=[(b'experimental', b'allowdivergence')],
974 )
974 )
975 coreconfigitem(
975 coreconfigitem(
976 b'experimental',
976 b'experimental',
977 b'evolution.allowunstable',
977 b'evolution.allowunstable',
978 default=None,
978 default=None,
979 )
979 )
980 coreconfigitem(
980 coreconfigitem(
981 b'experimental',
981 b'experimental',
982 b'evolution.createmarkers',
982 b'evolution.createmarkers',
983 default=None,
983 default=None,
984 )
984 )
985 coreconfigitem(
985 coreconfigitem(
986 b'experimental',
986 b'experimental',
987 b'evolution.effect-flags',
987 b'evolution.effect-flags',
988 default=True,
988 default=True,
989 alias=[(b'experimental', b'effect-flags')],
989 alias=[(b'experimental', b'effect-flags')],
990 )
990 )
991 coreconfigitem(
991 coreconfigitem(
992 b'experimental',
992 b'experimental',
993 b'evolution.exchange',
993 b'evolution.exchange',
994 default=None,
994 default=None,
995 )
995 )
996 coreconfigitem(
996 coreconfigitem(
997 b'experimental',
997 b'experimental',
998 b'evolution.bundle-obsmarker',
998 b'evolution.bundle-obsmarker',
999 default=False,
999 default=False,
1000 )
1000 )
1001 coreconfigitem(
1001 coreconfigitem(
1002 b'experimental',
1002 b'experimental',
1003 b'evolution.bundle-obsmarker:mandatory',
1003 b'evolution.bundle-obsmarker:mandatory',
1004 default=True,
1004 default=True,
1005 )
1005 )
1006 coreconfigitem(
1006 coreconfigitem(
1007 b'experimental',
1007 b'experimental',
1008 b'log.topo',
1008 b'log.topo',
1009 default=False,
1009 default=False,
1010 )
1010 )
1011 coreconfigitem(
1011 coreconfigitem(
1012 b'experimental',
1012 b'experimental',
1013 b'evolution.report-instabilities',
1013 b'evolution.report-instabilities',
1014 default=True,
1014 default=True,
1015 )
1015 )
1016 coreconfigitem(
1016 coreconfigitem(
1017 b'experimental',
1017 b'experimental',
1018 b'evolution.track-operation',
1018 b'evolution.track-operation',
1019 default=True,
1019 default=True,
1020 )
1020 )
1021 # repo-level config to exclude a revset visibility
1021 # repo-level config to exclude a revset visibility
1022 #
1022 #
1023 # The target use case is to use `share` to expose different subset of the same
1023 # The target use case is to use `share` to expose different subset of the same
1024 # repository, especially server side. See also `server.view`.
1024 # repository, especially server side. See also `server.view`.
1025 coreconfigitem(
1025 coreconfigitem(
1026 b'experimental',
1026 b'experimental',
1027 b'extra-filter-revs',
1027 b'extra-filter-revs',
1028 default=None,
1028 default=None,
1029 )
1029 )
1030 coreconfigitem(
1030 coreconfigitem(
1031 b'experimental',
1031 b'experimental',
1032 b'maxdeltachainspan',
1032 b'maxdeltachainspan',
1033 default=-1,
1033 default=-1,
1034 )
1034 )
1035 # tracks files which were undeleted (merge might delete them but we explicitly
1035 # tracks files which were undeleted (merge might delete them but we explicitly
1036 # kept/undeleted them) and creates new filenodes for them
1036 # kept/undeleted them) and creates new filenodes for them
1037 coreconfigitem(
1037 coreconfigitem(
1038 b'experimental',
1038 b'experimental',
1039 b'merge-track-salvaged',
1039 b'merge-track-salvaged',
1040 default=False,
1040 default=False,
1041 )
1041 )
1042 coreconfigitem(
1042 coreconfigitem(
1043 b'experimental',
1043 b'experimental',
1044 b'mmapindexthreshold',
1044 b'mmapindexthreshold',
1045 default=None,
1045 default=None,
1046 )
1046 )
1047 coreconfigitem(
1047 coreconfigitem(
1048 b'experimental',
1048 b'experimental',
1049 b'narrow',
1049 b'narrow',
1050 default=False,
1050 default=False,
1051 )
1051 )
1052 coreconfigitem(
1052 coreconfigitem(
1053 b'experimental',
1053 b'experimental',
1054 b'nonnormalparanoidcheck',
1054 b'nonnormalparanoidcheck',
1055 default=False,
1055 default=False,
1056 )
1056 )
1057 coreconfigitem(
1057 coreconfigitem(
1058 b'experimental',
1058 b'experimental',
1059 b'exportableenviron',
1059 b'exportableenviron',
1060 default=list,
1060 default=list,
1061 )
1061 )
1062 coreconfigitem(
1062 coreconfigitem(
1063 b'experimental',
1063 b'experimental',
1064 b'extendedheader.index',
1064 b'extendedheader.index',
1065 default=None,
1065 default=None,
1066 )
1066 )
1067 coreconfigitem(
1067 coreconfigitem(
1068 b'experimental',
1068 b'experimental',
1069 b'extendedheader.similarity',
1069 b'extendedheader.similarity',
1070 default=False,
1070 default=False,
1071 )
1071 )
1072 coreconfigitem(
1072 coreconfigitem(
1073 b'experimental',
1073 b'experimental',
1074 b'graphshorten',
1074 b'graphshorten',
1075 default=False,
1075 default=False,
1076 )
1076 )
1077 coreconfigitem(
1077 coreconfigitem(
1078 b'experimental',
1078 b'experimental',
1079 b'graphstyle.parent',
1079 b'graphstyle.parent',
1080 default=dynamicdefault,
1080 default=dynamicdefault,
1081 )
1081 )
1082 coreconfigitem(
1082 coreconfigitem(
1083 b'experimental',
1083 b'experimental',
1084 b'graphstyle.missing',
1084 b'graphstyle.missing',
1085 default=dynamicdefault,
1085 default=dynamicdefault,
1086 )
1086 )
1087 coreconfigitem(
1087 coreconfigitem(
1088 b'experimental',
1088 b'experimental',
1089 b'graphstyle.grandparent',
1089 b'graphstyle.grandparent',
1090 default=dynamicdefault,
1090 default=dynamicdefault,
1091 )
1091 )
1092 coreconfigitem(
1092 coreconfigitem(
1093 b'experimental',
1093 b'experimental',
1094 b'hook-track-tags',
1094 b'hook-track-tags',
1095 default=False,
1095 default=False,
1096 )
1096 )
1097 coreconfigitem(
1097 coreconfigitem(
1098 b'experimental',
1098 b'experimental',
1099 b'httppostargs',
1099 b'httppostargs',
1100 default=False,
1100 default=False,
1101 )
1101 )
1102 coreconfigitem(b'experimental', b'nointerrupt', default=False)
1102 coreconfigitem(b'experimental', b'nointerrupt', default=False)
1103 coreconfigitem(b'experimental', b'nointerrupt-interactiveonly', default=True)
1103 coreconfigitem(b'experimental', b'nointerrupt-interactiveonly', default=True)
1104
1104
1105 coreconfigitem(
1105 coreconfigitem(
1106 b'experimental',
1106 b'experimental',
1107 b'obsmarkers-exchange-debug',
1107 b'obsmarkers-exchange-debug',
1108 default=False,
1108 default=False,
1109 )
1109 )
1110 coreconfigitem(
1110 coreconfigitem(
1111 b'experimental',
1111 b'experimental',
1112 b'remotenames',
1112 b'remotenames',
1113 default=False,
1113 default=False,
1114 )
1114 )
1115 coreconfigitem(
1115 coreconfigitem(
1116 b'experimental',
1116 b'experimental',
1117 b'removeemptydirs',
1117 b'removeemptydirs',
1118 default=True,
1118 default=True,
1119 )
1119 )
1120 coreconfigitem(
1120 coreconfigitem(
1121 b'experimental',
1121 b'experimental',
1122 b'revert.interactive.select-to-keep',
1122 b'revert.interactive.select-to-keep',
1123 default=False,
1123 default=False,
1124 )
1124 )
1125 coreconfigitem(
1125 coreconfigitem(
1126 b'experimental',
1126 b'experimental',
1127 b'revisions.prefixhexnode',
1127 b'revisions.prefixhexnode',
1128 default=False,
1128 default=False,
1129 )
1129 )
1130 # "out of experimental" todo list.
1130 # "out of experimental" todo list.
1131 #
1131 #
1132 # * include management of a persistent nodemap in the main docket
1132 # * include management of a persistent nodemap in the main docket
1133 # * enforce a "no-truncate" policy for mmap safety
1133 # * enforce a "no-truncate" policy for mmap safety
1134 # - for censoring operation
1134 # - for censoring operation
1135 # - for stripping operation
1135 # - for stripping operation
1136 # - for rollback operation
1136 # - for rollback operation
1137 # * proper streaming (race free) of the docket file
1137 # * proper streaming (race free) of the docket file
1138 # * track garbage data to evemtually allow rewriting -existing- sidedata.
1138 # * track garbage data to evemtually allow rewriting -existing- sidedata.
1139 # * Exchange-wise, we will also need to do something more efficient than
1139 # * Exchange-wise, we will also need to do something more efficient than
1140 # keeping references to the affected revlogs, especially memory-wise when
1140 # keeping references to the affected revlogs, especially memory-wise when
1141 # rewriting sidedata.
1141 # rewriting sidedata.
1142 # * introduce a proper solution to reduce the number of filelog related files.
1142 # * introduce a proper solution to reduce the number of filelog related files.
1143 # * use caching for reading sidedata (similar to what we do for data).
1143 # * use caching for reading sidedata (similar to what we do for data).
1144 # * no longer set offset=0 if sidedata_size=0 (simplify cutoff computation).
1144 # * no longer set offset=0 if sidedata_size=0 (simplify cutoff computation).
1145 # * Improvement to consider
1145 # * Improvement to consider
1146 # - avoid compression header in chunk using the default compression?
1146 # - avoid compression header in chunk using the default compression?
1147 # - forbid "inline" compression mode entirely?
1147 # - forbid "inline" compression mode entirely?
1148 # - split the data offset and flag field (the 2 bytes save are mostly trouble)
1148 # - split the data offset and flag field (the 2 bytes save are mostly trouble)
1149 # - keep track of uncompressed -chunk- size (to preallocate memory better)
1149 # - keep track of uncompressed -chunk- size (to preallocate memory better)
1150 # - keep track of chain base or size (probably not that useful anymore)
1150 # - keep track of chain base or size (probably not that useful anymore)
1151 coreconfigitem(
1151 coreconfigitem(
1152 b'experimental',
1152 b'experimental',
1153 b'revlogv2',
1153 b'revlogv2',
1154 default=None,
1154 default=None,
1155 )
1155 )
1156 coreconfigitem(
1156 coreconfigitem(
1157 b'experimental',
1157 b'experimental',
1158 b'revisions.disambiguatewithin',
1158 b'revisions.disambiguatewithin',
1159 default=None,
1159 default=None,
1160 )
1160 )
1161 coreconfigitem(
1161 coreconfigitem(
1162 b'experimental',
1162 b'experimental',
1163 b'rust.index',
1163 b'rust.index',
1164 default=False,
1164 default=False,
1165 )
1165 )
1166 coreconfigitem(
1166 coreconfigitem(
1167 b'experimental',
1167 b'experimental',
1168 b'server.filesdata.recommended-batch-size',
1168 b'server.filesdata.recommended-batch-size',
1169 default=50000,
1169 default=50000,
1170 )
1170 )
1171 coreconfigitem(
1171 coreconfigitem(
1172 b'experimental',
1172 b'experimental',
1173 b'server.manifestdata.recommended-batch-size',
1173 b'server.manifestdata.recommended-batch-size',
1174 default=100000,
1174 default=100000,
1175 )
1175 )
1176 coreconfigitem(
1176 coreconfigitem(
1177 b'experimental',
1177 b'experimental',
1178 b'server.stream-narrow-clones',
1178 b'server.stream-narrow-clones',
1179 default=False,
1179 default=False,
1180 )
1180 )
1181 coreconfigitem(
1181 coreconfigitem(
1182 b'experimental',
1182 b'experimental',
1183 b'single-head-per-branch',
1183 b'single-head-per-branch',
1184 default=False,
1184 default=False,
1185 )
1185 )
1186 coreconfigitem(
1186 coreconfigitem(
1187 b'experimental',
1187 b'experimental',
1188 b'single-head-per-branch:account-closed-heads',
1188 b'single-head-per-branch:account-closed-heads',
1189 default=False,
1189 default=False,
1190 )
1190 )
1191 coreconfigitem(
1191 coreconfigitem(
1192 b'experimental',
1192 b'experimental',
1193 b'single-head-per-branch:public-changes-only',
1193 b'single-head-per-branch:public-changes-only',
1194 default=False,
1194 default=False,
1195 )
1195 )
1196 coreconfigitem(
1196 coreconfigitem(
1197 b'experimental',
1197 b'experimental',
1198 b'sparse-read',
1198 b'sparse-read',
1199 default=False,
1199 default=False,
1200 )
1200 )
1201 coreconfigitem(
1201 coreconfigitem(
1202 b'experimental',
1202 b'experimental',
1203 b'sparse-read.density-threshold',
1203 b'sparse-read.density-threshold',
1204 default=0.50,
1204 default=0.50,
1205 )
1205 )
1206 coreconfigitem(
1206 coreconfigitem(
1207 b'experimental',
1207 b'experimental',
1208 b'sparse-read.min-gap-size',
1208 b'sparse-read.min-gap-size',
1209 default=b'65K',
1209 default=b'65K',
1210 )
1210 )
1211 coreconfigitem(
1211 coreconfigitem(
1212 b'experimental',
1212 b'experimental',
1213 b'treemanifest',
1213 b'treemanifest',
1214 default=False,
1214 default=False,
1215 )
1215 )
1216 coreconfigitem(
1216 coreconfigitem(
1217 b'experimental',
1217 b'experimental',
1218 b'update.atomic-file',
1218 b'update.atomic-file',
1219 default=False,
1219 default=False,
1220 )
1220 )
1221 coreconfigitem(
1221 coreconfigitem(
1222 b'experimental',
1222 b'experimental',
1223 b'web.full-garbage-collection-rate',
1223 b'web.full-garbage-collection-rate',
1224 default=1, # still forcing a full collection on each request
1224 default=1, # still forcing a full collection on each request
1225 )
1225 )
1226 coreconfigitem(
1226 coreconfigitem(
1227 b'experimental',
1227 b'experimental',
1228 b'worker.wdir-get-thread-safe',
1228 b'worker.wdir-get-thread-safe',
1229 default=False,
1229 default=False,
1230 )
1230 )
1231 coreconfigitem(
1231 coreconfigitem(
1232 b'experimental',
1232 b'experimental',
1233 b'worker.repository-upgrade',
1233 b'worker.repository-upgrade',
1234 default=False,
1234 default=False,
1235 )
1235 )
1236 coreconfigitem(
1236 coreconfigitem(
1237 b'experimental',
1237 b'experimental',
1238 b'xdiff',
1238 b'xdiff',
1239 default=False,
1239 default=False,
1240 )
1240 )
1241 coreconfigitem(
1241 coreconfigitem(
1242 b'extensions',
1242 b'extensions',
1243 b'[^:]*',
1243 b'[^:]*',
1244 default=None,
1244 default=None,
1245 generic=True,
1245 generic=True,
1246 )
1246 )
1247 coreconfigitem(
1247 coreconfigitem(
1248 b'extensions',
1248 b'extensions',
1249 b'[^:]*:required',
1249 b'[^:]*:required',
1250 default=False,
1250 default=False,
1251 generic=True,
1251 generic=True,
1252 )
1252 )
1253 coreconfigitem(
1253 coreconfigitem(
1254 b'extdata',
1254 b'extdata',
1255 b'.*',
1255 b'.*',
1256 default=None,
1256 default=None,
1257 generic=True,
1257 generic=True,
1258 )
1258 )
1259 coreconfigitem(
1259 coreconfigitem(
1260 b'format',
1260 b'format',
1261 b'bookmarks-in-store',
1261 b'bookmarks-in-store',
1262 default=False,
1262 default=False,
1263 )
1263 )
1264 coreconfigitem(
1264 coreconfigitem(
1265 b'format',
1265 b'format',
1266 b'chunkcachesize',
1266 b'chunkcachesize',
1267 default=None,
1267 default=None,
1268 experimental=True,
1268 experimental=True,
1269 )
1269 )
1270 coreconfigitem(
1270 coreconfigitem(
1271 # Enable this dirstate format *when creating a new repository*.
1271 # Enable this dirstate format *when creating a new repository*.
1272 # Which format to use for existing repos is controlled by .hg/requires
1272 # Which format to use for existing repos is controlled by .hg/requires
1273 b'format',
1273 b'format',
1274 b'use-dirstate-v2',
1274 b'use-dirstate-v2',
1275 default=False,
1275 default=False,
1276 experimental=True,
1276 experimental=True,
1277 alias=[(b'format', b'exp-rc-dirstate-v2')],
1277 alias=[(b'format', b'exp-rc-dirstate-v2')],
1278 )
1278 )
1279 coreconfigitem(
1279 coreconfigitem(
1280 b'format',
1280 b'format',
1281 b'use-dirstate-tracked-hint',
1281 b'use-dirstate-tracked-hint',
1282 default=False,
1282 default=False,
1283 experimental=True,
1283 experimental=True,
1284 )
1284 )
1285 coreconfigitem(
1285 coreconfigitem(
1286 b'format',
1286 b'format',
1287 b'use-dirstate-tracked-hint.version',
1287 b'use-dirstate-tracked-hint.version',
1288 default=1,
1288 default=1,
1289 experimental=True,
1289 experimental=True,
1290 )
1290 )
1291 coreconfigitem(
1291 coreconfigitem(
1292 b'format',
1292 b'format',
1293 b'dotencode',
1293 b'dotencode',
1294 default=True,
1294 default=True,
1295 )
1295 )
1296 coreconfigitem(
1296 coreconfigitem(
1297 b'format',
1297 b'format',
1298 b'generaldelta',
1298 b'generaldelta',
1299 default=False,
1299 default=False,
1300 experimental=True,
1300 experimental=True,
1301 )
1301 )
1302 coreconfigitem(
1302 coreconfigitem(
1303 b'format',
1303 b'format',
1304 b'manifestcachesize',
1304 b'manifestcachesize',
1305 default=None,
1305 default=None,
1306 experimental=True,
1306 experimental=True,
1307 )
1307 )
1308 coreconfigitem(
1308 coreconfigitem(
1309 b'format',
1309 b'format',
1310 b'maxchainlen',
1310 b'maxchainlen',
1311 default=dynamicdefault,
1311 default=dynamicdefault,
1312 experimental=True,
1312 experimental=True,
1313 )
1313 )
1314 coreconfigitem(
1314 coreconfigitem(
1315 b'format',
1315 b'format',
1316 b'obsstore-version',
1316 b'obsstore-version',
1317 default=None,
1317 default=None,
1318 )
1318 )
1319 coreconfigitem(
1319 coreconfigitem(
1320 b'format',
1320 b'format',
1321 b'sparse-revlog',
1321 b'sparse-revlog',
1322 default=True,
1322 default=True,
1323 )
1323 )
1324 coreconfigitem(
1324 coreconfigitem(
1325 b'format',
1325 b'format',
1326 b'revlog-compression',
1326 b'revlog-compression',
1327 default=lambda: [b'zstd', b'zlib'],
1327 default=lambda: [b'zstd', b'zlib'],
1328 alias=[(b'experimental', b'format.compression')],
1328 alias=[(b'experimental', b'format.compression')],
1329 )
1329 )
1330 # Experimental TODOs:
1330 # Experimental TODOs:
1331 #
1331 #
1332 # * Same as for revlogv2 (but for the reduction of the number of files)
1332 # * Same as for revlogv2 (but for the reduction of the number of files)
1333 # * Actually computing the rank of changesets
1333 # * Actually computing the rank of changesets
1334 # * Improvement to investigate
1334 # * Improvement to investigate
1335 # - storing .hgtags fnode
1335 # - storing .hgtags fnode
1336 # - storing branch related identifier
1336 # - storing branch related identifier
1337
1337
1338 coreconfigitem(
1338 coreconfigitem(
1339 b'format',
1339 b'format',
1340 b'exp-use-changelog-v2',
1340 b'exp-use-changelog-v2',
1341 default=None,
1341 default=None,
1342 experimental=True,
1342 experimental=True,
1343 )
1343 )
1344 coreconfigitem(
1344 coreconfigitem(
1345 b'format',
1345 b'format',
1346 b'usefncache',
1346 b'usefncache',
1347 default=True,
1347 default=True,
1348 )
1348 )
1349 coreconfigitem(
1349 coreconfigitem(
1350 b'format',
1350 b'format',
1351 b'usegeneraldelta',
1351 b'usegeneraldelta',
1352 default=True,
1352 default=True,
1353 )
1353 )
1354 coreconfigitem(
1354 coreconfigitem(
1355 b'format',
1355 b'format',
1356 b'usestore',
1356 b'usestore',
1357 default=True,
1357 default=True,
1358 )
1358 )
1359
1359
1360
1360
1361 def _persistent_nodemap_default():
1361 def _persistent_nodemap_default():
1362 """compute `use-persistent-nodemap` default value
1362 """compute `use-persistent-nodemap` default value
1363
1363
1364 The feature is disabled unless a fast implementation is available.
1364 The feature is disabled unless a fast implementation is available.
1365 """
1365 """
1366 from . import policy
1366 from . import policy
1367
1367
1368 return policy.importrust('revlog') is not None
1368 return policy.importrust('revlog') is not None
1369
1369
1370
1370
1371 coreconfigitem(
1371 coreconfigitem(
1372 b'format',
1372 b'format',
1373 b'use-persistent-nodemap',
1373 b'use-persistent-nodemap',
1374 default=_persistent_nodemap_default,
1374 default=_persistent_nodemap_default,
1375 )
1375 )
1376 coreconfigitem(
1376 coreconfigitem(
1377 b'format',
1377 b'format',
1378 b'exp-use-copies-side-data-changeset',
1378 b'exp-use-copies-side-data-changeset',
1379 default=False,
1379 default=False,
1380 experimental=True,
1380 experimental=True,
1381 )
1381 )
1382 coreconfigitem(
1382 coreconfigitem(
1383 b'format',
1383 b'format',
1384 b'use-share-safe',
1384 b'use-share-safe',
1385 default=True,
1385 default=True,
1386 )
1386 )
1387 coreconfigitem(
1387 coreconfigitem(
1388 b'format',
1388 b'format',
1389 b'internal-phase',
1389 b'internal-phase',
1390 default=False,
1390 default=False,
1391 experimental=True,
1391 experimental=True,
1392 )
1392 )
1393 coreconfigitem(
1393 coreconfigitem(
1394 b'fsmonitor',
1394 b'fsmonitor',
1395 b'warn_when_unused',
1395 b'warn_when_unused',
1396 default=True,
1396 default=True,
1397 )
1397 )
1398 coreconfigitem(
1398 coreconfigitem(
1399 b'fsmonitor',
1399 b'fsmonitor',
1400 b'warn_update_file_count',
1400 b'warn_update_file_count',
1401 default=50000,
1401 default=50000,
1402 )
1402 )
1403 coreconfigitem(
1403 coreconfigitem(
1404 b'fsmonitor',
1404 b'fsmonitor',
1405 b'warn_update_file_count_rust',
1405 b'warn_update_file_count_rust',
1406 default=400000,
1406 default=400000,
1407 )
1407 )
1408 coreconfigitem(
1408 coreconfigitem(
1409 b'help',
1409 b'help',
1410 br'hidden-command\..*',
1410 br'hidden-command\..*',
1411 default=False,
1411 default=False,
1412 generic=True,
1412 generic=True,
1413 )
1413 )
1414 coreconfigitem(
1414 coreconfigitem(
1415 b'help',
1415 b'help',
1416 br'hidden-topic\..*',
1416 br'hidden-topic\..*',
1417 default=False,
1417 default=False,
1418 generic=True,
1418 generic=True,
1419 )
1419 )
1420 coreconfigitem(
1420 coreconfigitem(
1421 b'hooks',
1421 b'hooks',
1422 b'[^:]*',
1422 b'[^:]*',
1423 default=dynamicdefault,
1423 default=dynamicdefault,
1424 generic=True,
1424 generic=True,
1425 )
1425 )
1426 coreconfigitem(
1426 coreconfigitem(
1427 b'hooks',
1427 b'hooks',
1428 b'.*:run-with-plain',
1428 b'.*:run-with-plain',
1429 default=True,
1429 default=True,
1430 generic=True,
1430 generic=True,
1431 )
1431 )
1432 coreconfigitem(
1432 coreconfigitem(
1433 b'hgweb-paths',
1433 b'hgweb-paths',
1434 b'.*',
1434 b'.*',
1435 default=list,
1435 default=list,
1436 generic=True,
1436 generic=True,
1437 )
1437 )
1438 coreconfigitem(
1438 coreconfigitem(
1439 b'hostfingerprints',
1439 b'hostfingerprints',
1440 b'.*',
1440 b'.*',
1441 default=list,
1441 default=list,
1442 generic=True,
1442 generic=True,
1443 )
1443 )
1444 coreconfigitem(
1444 coreconfigitem(
1445 b'hostsecurity',
1445 b'hostsecurity',
1446 b'ciphers',
1446 b'ciphers',
1447 default=None,
1447 default=None,
1448 )
1448 )
1449 coreconfigitem(
1449 coreconfigitem(
1450 b'hostsecurity',
1450 b'hostsecurity',
1451 b'minimumprotocol',
1451 b'minimumprotocol',
1452 default=dynamicdefault,
1452 default=dynamicdefault,
1453 )
1453 )
1454 coreconfigitem(
1454 coreconfigitem(
1455 b'hostsecurity',
1455 b'hostsecurity',
1456 b'.*:minimumprotocol$',
1456 b'.*:minimumprotocol$',
1457 default=dynamicdefault,
1457 default=dynamicdefault,
1458 generic=True,
1458 generic=True,
1459 )
1459 )
1460 coreconfigitem(
1460 coreconfigitem(
1461 b'hostsecurity',
1461 b'hostsecurity',
1462 b'.*:ciphers$',
1462 b'.*:ciphers$',
1463 default=dynamicdefault,
1463 default=dynamicdefault,
1464 generic=True,
1464 generic=True,
1465 )
1465 )
1466 coreconfigitem(
1466 coreconfigitem(
1467 b'hostsecurity',
1467 b'hostsecurity',
1468 b'.*:fingerprints$',
1468 b'.*:fingerprints$',
1469 default=list,
1469 default=list,
1470 generic=True,
1470 generic=True,
1471 )
1471 )
1472 coreconfigitem(
1472 coreconfigitem(
1473 b'hostsecurity',
1473 b'hostsecurity',
1474 b'.*:verifycertsfile$',
1474 b'.*:verifycertsfile$',
1475 default=None,
1475 default=None,
1476 generic=True,
1476 generic=True,
1477 )
1477 )
1478
1478
1479 coreconfigitem(
1479 coreconfigitem(
1480 b'http_proxy',
1480 b'http_proxy',
1481 b'always',
1481 b'always',
1482 default=False,
1482 default=False,
1483 )
1483 )
1484 coreconfigitem(
1484 coreconfigitem(
1485 b'http_proxy',
1485 b'http_proxy',
1486 b'host',
1486 b'host',
1487 default=None,
1487 default=None,
1488 )
1488 )
1489 coreconfigitem(
1489 coreconfigitem(
1490 b'http_proxy',
1490 b'http_proxy',
1491 b'no',
1491 b'no',
1492 default=list,
1492 default=list,
1493 )
1493 )
1494 coreconfigitem(
1494 coreconfigitem(
1495 b'http_proxy',
1495 b'http_proxy',
1496 b'passwd',
1496 b'passwd',
1497 default=None,
1497 default=None,
1498 )
1498 )
1499 coreconfigitem(
1499 coreconfigitem(
1500 b'http_proxy',
1500 b'http_proxy',
1501 b'user',
1501 b'user',
1502 default=None,
1502 default=None,
1503 )
1503 )
1504
1504
1505 coreconfigitem(
1505 coreconfigitem(
1506 b'http',
1506 b'http',
1507 b'timeout',
1507 b'timeout',
1508 default=None,
1508 default=None,
1509 )
1509 )
1510
1510
1511 coreconfigitem(
1511 coreconfigitem(
1512 b'logtoprocess',
1512 b'logtoprocess',
1513 b'commandexception',
1513 b'commandexception',
1514 default=None,
1514 default=None,
1515 )
1515 )
1516 coreconfigitem(
1516 coreconfigitem(
1517 b'logtoprocess',
1517 b'logtoprocess',
1518 b'commandfinish',
1518 b'commandfinish',
1519 default=None,
1519 default=None,
1520 )
1520 )
1521 coreconfigitem(
1521 coreconfigitem(
1522 b'logtoprocess',
1522 b'logtoprocess',
1523 b'command',
1523 b'command',
1524 default=None,
1524 default=None,
1525 )
1525 )
1526 coreconfigitem(
1526 coreconfigitem(
1527 b'logtoprocess',
1527 b'logtoprocess',
1528 b'develwarn',
1528 b'develwarn',
1529 default=None,
1529 default=None,
1530 )
1530 )
1531 coreconfigitem(
1531 coreconfigitem(
1532 b'logtoprocess',
1532 b'logtoprocess',
1533 b'uiblocked',
1533 b'uiblocked',
1534 default=None,
1534 default=None,
1535 )
1535 )
1536 coreconfigitem(
1536 coreconfigitem(
1537 b'merge',
1537 b'merge',
1538 b'checkunknown',
1538 b'checkunknown',
1539 default=b'abort',
1539 default=b'abort',
1540 )
1540 )
1541 coreconfigitem(
1541 coreconfigitem(
1542 b'merge',
1542 b'merge',
1543 b'checkignored',
1543 b'checkignored',
1544 default=b'abort',
1544 default=b'abort',
1545 )
1545 )
1546 coreconfigitem(
1546 coreconfigitem(
1547 b'experimental',
1547 b'experimental',
1548 b'merge.checkpathconflicts',
1548 b'merge.checkpathconflicts',
1549 default=False,
1549 default=False,
1550 )
1550 )
1551 coreconfigitem(
1551 coreconfigitem(
1552 b'merge',
1552 b'merge',
1553 b'followcopies',
1553 b'followcopies',
1554 default=True,
1554 default=True,
1555 )
1555 )
1556 coreconfigitem(
1556 coreconfigitem(
1557 b'merge',
1557 b'merge',
1558 b'on-failure',
1558 b'on-failure',
1559 default=b'continue',
1559 default=b'continue',
1560 )
1560 )
1561 coreconfigitem(
1561 coreconfigitem(
1562 b'merge',
1562 b'merge',
1563 b'preferancestor',
1563 b'preferancestor',
1564 default=lambda: [b'*'],
1564 default=lambda: [b'*'],
1565 experimental=True,
1565 experimental=True,
1566 )
1566 )
1567 coreconfigitem(
1567 coreconfigitem(
1568 b'merge',
1568 b'merge',
1569 b'strict-capability-check',
1569 b'strict-capability-check',
1570 default=False,
1570 default=False,
1571 )
1571 )
1572 coreconfigitem(
1572 coreconfigitem(
1573 b'partial-merge-tools',
1573 b'partial-merge-tools',
1574 b'.*',
1574 b'.*',
1575 default=None,
1575 default=None,
1576 generic=True,
1576 generic=True,
1577 experimental=True,
1577 experimental=True,
1578 )
1578 )
1579 coreconfigitem(
1579 coreconfigitem(
1580 b'partial-merge-tools',
1580 b'partial-merge-tools',
1581 br'.*\.patterns',
1581 br'.*\.patterns',
1582 default=dynamicdefault,
1582 default=dynamicdefault,
1583 generic=True,
1583 generic=True,
1584 priority=-1,
1584 priority=-1,
1585 experimental=True,
1585 experimental=True,
1586 )
1586 )
1587 coreconfigitem(
1587 coreconfigitem(
1588 b'partial-merge-tools',
1588 b'partial-merge-tools',
1589 br'.*\.executable$',
1589 br'.*\.executable$',
1590 default=dynamicdefault,
1590 default=dynamicdefault,
1591 generic=True,
1591 generic=True,
1592 priority=-1,
1592 priority=-1,
1593 experimental=True,
1593 experimental=True,
1594 )
1594 )
1595 coreconfigitem(
1595 coreconfigitem(
1596 b'partial-merge-tools',
1596 b'partial-merge-tools',
1597 br'.*\.order',
1597 br'.*\.order',
1598 default=0,
1598 default=0,
1599 generic=True,
1599 generic=True,
1600 priority=-1,
1600 priority=-1,
1601 experimental=True,
1601 experimental=True,
1602 )
1602 )
1603 coreconfigitem(
1603 coreconfigitem(
1604 b'partial-merge-tools',
1604 b'partial-merge-tools',
1605 br'.*\.args',
1605 br'.*\.args',
1606 default=b"$local $base $other",
1606 default=b"$local $base $other",
1607 generic=True,
1607 generic=True,
1608 priority=-1,
1608 priority=-1,
1609 experimental=True,
1609 experimental=True,
1610 )
1610 )
1611 coreconfigitem(
1611 coreconfigitem(
1612 b'merge-tools',
1612 b'merge-tools',
1613 b'.*',
1613 b'.*',
1614 default=None,
1614 default=None,
1615 generic=True,
1615 generic=True,
1616 )
1616 )
1617 coreconfigitem(
1617 coreconfigitem(
1618 b'merge-tools',
1618 b'merge-tools',
1619 br'.*\.args$',
1619 br'.*\.args$',
1620 default=b"$local $base $other",
1620 default=b"$local $base $other",
1621 generic=True,
1621 generic=True,
1622 priority=-1,
1622 priority=-1,
1623 )
1623 )
1624 coreconfigitem(
1624 coreconfigitem(
1625 b'merge-tools',
1625 b'merge-tools',
1626 br'.*\.binary$',
1626 br'.*\.binary$',
1627 default=False,
1627 default=False,
1628 generic=True,
1628 generic=True,
1629 priority=-1,
1629 priority=-1,
1630 )
1630 )
1631 coreconfigitem(
1631 coreconfigitem(
1632 b'merge-tools',
1632 b'merge-tools',
1633 br'.*\.check$',
1633 br'.*\.check$',
1634 default=list,
1634 default=list,
1635 generic=True,
1635 generic=True,
1636 priority=-1,
1636 priority=-1,
1637 )
1637 )
1638 coreconfigitem(
1638 coreconfigitem(
1639 b'merge-tools',
1639 b'merge-tools',
1640 br'.*\.checkchanged$',
1640 br'.*\.checkchanged$',
1641 default=False,
1641 default=False,
1642 generic=True,
1642 generic=True,
1643 priority=-1,
1643 priority=-1,
1644 )
1644 )
1645 coreconfigitem(
1645 coreconfigitem(
1646 b'merge-tools',
1646 b'merge-tools',
1647 br'.*\.executable$',
1647 br'.*\.executable$',
1648 default=dynamicdefault,
1648 default=dynamicdefault,
1649 generic=True,
1649 generic=True,
1650 priority=-1,
1650 priority=-1,
1651 )
1651 )
1652 coreconfigitem(
1652 coreconfigitem(
1653 b'merge-tools',
1653 b'merge-tools',
1654 br'.*\.fixeol$',
1654 br'.*\.fixeol$',
1655 default=False,
1655 default=False,
1656 generic=True,
1656 generic=True,
1657 priority=-1,
1657 priority=-1,
1658 )
1658 )
1659 coreconfigitem(
1659 coreconfigitem(
1660 b'merge-tools',
1660 b'merge-tools',
1661 br'.*\.gui$',
1661 br'.*\.gui$',
1662 default=False,
1662 default=False,
1663 generic=True,
1663 generic=True,
1664 priority=-1,
1664 priority=-1,
1665 )
1665 )
1666 coreconfigitem(
1666 coreconfigitem(
1667 b'merge-tools',
1667 b'merge-tools',
1668 br'.*\.mergemarkers$',
1668 br'.*\.mergemarkers$',
1669 default=b'basic',
1669 default=b'basic',
1670 generic=True,
1670 generic=True,
1671 priority=-1,
1671 priority=-1,
1672 )
1672 )
1673 coreconfigitem(
1673 coreconfigitem(
1674 b'merge-tools',
1674 b'merge-tools',
1675 br'.*\.mergemarkertemplate$',
1675 br'.*\.mergemarkertemplate$',
1676 default=dynamicdefault, # take from command-templates.mergemarker
1676 default=dynamicdefault, # take from command-templates.mergemarker
1677 generic=True,
1677 generic=True,
1678 priority=-1,
1678 priority=-1,
1679 )
1679 )
1680 coreconfigitem(
1680 coreconfigitem(
1681 b'merge-tools',
1681 b'merge-tools',
1682 br'.*\.priority$',
1682 br'.*\.priority$',
1683 default=0,
1683 default=0,
1684 generic=True,
1684 generic=True,
1685 priority=-1,
1685 priority=-1,
1686 )
1686 )
1687 coreconfigitem(
1687 coreconfigitem(
1688 b'merge-tools',
1688 b'merge-tools',
1689 br'.*\.premerge$',
1689 br'.*\.premerge$',
1690 default=dynamicdefault,
1690 default=dynamicdefault,
1691 generic=True,
1691 generic=True,
1692 priority=-1,
1692 priority=-1,
1693 )
1693 )
1694 coreconfigitem(
1694 coreconfigitem(
1695 b'merge-tools',
1695 b'merge-tools',
1696 br'.*\.symlink$',
1696 br'.*\.symlink$',
1697 default=False,
1697 default=False,
1698 generic=True,
1698 generic=True,
1699 priority=-1,
1699 priority=-1,
1700 )
1700 )
1701 coreconfigitem(
1701 coreconfigitem(
1702 b'pager',
1702 b'pager',
1703 b'attend-.*',
1703 b'attend-.*',
1704 default=dynamicdefault,
1704 default=dynamicdefault,
1705 generic=True,
1705 generic=True,
1706 )
1706 )
1707 coreconfigitem(
1707 coreconfigitem(
1708 b'pager',
1708 b'pager',
1709 b'ignore',
1709 b'ignore',
1710 default=list,
1710 default=list,
1711 )
1711 )
1712 coreconfigitem(
1712 coreconfigitem(
1713 b'pager',
1713 b'pager',
1714 b'pager',
1714 b'pager',
1715 default=dynamicdefault,
1715 default=dynamicdefault,
1716 )
1716 )
1717 coreconfigitem(
1717 coreconfigitem(
1718 b'patch',
1718 b'patch',
1719 b'eol',
1719 b'eol',
1720 default=b'strict',
1720 default=b'strict',
1721 )
1721 )
1722 coreconfigitem(
1722 coreconfigitem(
1723 b'patch',
1723 b'patch',
1724 b'fuzz',
1724 b'fuzz',
1725 default=2,
1725 default=2,
1726 )
1726 )
1727 coreconfigitem(
1727 coreconfigitem(
1728 b'paths',
1728 b'paths',
1729 b'default',
1729 b'default',
1730 default=None,
1730 default=None,
1731 )
1731 )
1732 coreconfigitem(
1732 coreconfigitem(
1733 b'paths',
1733 b'paths',
1734 b'default-push',
1734 b'default-push',
1735 default=None,
1735 default=None,
1736 )
1736 )
1737 coreconfigitem(
1737 coreconfigitem(
1738 b'paths',
1738 b'paths',
1739 b'.*',
1739 b'.*',
1740 default=None,
1740 default=None,
1741 generic=True,
1741 generic=True,
1742 )
1742 )
1743 coreconfigitem(
1743 coreconfigitem(
1744 b'paths',
1744 b'paths',
1745 b'.*:bookmarks.mode',
1745 b'.*:bookmarks.mode',
1746 default='default',
1746 default='default',
1747 generic=True,
1747 generic=True,
1748 )
1748 )
1749 coreconfigitem(
1749 coreconfigitem(
1750 b'paths',
1750 b'paths',
1751 b'.*:multi-urls',
1751 b'.*:multi-urls',
1752 default=False,
1752 default=False,
1753 generic=True,
1753 generic=True,
1754 )
1754 )
1755 coreconfigitem(
1755 coreconfigitem(
1756 b'paths',
1757 b'.*:pushrev',
1758 default=None,
1759 generic=True,
1760 )
1761 coreconfigitem(
1756 b'phases',
1762 b'phases',
1757 b'checksubrepos',
1763 b'checksubrepos',
1758 default=b'follow',
1764 default=b'follow',
1759 )
1765 )
1760 coreconfigitem(
1766 coreconfigitem(
1761 b'phases',
1767 b'phases',
1762 b'new-commit',
1768 b'new-commit',
1763 default=b'draft',
1769 default=b'draft',
1764 )
1770 )
1765 coreconfigitem(
1771 coreconfigitem(
1766 b'phases',
1772 b'phases',
1767 b'publish',
1773 b'publish',
1768 default=True,
1774 default=True,
1769 )
1775 )
1770 coreconfigitem(
1776 coreconfigitem(
1771 b'profiling',
1777 b'profiling',
1772 b'enabled',
1778 b'enabled',
1773 default=False,
1779 default=False,
1774 )
1780 )
1775 coreconfigitem(
1781 coreconfigitem(
1776 b'profiling',
1782 b'profiling',
1777 b'format',
1783 b'format',
1778 default=b'text',
1784 default=b'text',
1779 )
1785 )
1780 coreconfigitem(
1786 coreconfigitem(
1781 b'profiling',
1787 b'profiling',
1782 b'freq',
1788 b'freq',
1783 default=1000,
1789 default=1000,
1784 )
1790 )
1785 coreconfigitem(
1791 coreconfigitem(
1786 b'profiling',
1792 b'profiling',
1787 b'limit',
1793 b'limit',
1788 default=30,
1794 default=30,
1789 )
1795 )
1790 coreconfigitem(
1796 coreconfigitem(
1791 b'profiling',
1797 b'profiling',
1792 b'nested',
1798 b'nested',
1793 default=0,
1799 default=0,
1794 )
1800 )
1795 coreconfigitem(
1801 coreconfigitem(
1796 b'profiling',
1802 b'profiling',
1797 b'output',
1803 b'output',
1798 default=None,
1804 default=None,
1799 )
1805 )
1800 coreconfigitem(
1806 coreconfigitem(
1801 b'profiling',
1807 b'profiling',
1802 b'showmax',
1808 b'showmax',
1803 default=0.999,
1809 default=0.999,
1804 )
1810 )
1805 coreconfigitem(
1811 coreconfigitem(
1806 b'profiling',
1812 b'profiling',
1807 b'showmin',
1813 b'showmin',
1808 default=dynamicdefault,
1814 default=dynamicdefault,
1809 )
1815 )
1810 coreconfigitem(
1816 coreconfigitem(
1811 b'profiling',
1817 b'profiling',
1812 b'showtime',
1818 b'showtime',
1813 default=True,
1819 default=True,
1814 )
1820 )
1815 coreconfigitem(
1821 coreconfigitem(
1816 b'profiling',
1822 b'profiling',
1817 b'sort',
1823 b'sort',
1818 default=b'inlinetime',
1824 default=b'inlinetime',
1819 )
1825 )
1820 coreconfigitem(
1826 coreconfigitem(
1821 b'profiling',
1827 b'profiling',
1822 b'statformat',
1828 b'statformat',
1823 default=b'hotpath',
1829 default=b'hotpath',
1824 )
1830 )
1825 coreconfigitem(
1831 coreconfigitem(
1826 b'profiling',
1832 b'profiling',
1827 b'time-track',
1833 b'time-track',
1828 default=dynamicdefault,
1834 default=dynamicdefault,
1829 )
1835 )
1830 coreconfigitem(
1836 coreconfigitem(
1831 b'profiling',
1837 b'profiling',
1832 b'type',
1838 b'type',
1833 default=b'stat',
1839 default=b'stat',
1834 )
1840 )
1835 coreconfigitem(
1841 coreconfigitem(
1836 b'progress',
1842 b'progress',
1837 b'assume-tty',
1843 b'assume-tty',
1838 default=False,
1844 default=False,
1839 )
1845 )
1840 coreconfigitem(
1846 coreconfigitem(
1841 b'progress',
1847 b'progress',
1842 b'changedelay',
1848 b'changedelay',
1843 default=1,
1849 default=1,
1844 )
1850 )
1845 coreconfigitem(
1851 coreconfigitem(
1846 b'progress',
1852 b'progress',
1847 b'clear-complete',
1853 b'clear-complete',
1848 default=True,
1854 default=True,
1849 )
1855 )
1850 coreconfigitem(
1856 coreconfigitem(
1851 b'progress',
1857 b'progress',
1852 b'debug',
1858 b'debug',
1853 default=False,
1859 default=False,
1854 )
1860 )
1855 coreconfigitem(
1861 coreconfigitem(
1856 b'progress',
1862 b'progress',
1857 b'delay',
1863 b'delay',
1858 default=3,
1864 default=3,
1859 )
1865 )
1860 coreconfigitem(
1866 coreconfigitem(
1861 b'progress',
1867 b'progress',
1862 b'disable',
1868 b'disable',
1863 default=False,
1869 default=False,
1864 )
1870 )
1865 coreconfigitem(
1871 coreconfigitem(
1866 b'progress',
1872 b'progress',
1867 b'estimateinterval',
1873 b'estimateinterval',
1868 default=60.0,
1874 default=60.0,
1869 )
1875 )
1870 coreconfigitem(
1876 coreconfigitem(
1871 b'progress',
1877 b'progress',
1872 b'format',
1878 b'format',
1873 default=lambda: [b'topic', b'bar', b'number', b'estimate'],
1879 default=lambda: [b'topic', b'bar', b'number', b'estimate'],
1874 )
1880 )
1875 coreconfigitem(
1881 coreconfigitem(
1876 b'progress',
1882 b'progress',
1877 b'refresh',
1883 b'refresh',
1878 default=0.1,
1884 default=0.1,
1879 )
1885 )
1880 coreconfigitem(
1886 coreconfigitem(
1881 b'progress',
1887 b'progress',
1882 b'width',
1888 b'width',
1883 default=dynamicdefault,
1889 default=dynamicdefault,
1884 )
1890 )
1885 coreconfigitem(
1891 coreconfigitem(
1886 b'pull',
1892 b'pull',
1887 b'confirm',
1893 b'confirm',
1888 default=False,
1894 default=False,
1889 )
1895 )
1890 coreconfigitem(
1896 coreconfigitem(
1891 b'push',
1897 b'push',
1892 b'pushvars.server',
1898 b'pushvars.server',
1893 default=False,
1899 default=False,
1894 )
1900 )
1895 coreconfigitem(
1901 coreconfigitem(
1896 b'rewrite',
1902 b'rewrite',
1897 b'backup-bundle',
1903 b'backup-bundle',
1898 default=True,
1904 default=True,
1899 alias=[(b'ui', b'history-editing-backup')],
1905 alias=[(b'ui', b'history-editing-backup')],
1900 )
1906 )
1901 coreconfigitem(
1907 coreconfigitem(
1902 b'rewrite',
1908 b'rewrite',
1903 b'update-timestamp',
1909 b'update-timestamp',
1904 default=False,
1910 default=False,
1905 )
1911 )
1906 coreconfigitem(
1912 coreconfigitem(
1907 b'rewrite',
1913 b'rewrite',
1908 b'empty-successor',
1914 b'empty-successor',
1909 default=b'skip',
1915 default=b'skip',
1910 experimental=True,
1916 experimental=True,
1911 )
1917 )
1912 # experimental as long as format.use-dirstate-v2 is.
1918 # experimental as long as format.use-dirstate-v2 is.
1913 coreconfigitem(
1919 coreconfigitem(
1914 b'storage',
1920 b'storage',
1915 b'dirstate-v2.slow-path',
1921 b'dirstate-v2.slow-path',
1916 default=b"abort",
1922 default=b"abort",
1917 experimental=True,
1923 experimental=True,
1918 )
1924 )
1919 coreconfigitem(
1925 coreconfigitem(
1920 b'storage',
1926 b'storage',
1921 b'new-repo-backend',
1927 b'new-repo-backend',
1922 default=b'revlogv1',
1928 default=b'revlogv1',
1923 experimental=True,
1929 experimental=True,
1924 )
1930 )
1925 coreconfigitem(
1931 coreconfigitem(
1926 b'storage',
1932 b'storage',
1927 b'revlog.optimize-delta-parent-choice',
1933 b'revlog.optimize-delta-parent-choice',
1928 default=True,
1934 default=True,
1929 alias=[(b'format', b'aggressivemergedeltas')],
1935 alias=[(b'format', b'aggressivemergedeltas')],
1930 )
1936 )
1931 coreconfigitem(
1937 coreconfigitem(
1932 b'storage',
1938 b'storage',
1933 b'revlog.issue6528.fix-incoming',
1939 b'revlog.issue6528.fix-incoming',
1934 default=True,
1940 default=True,
1935 )
1941 )
1936 # experimental as long as rust is experimental (or a C version is implemented)
1942 # experimental as long as rust is experimental (or a C version is implemented)
1937 coreconfigitem(
1943 coreconfigitem(
1938 b'storage',
1944 b'storage',
1939 b'revlog.persistent-nodemap.mmap',
1945 b'revlog.persistent-nodemap.mmap',
1940 default=True,
1946 default=True,
1941 )
1947 )
1942 # experimental as long as format.use-persistent-nodemap is.
1948 # experimental as long as format.use-persistent-nodemap is.
1943 coreconfigitem(
1949 coreconfigitem(
1944 b'storage',
1950 b'storage',
1945 b'revlog.persistent-nodemap.slow-path',
1951 b'revlog.persistent-nodemap.slow-path',
1946 default=b"abort",
1952 default=b"abort",
1947 )
1953 )
1948
1954
1949 coreconfigitem(
1955 coreconfigitem(
1950 b'storage',
1956 b'storage',
1951 b'revlog.reuse-external-delta',
1957 b'revlog.reuse-external-delta',
1952 default=True,
1958 default=True,
1953 )
1959 )
1954 coreconfigitem(
1960 coreconfigitem(
1955 b'storage',
1961 b'storage',
1956 b'revlog.reuse-external-delta-parent',
1962 b'revlog.reuse-external-delta-parent',
1957 default=None,
1963 default=None,
1958 )
1964 )
1959 coreconfigitem(
1965 coreconfigitem(
1960 b'storage',
1966 b'storage',
1961 b'revlog.zlib.level',
1967 b'revlog.zlib.level',
1962 default=None,
1968 default=None,
1963 )
1969 )
1964 coreconfigitem(
1970 coreconfigitem(
1965 b'storage',
1971 b'storage',
1966 b'revlog.zstd.level',
1972 b'revlog.zstd.level',
1967 default=None,
1973 default=None,
1968 )
1974 )
1969 coreconfigitem(
1975 coreconfigitem(
1970 b'server',
1976 b'server',
1971 b'bookmarks-pushkey-compat',
1977 b'bookmarks-pushkey-compat',
1972 default=True,
1978 default=True,
1973 )
1979 )
1974 coreconfigitem(
1980 coreconfigitem(
1975 b'server',
1981 b'server',
1976 b'bundle1',
1982 b'bundle1',
1977 default=True,
1983 default=True,
1978 )
1984 )
1979 coreconfigitem(
1985 coreconfigitem(
1980 b'server',
1986 b'server',
1981 b'bundle1gd',
1987 b'bundle1gd',
1982 default=None,
1988 default=None,
1983 )
1989 )
1984 coreconfigitem(
1990 coreconfigitem(
1985 b'server',
1991 b'server',
1986 b'bundle1.pull',
1992 b'bundle1.pull',
1987 default=None,
1993 default=None,
1988 )
1994 )
1989 coreconfigitem(
1995 coreconfigitem(
1990 b'server',
1996 b'server',
1991 b'bundle1gd.pull',
1997 b'bundle1gd.pull',
1992 default=None,
1998 default=None,
1993 )
1999 )
1994 coreconfigitem(
2000 coreconfigitem(
1995 b'server',
2001 b'server',
1996 b'bundle1.push',
2002 b'bundle1.push',
1997 default=None,
2003 default=None,
1998 )
2004 )
1999 coreconfigitem(
2005 coreconfigitem(
2000 b'server',
2006 b'server',
2001 b'bundle1gd.push',
2007 b'bundle1gd.push',
2002 default=None,
2008 default=None,
2003 )
2009 )
2004 coreconfigitem(
2010 coreconfigitem(
2005 b'server',
2011 b'server',
2006 b'bundle2.stream',
2012 b'bundle2.stream',
2007 default=True,
2013 default=True,
2008 alias=[(b'experimental', b'bundle2.stream')],
2014 alias=[(b'experimental', b'bundle2.stream')],
2009 )
2015 )
2010 coreconfigitem(
2016 coreconfigitem(
2011 b'server',
2017 b'server',
2012 b'compressionengines',
2018 b'compressionengines',
2013 default=list,
2019 default=list,
2014 )
2020 )
2015 coreconfigitem(
2021 coreconfigitem(
2016 b'server',
2022 b'server',
2017 b'concurrent-push-mode',
2023 b'concurrent-push-mode',
2018 default=b'check-related',
2024 default=b'check-related',
2019 )
2025 )
2020 coreconfigitem(
2026 coreconfigitem(
2021 b'server',
2027 b'server',
2022 b'disablefullbundle',
2028 b'disablefullbundle',
2023 default=False,
2029 default=False,
2024 )
2030 )
2025 coreconfigitem(
2031 coreconfigitem(
2026 b'server',
2032 b'server',
2027 b'maxhttpheaderlen',
2033 b'maxhttpheaderlen',
2028 default=1024,
2034 default=1024,
2029 )
2035 )
2030 coreconfigitem(
2036 coreconfigitem(
2031 b'server',
2037 b'server',
2032 b'pullbundle',
2038 b'pullbundle',
2033 default=False,
2039 default=False,
2034 )
2040 )
2035 coreconfigitem(
2041 coreconfigitem(
2036 b'server',
2042 b'server',
2037 b'preferuncompressed',
2043 b'preferuncompressed',
2038 default=False,
2044 default=False,
2039 )
2045 )
2040 coreconfigitem(
2046 coreconfigitem(
2041 b'server',
2047 b'server',
2042 b'streamunbundle',
2048 b'streamunbundle',
2043 default=False,
2049 default=False,
2044 )
2050 )
2045 coreconfigitem(
2051 coreconfigitem(
2046 b'server',
2052 b'server',
2047 b'uncompressed',
2053 b'uncompressed',
2048 default=True,
2054 default=True,
2049 )
2055 )
2050 coreconfigitem(
2056 coreconfigitem(
2051 b'server',
2057 b'server',
2052 b'uncompressedallowsecret',
2058 b'uncompressedallowsecret',
2053 default=False,
2059 default=False,
2054 )
2060 )
2055 coreconfigitem(
2061 coreconfigitem(
2056 b'server',
2062 b'server',
2057 b'view',
2063 b'view',
2058 default=b'served',
2064 default=b'served',
2059 )
2065 )
2060 coreconfigitem(
2066 coreconfigitem(
2061 b'server',
2067 b'server',
2062 b'validate',
2068 b'validate',
2063 default=False,
2069 default=False,
2064 )
2070 )
2065 coreconfigitem(
2071 coreconfigitem(
2066 b'server',
2072 b'server',
2067 b'zliblevel',
2073 b'zliblevel',
2068 default=-1,
2074 default=-1,
2069 )
2075 )
2070 coreconfigitem(
2076 coreconfigitem(
2071 b'server',
2077 b'server',
2072 b'zstdlevel',
2078 b'zstdlevel',
2073 default=3,
2079 default=3,
2074 )
2080 )
2075 coreconfigitem(
2081 coreconfigitem(
2076 b'share',
2082 b'share',
2077 b'pool',
2083 b'pool',
2078 default=None,
2084 default=None,
2079 )
2085 )
2080 coreconfigitem(
2086 coreconfigitem(
2081 b'share',
2087 b'share',
2082 b'poolnaming',
2088 b'poolnaming',
2083 default=b'identity',
2089 default=b'identity',
2084 )
2090 )
2085 coreconfigitem(
2091 coreconfigitem(
2086 b'share',
2092 b'share',
2087 b'safe-mismatch.source-not-safe',
2093 b'safe-mismatch.source-not-safe',
2088 default=b'abort',
2094 default=b'abort',
2089 )
2095 )
2090 coreconfigitem(
2096 coreconfigitem(
2091 b'share',
2097 b'share',
2092 b'safe-mismatch.source-safe',
2098 b'safe-mismatch.source-safe',
2093 default=b'abort',
2099 default=b'abort',
2094 )
2100 )
2095 coreconfigitem(
2101 coreconfigitem(
2096 b'share',
2102 b'share',
2097 b'safe-mismatch.source-not-safe.warn',
2103 b'safe-mismatch.source-not-safe.warn',
2098 default=True,
2104 default=True,
2099 )
2105 )
2100 coreconfigitem(
2106 coreconfigitem(
2101 b'share',
2107 b'share',
2102 b'safe-mismatch.source-safe.warn',
2108 b'safe-mismatch.source-safe.warn',
2103 default=True,
2109 default=True,
2104 )
2110 )
2105 coreconfigitem(
2111 coreconfigitem(
2106 b'shelve',
2112 b'shelve',
2107 b'maxbackups',
2113 b'maxbackups',
2108 default=10,
2114 default=10,
2109 )
2115 )
2110 coreconfigitem(
2116 coreconfigitem(
2111 b'smtp',
2117 b'smtp',
2112 b'host',
2118 b'host',
2113 default=None,
2119 default=None,
2114 )
2120 )
2115 coreconfigitem(
2121 coreconfigitem(
2116 b'smtp',
2122 b'smtp',
2117 b'local_hostname',
2123 b'local_hostname',
2118 default=None,
2124 default=None,
2119 )
2125 )
2120 coreconfigitem(
2126 coreconfigitem(
2121 b'smtp',
2127 b'smtp',
2122 b'password',
2128 b'password',
2123 default=None,
2129 default=None,
2124 )
2130 )
2125 coreconfigitem(
2131 coreconfigitem(
2126 b'smtp',
2132 b'smtp',
2127 b'port',
2133 b'port',
2128 default=dynamicdefault,
2134 default=dynamicdefault,
2129 )
2135 )
2130 coreconfigitem(
2136 coreconfigitem(
2131 b'smtp',
2137 b'smtp',
2132 b'tls',
2138 b'tls',
2133 default=b'none',
2139 default=b'none',
2134 )
2140 )
2135 coreconfigitem(
2141 coreconfigitem(
2136 b'smtp',
2142 b'smtp',
2137 b'username',
2143 b'username',
2138 default=None,
2144 default=None,
2139 )
2145 )
2140 coreconfigitem(
2146 coreconfigitem(
2141 b'sparse',
2147 b'sparse',
2142 b'missingwarning',
2148 b'missingwarning',
2143 default=True,
2149 default=True,
2144 experimental=True,
2150 experimental=True,
2145 )
2151 )
2146 coreconfigitem(
2152 coreconfigitem(
2147 b'subrepos',
2153 b'subrepos',
2148 b'allowed',
2154 b'allowed',
2149 default=dynamicdefault, # to make backporting simpler
2155 default=dynamicdefault, # to make backporting simpler
2150 )
2156 )
2151 coreconfigitem(
2157 coreconfigitem(
2152 b'subrepos',
2158 b'subrepos',
2153 b'hg:allowed',
2159 b'hg:allowed',
2154 default=dynamicdefault,
2160 default=dynamicdefault,
2155 )
2161 )
2156 coreconfigitem(
2162 coreconfigitem(
2157 b'subrepos',
2163 b'subrepos',
2158 b'git:allowed',
2164 b'git:allowed',
2159 default=dynamicdefault,
2165 default=dynamicdefault,
2160 )
2166 )
2161 coreconfigitem(
2167 coreconfigitem(
2162 b'subrepos',
2168 b'subrepos',
2163 b'svn:allowed',
2169 b'svn:allowed',
2164 default=dynamicdefault,
2170 default=dynamicdefault,
2165 )
2171 )
2166 coreconfigitem(
2172 coreconfigitem(
2167 b'templates',
2173 b'templates',
2168 b'.*',
2174 b'.*',
2169 default=None,
2175 default=None,
2170 generic=True,
2176 generic=True,
2171 )
2177 )
2172 coreconfigitem(
2178 coreconfigitem(
2173 b'templateconfig',
2179 b'templateconfig',
2174 b'.*',
2180 b'.*',
2175 default=dynamicdefault,
2181 default=dynamicdefault,
2176 generic=True,
2182 generic=True,
2177 )
2183 )
2178 coreconfigitem(
2184 coreconfigitem(
2179 b'trusted',
2185 b'trusted',
2180 b'groups',
2186 b'groups',
2181 default=list,
2187 default=list,
2182 )
2188 )
2183 coreconfigitem(
2189 coreconfigitem(
2184 b'trusted',
2190 b'trusted',
2185 b'users',
2191 b'users',
2186 default=list,
2192 default=list,
2187 )
2193 )
2188 coreconfigitem(
2194 coreconfigitem(
2189 b'ui',
2195 b'ui',
2190 b'_usedassubrepo',
2196 b'_usedassubrepo',
2191 default=False,
2197 default=False,
2192 )
2198 )
2193 coreconfigitem(
2199 coreconfigitem(
2194 b'ui',
2200 b'ui',
2195 b'allowemptycommit',
2201 b'allowemptycommit',
2196 default=False,
2202 default=False,
2197 )
2203 )
2198 coreconfigitem(
2204 coreconfigitem(
2199 b'ui',
2205 b'ui',
2200 b'archivemeta',
2206 b'archivemeta',
2201 default=True,
2207 default=True,
2202 )
2208 )
2203 coreconfigitem(
2209 coreconfigitem(
2204 b'ui',
2210 b'ui',
2205 b'askusername',
2211 b'askusername',
2206 default=False,
2212 default=False,
2207 )
2213 )
2208 coreconfigitem(
2214 coreconfigitem(
2209 b'ui',
2215 b'ui',
2210 b'available-memory',
2216 b'available-memory',
2211 default=None,
2217 default=None,
2212 )
2218 )
2213
2219
2214 coreconfigitem(
2220 coreconfigitem(
2215 b'ui',
2221 b'ui',
2216 b'clonebundlefallback',
2222 b'clonebundlefallback',
2217 default=False,
2223 default=False,
2218 )
2224 )
2219 coreconfigitem(
2225 coreconfigitem(
2220 b'ui',
2226 b'ui',
2221 b'clonebundleprefers',
2227 b'clonebundleprefers',
2222 default=list,
2228 default=list,
2223 )
2229 )
2224 coreconfigitem(
2230 coreconfigitem(
2225 b'ui',
2231 b'ui',
2226 b'clonebundles',
2232 b'clonebundles',
2227 default=True,
2233 default=True,
2228 )
2234 )
2229 coreconfigitem(
2235 coreconfigitem(
2230 b'ui',
2236 b'ui',
2231 b'color',
2237 b'color',
2232 default=b'auto',
2238 default=b'auto',
2233 )
2239 )
2234 coreconfigitem(
2240 coreconfigitem(
2235 b'ui',
2241 b'ui',
2236 b'commitsubrepos',
2242 b'commitsubrepos',
2237 default=False,
2243 default=False,
2238 )
2244 )
2239 coreconfigitem(
2245 coreconfigitem(
2240 b'ui',
2246 b'ui',
2241 b'debug',
2247 b'debug',
2242 default=False,
2248 default=False,
2243 )
2249 )
2244 coreconfigitem(
2250 coreconfigitem(
2245 b'ui',
2251 b'ui',
2246 b'debugger',
2252 b'debugger',
2247 default=None,
2253 default=None,
2248 )
2254 )
2249 coreconfigitem(
2255 coreconfigitem(
2250 b'ui',
2256 b'ui',
2251 b'editor',
2257 b'editor',
2252 default=dynamicdefault,
2258 default=dynamicdefault,
2253 )
2259 )
2254 coreconfigitem(
2260 coreconfigitem(
2255 b'ui',
2261 b'ui',
2256 b'detailed-exit-code',
2262 b'detailed-exit-code',
2257 default=False,
2263 default=False,
2258 experimental=True,
2264 experimental=True,
2259 )
2265 )
2260 coreconfigitem(
2266 coreconfigitem(
2261 b'ui',
2267 b'ui',
2262 b'fallbackencoding',
2268 b'fallbackencoding',
2263 default=None,
2269 default=None,
2264 )
2270 )
2265 coreconfigitem(
2271 coreconfigitem(
2266 b'ui',
2272 b'ui',
2267 b'forcecwd',
2273 b'forcecwd',
2268 default=None,
2274 default=None,
2269 )
2275 )
2270 coreconfigitem(
2276 coreconfigitem(
2271 b'ui',
2277 b'ui',
2272 b'forcemerge',
2278 b'forcemerge',
2273 default=None,
2279 default=None,
2274 )
2280 )
2275 coreconfigitem(
2281 coreconfigitem(
2276 b'ui',
2282 b'ui',
2277 b'formatdebug',
2283 b'formatdebug',
2278 default=False,
2284 default=False,
2279 )
2285 )
2280 coreconfigitem(
2286 coreconfigitem(
2281 b'ui',
2287 b'ui',
2282 b'formatjson',
2288 b'formatjson',
2283 default=False,
2289 default=False,
2284 )
2290 )
2285 coreconfigitem(
2291 coreconfigitem(
2286 b'ui',
2292 b'ui',
2287 b'formatted',
2293 b'formatted',
2288 default=None,
2294 default=None,
2289 )
2295 )
2290 coreconfigitem(
2296 coreconfigitem(
2291 b'ui',
2297 b'ui',
2292 b'interactive',
2298 b'interactive',
2293 default=None,
2299 default=None,
2294 )
2300 )
2295 coreconfigitem(
2301 coreconfigitem(
2296 b'ui',
2302 b'ui',
2297 b'interface',
2303 b'interface',
2298 default=None,
2304 default=None,
2299 )
2305 )
2300 coreconfigitem(
2306 coreconfigitem(
2301 b'ui',
2307 b'ui',
2302 b'interface.chunkselector',
2308 b'interface.chunkselector',
2303 default=None,
2309 default=None,
2304 )
2310 )
2305 coreconfigitem(
2311 coreconfigitem(
2306 b'ui',
2312 b'ui',
2307 b'large-file-limit',
2313 b'large-file-limit',
2308 default=10000000,
2314 default=10000000,
2309 )
2315 )
2310 coreconfigitem(
2316 coreconfigitem(
2311 b'ui',
2317 b'ui',
2312 b'logblockedtimes',
2318 b'logblockedtimes',
2313 default=False,
2319 default=False,
2314 )
2320 )
2315 coreconfigitem(
2321 coreconfigitem(
2316 b'ui',
2322 b'ui',
2317 b'merge',
2323 b'merge',
2318 default=None,
2324 default=None,
2319 )
2325 )
2320 coreconfigitem(
2326 coreconfigitem(
2321 b'ui',
2327 b'ui',
2322 b'mergemarkers',
2328 b'mergemarkers',
2323 default=b'basic',
2329 default=b'basic',
2324 )
2330 )
2325 coreconfigitem(
2331 coreconfigitem(
2326 b'ui',
2332 b'ui',
2327 b'message-output',
2333 b'message-output',
2328 default=b'stdio',
2334 default=b'stdio',
2329 )
2335 )
2330 coreconfigitem(
2336 coreconfigitem(
2331 b'ui',
2337 b'ui',
2332 b'nontty',
2338 b'nontty',
2333 default=False,
2339 default=False,
2334 )
2340 )
2335 coreconfigitem(
2341 coreconfigitem(
2336 b'ui',
2342 b'ui',
2337 b'origbackuppath',
2343 b'origbackuppath',
2338 default=None,
2344 default=None,
2339 )
2345 )
2340 coreconfigitem(
2346 coreconfigitem(
2341 b'ui',
2347 b'ui',
2342 b'paginate',
2348 b'paginate',
2343 default=True,
2349 default=True,
2344 )
2350 )
2345 coreconfigitem(
2351 coreconfigitem(
2346 b'ui',
2352 b'ui',
2347 b'patch',
2353 b'patch',
2348 default=None,
2354 default=None,
2349 )
2355 )
2350 coreconfigitem(
2356 coreconfigitem(
2351 b'ui',
2357 b'ui',
2352 b'portablefilenames',
2358 b'portablefilenames',
2353 default=b'warn',
2359 default=b'warn',
2354 )
2360 )
2355 coreconfigitem(
2361 coreconfigitem(
2356 b'ui',
2362 b'ui',
2357 b'promptecho',
2363 b'promptecho',
2358 default=False,
2364 default=False,
2359 )
2365 )
2360 coreconfigitem(
2366 coreconfigitem(
2361 b'ui',
2367 b'ui',
2362 b'quiet',
2368 b'quiet',
2363 default=False,
2369 default=False,
2364 )
2370 )
2365 coreconfigitem(
2371 coreconfigitem(
2366 b'ui',
2372 b'ui',
2367 b'quietbookmarkmove',
2373 b'quietbookmarkmove',
2368 default=False,
2374 default=False,
2369 )
2375 )
2370 coreconfigitem(
2376 coreconfigitem(
2371 b'ui',
2377 b'ui',
2372 b'relative-paths',
2378 b'relative-paths',
2373 default=b'legacy',
2379 default=b'legacy',
2374 )
2380 )
2375 coreconfigitem(
2381 coreconfigitem(
2376 b'ui',
2382 b'ui',
2377 b'remotecmd',
2383 b'remotecmd',
2378 default=b'hg',
2384 default=b'hg',
2379 )
2385 )
2380 coreconfigitem(
2386 coreconfigitem(
2381 b'ui',
2387 b'ui',
2382 b'report_untrusted',
2388 b'report_untrusted',
2383 default=True,
2389 default=True,
2384 )
2390 )
2385 coreconfigitem(
2391 coreconfigitem(
2386 b'ui',
2392 b'ui',
2387 b'rollback',
2393 b'rollback',
2388 default=True,
2394 default=True,
2389 )
2395 )
2390 coreconfigitem(
2396 coreconfigitem(
2391 b'ui',
2397 b'ui',
2392 b'signal-safe-lock',
2398 b'signal-safe-lock',
2393 default=True,
2399 default=True,
2394 )
2400 )
2395 coreconfigitem(
2401 coreconfigitem(
2396 b'ui',
2402 b'ui',
2397 b'slash',
2403 b'slash',
2398 default=False,
2404 default=False,
2399 )
2405 )
2400 coreconfigitem(
2406 coreconfigitem(
2401 b'ui',
2407 b'ui',
2402 b'ssh',
2408 b'ssh',
2403 default=b'ssh',
2409 default=b'ssh',
2404 )
2410 )
2405 coreconfigitem(
2411 coreconfigitem(
2406 b'ui',
2412 b'ui',
2407 b'ssherrorhint',
2413 b'ssherrorhint',
2408 default=None,
2414 default=None,
2409 )
2415 )
2410 coreconfigitem(
2416 coreconfigitem(
2411 b'ui',
2417 b'ui',
2412 b'statuscopies',
2418 b'statuscopies',
2413 default=False,
2419 default=False,
2414 )
2420 )
2415 coreconfigitem(
2421 coreconfigitem(
2416 b'ui',
2422 b'ui',
2417 b'strict',
2423 b'strict',
2418 default=False,
2424 default=False,
2419 )
2425 )
2420 coreconfigitem(
2426 coreconfigitem(
2421 b'ui',
2427 b'ui',
2422 b'style',
2428 b'style',
2423 default=b'',
2429 default=b'',
2424 )
2430 )
2425 coreconfigitem(
2431 coreconfigitem(
2426 b'ui',
2432 b'ui',
2427 b'supportcontact',
2433 b'supportcontact',
2428 default=None,
2434 default=None,
2429 )
2435 )
2430 coreconfigitem(
2436 coreconfigitem(
2431 b'ui',
2437 b'ui',
2432 b'textwidth',
2438 b'textwidth',
2433 default=78,
2439 default=78,
2434 )
2440 )
2435 coreconfigitem(
2441 coreconfigitem(
2436 b'ui',
2442 b'ui',
2437 b'timeout',
2443 b'timeout',
2438 default=b'600',
2444 default=b'600',
2439 )
2445 )
2440 coreconfigitem(
2446 coreconfigitem(
2441 b'ui',
2447 b'ui',
2442 b'timeout.warn',
2448 b'timeout.warn',
2443 default=0,
2449 default=0,
2444 )
2450 )
2445 coreconfigitem(
2451 coreconfigitem(
2446 b'ui',
2452 b'ui',
2447 b'timestamp-output',
2453 b'timestamp-output',
2448 default=False,
2454 default=False,
2449 )
2455 )
2450 coreconfigitem(
2456 coreconfigitem(
2451 b'ui',
2457 b'ui',
2452 b'traceback',
2458 b'traceback',
2453 default=False,
2459 default=False,
2454 )
2460 )
2455 coreconfigitem(
2461 coreconfigitem(
2456 b'ui',
2462 b'ui',
2457 b'tweakdefaults',
2463 b'tweakdefaults',
2458 default=False,
2464 default=False,
2459 )
2465 )
2460 coreconfigitem(b'ui', b'username', alias=[(b'ui', b'user')])
2466 coreconfigitem(b'ui', b'username', alias=[(b'ui', b'user')])
2461 coreconfigitem(
2467 coreconfigitem(
2462 b'ui',
2468 b'ui',
2463 b'verbose',
2469 b'verbose',
2464 default=False,
2470 default=False,
2465 )
2471 )
2466 coreconfigitem(
2472 coreconfigitem(
2467 b'verify',
2473 b'verify',
2468 b'skipflags',
2474 b'skipflags',
2469 default=None,
2475 default=None,
2470 )
2476 )
2471 coreconfigitem(
2477 coreconfigitem(
2472 b'web',
2478 b'web',
2473 b'allowbz2',
2479 b'allowbz2',
2474 default=False,
2480 default=False,
2475 )
2481 )
2476 coreconfigitem(
2482 coreconfigitem(
2477 b'web',
2483 b'web',
2478 b'allowgz',
2484 b'allowgz',
2479 default=False,
2485 default=False,
2480 )
2486 )
2481 coreconfigitem(
2487 coreconfigitem(
2482 b'web',
2488 b'web',
2483 b'allow-pull',
2489 b'allow-pull',
2484 alias=[(b'web', b'allowpull')],
2490 alias=[(b'web', b'allowpull')],
2485 default=True,
2491 default=True,
2486 )
2492 )
2487 coreconfigitem(
2493 coreconfigitem(
2488 b'web',
2494 b'web',
2489 b'allow-push',
2495 b'allow-push',
2490 alias=[(b'web', b'allow_push')],
2496 alias=[(b'web', b'allow_push')],
2491 default=list,
2497 default=list,
2492 )
2498 )
2493 coreconfigitem(
2499 coreconfigitem(
2494 b'web',
2500 b'web',
2495 b'allowzip',
2501 b'allowzip',
2496 default=False,
2502 default=False,
2497 )
2503 )
2498 coreconfigitem(
2504 coreconfigitem(
2499 b'web',
2505 b'web',
2500 b'archivesubrepos',
2506 b'archivesubrepos',
2501 default=False,
2507 default=False,
2502 )
2508 )
2503 coreconfigitem(
2509 coreconfigitem(
2504 b'web',
2510 b'web',
2505 b'cache',
2511 b'cache',
2506 default=True,
2512 default=True,
2507 )
2513 )
2508 coreconfigitem(
2514 coreconfigitem(
2509 b'web',
2515 b'web',
2510 b'comparisoncontext',
2516 b'comparisoncontext',
2511 default=5,
2517 default=5,
2512 )
2518 )
2513 coreconfigitem(
2519 coreconfigitem(
2514 b'web',
2520 b'web',
2515 b'contact',
2521 b'contact',
2516 default=None,
2522 default=None,
2517 )
2523 )
2518 coreconfigitem(
2524 coreconfigitem(
2519 b'web',
2525 b'web',
2520 b'deny_push',
2526 b'deny_push',
2521 default=list,
2527 default=list,
2522 )
2528 )
2523 coreconfigitem(
2529 coreconfigitem(
2524 b'web',
2530 b'web',
2525 b'guessmime',
2531 b'guessmime',
2526 default=False,
2532 default=False,
2527 )
2533 )
2528 coreconfigitem(
2534 coreconfigitem(
2529 b'web',
2535 b'web',
2530 b'hidden',
2536 b'hidden',
2531 default=False,
2537 default=False,
2532 )
2538 )
2533 coreconfigitem(
2539 coreconfigitem(
2534 b'web',
2540 b'web',
2535 b'labels',
2541 b'labels',
2536 default=list,
2542 default=list,
2537 )
2543 )
2538 coreconfigitem(
2544 coreconfigitem(
2539 b'web',
2545 b'web',
2540 b'logoimg',
2546 b'logoimg',
2541 default=b'hglogo.png',
2547 default=b'hglogo.png',
2542 )
2548 )
2543 coreconfigitem(
2549 coreconfigitem(
2544 b'web',
2550 b'web',
2545 b'logourl',
2551 b'logourl',
2546 default=b'https://mercurial-scm.org/',
2552 default=b'https://mercurial-scm.org/',
2547 )
2553 )
2548 coreconfigitem(
2554 coreconfigitem(
2549 b'web',
2555 b'web',
2550 b'accesslog',
2556 b'accesslog',
2551 default=b'-',
2557 default=b'-',
2552 )
2558 )
2553 coreconfigitem(
2559 coreconfigitem(
2554 b'web',
2560 b'web',
2555 b'address',
2561 b'address',
2556 default=b'',
2562 default=b'',
2557 )
2563 )
2558 coreconfigitem(
2564 coreconfigitem(
2559 b'web',
2565 b'web',
2560 b'allow-archive',
2566 b'allow-archive',
2561 alias=[(b'web', b'allow_archive')],
2567 alias=[(b'web', b'allow_archive')],
2562 default=list,
2568 default=list,
2563 )
2569 )
2564 coreconfigitem(
2570 coreconfigitem(
2565 b'web',
2571 b'web',
2566 b'allow_read',
2572 b'allow_read',
2567 default=list,
2573 default=list,
2568 )
2574 )
2569 coreconfigitem(
2575 coreconfigitem(
2570 b'web',
2576 b'web',
2571 b'baseurl',
2577 b'baseurl',
2572 default=None,
2578 default=None,
2573 )
2579 )
2574 coreconfigitem(
2580 coreconfigitem(
2575 b'web',
2581 b'web',
2576 b'cacerts',
2582 b'cacerts',
2577 default=None,
2583 default=None,
2578 )
2584 )
2579 coreconfigitem(
2585 coreconfigitem(
2580 b'web',
2586 b'web',
2581 b'certificate',
2587 b'certificate',
2582 default=None,
2588 default=None,
2583 )
2589 )
2584 coreconfigitem(
2590 coreconfigitem(
2585 b'web',
2591 b'web',
2586 b'collapse',
2592 b'collapse',
2587 default=False,
2593 default=False,
2588 )
2594 )
2589 coreconfigitem(
2595 coreconfigitem(
2590 b'web',
2596 b'web',
2591 b'csp',
2597 b'csp',
2592 default=None,
2598 default=None,
2593 )
2599 )
2594 coreconfigitem(
2600 coreconfigitem(
2595 b'web',
2601 b'web',
2596 b'deny_read',
2602 b'deny_read',
2597 default=list,
2603 default=list,
2598 )
2604 )
2599 coreconfigitem(
2605 coreconfigitem(
2600 b'web',
2606 b'web',
2601 b'descend',
2607 b'descend',
2602 default=True,
2608 default=True,
2603 )
2609 )
2604 coreconfigitem(
2610 coreconfigitem(
2605 b'web',
2611 b'web',
2606 b'description',
2612 b'description',
2607 default=b"",
2613 default=b"",
2608 )
2614 )
2609 coreconfigitem(
2615 coreconfigitem(
2610 b'web',
2616 b'web',
2611 b'encoding',
2617 b'encoding',
2612 default=lambda: encoding.encoding,
2618 default=lambda: encoding.encoding,
2613 )
2619 )
2614 coreconfigitem(
2620 coreconfigitem(
2615 b'web',
2621 b'web',
2616 b'errorlog',
2622 b'errorlog',
2617 default=b'-',
2623 default=b'-',
2618 )
2624 )
2619 coreconfigitem(
2625 coreconfigitem(
2620 b'web',
2626 b'web',
2621 b'ipv6',
2627 b'ipv6',
2622 default=False,
2628 default=False,
2623 )
2629 )
2624 coreconfigitem(
2630 coreconfigitem(
2625 b'web',
2631 b'web',
2626 b'maxchanges',
2632 b'maxchanges',
2627 default=10,
2633 default=10,
2628 )
2634 )
2629 coreconfigitem(
2635 coreconfigitem(
2630 b'web',
2636 b'web',
2631 b'maxfiles',
2637 b'maxfiles',
2632 default=10,
2638 default=10,
2633 )
2639 )
2634 coreconfigitem(
2640 coreconfigitem(
2635 b'web',
2641 b'web',
2636 b'maxshortchanges',
2642 b'maxshortchanges',
2637 default=60,
2643 default=60,
2638 )
2644 )
2639 coreconfigitem(
2645 coreconfigitem(
2640 b'web',
2646 b'web',
2641 b'motd',
2647 b'motd',
2642 default=b'',
2648 default=b'',
2643 )
2649 )
2644 coreconfigitem(
2650 coreconfigitem(
2645 b'web',
2651 b'web',
2646 b'name',
2652 b'name',
2647 default=dynamicdefault,
2653 default=dynamicdefault,
2648 )
2654 )
2649 coreconfigitem(
2655 coreconfigitem(
2650 b'web',
2656 b'web',
2651 b'port',
2657 b'port',
2652 default=8000,
2658 default=8000,
2653 )
2659 )
2654 coreconfigitem(
2660 coreconfigitem(
2655 b'web',
2661 b'web',
2656 b'prefix',
2662 b'prefix',
2657 default=b'',
2663 default=b'',
2658 )
2664 )
2659 coreconfigitem(
2665 coreconfigitem(
2660 b'web',
2666 b'web',
2661 b'push_ssl',
2667 b'push_ssl',
2662 default=True,
2668 default=True,
2663 )
2669 )
2664 coreconfigitem(
2670 coreconfigitem(
2665 b'web',
2671 b'web',
2666 b'refreshinterval',
2672 b'refreshinterval',
2667 default=20,
2673 default=20,
2668 )
2674 )
2669 coreconfigitem(
2675 coreconfigitem(
2670 b'web',
2676 b'web',
2671 b'server-header',
2677 b'server-header',
2672 default=None,
2678 default=None,
2673 )
2679 )
2674 coreconfigitem(
2680 coreconfigitem(
2675 b'web',
2681 b'web',
2676 b'static',
2682 b'static',
2677 default=None,
2683 default=None,
2678 )
2684 )
2679 coreconfigitem(
2685 coreconfigitem(
2680 b'web',
2686 b'web',
2681 b'staticurl',
2687 b'staticurl',
2682 default=None,
2688 default=None,
2683 )
2689 )
2684 coreconfigitem(
2690 coreconfigitem(
2685 b'web',
2691 b'web',
2686 b'stripes',
2692 b'stripes',
2687 default=1,
2693 default=1,
2688 )
2694 )
2689 coreconfigitem(
2695 coreconfigitem(
2690 b'web',
2696 b'web',
2691 b'style',
2697 b'style',
2692 default=b'paper',
2698 default=b'paper',
2693 )
2699 )
2694 coreconfigitem(
2700 coreconfigitem(
2695 b'web',
2701 b'web',
2696 b'templates',
2702 b'templates',
2697 default=None,
2703 default=None,
2698 )
2704 )
2699 coreconfigitem(
2705 coreconfigitem(
2700 b'web',
2706 b'web',
2701 b'view',
2707 b'view',
2702 default=b'served',
2708 default=b'served',
2703 experimental=True,
2709 experimental=True,
2704 )
2710 )
2705 coreconfigitem(
2711 coreconfigitem(
2706 b'worker',
2712 b'worker',
2707 b'backgroundclose',
2713 b'backgroundclose',
2708 default=dynamicdefault,
2714 default=dynamicdefault,
2709 )
2715 )
2710 # Windows defaults to a limit of 512 open files. A buffer of 128
2716 # Windows defaults to a limit of 512 open files. A buffer of 128
2711 # should give us enough headway.
2717 # should give us enough headway.
2712 coreconfigitem(
2718 coreconfigitem(
2713 b'worker',
2719 b'worker',
2714 b'backgroundclosemaxqueue',
2720 b'backgroundclosemaxqueue',
2715 default=384,
2721 default=384,
2716 )
2722 )
2717 coreconfigitem(
2723 coreconfigitem(
2718 b'worker',
2724 b'worker',
2719 b'backgroundcloseminfilecount',
2725 b'backgroundcloseminfilecount',
2720 default=2048,
2726 default=2048,
2721 )
2727 )
2722 coreconfigitem(
2728 coreconfigitem(
2723 b'worker',
2729 b'worker',
2724 b'backgroundclosethreadcount',
2730 b'backgroundclosethreadcount',
2725 default=4,
2731 default=4,
2726 )
2732 )
2727 coreconfigitem(
2733 coreconfigitem(
2728 b'worker',
2734 b'worker',
2729 b'enabled',
2735 b'enabled',
2730 default=True,
2736 default=True,
2731 )
2737 )
2732 coreconfigitem(
2738 coreconfigitem(
2733 b'worker',
2739 b'worker',
2734 b'numcpus',
2740 b'numcpus',
2735 default=None,
2741 default=None,
2736 )
2742 )
2737
2743
2738 # Rebase related configuration moved to core because other extension are doing
2744 # Rebase related configuration moved to core because other extension are doing
2739 # strange things. For example, shelve import the extensions to reuse some bit
2745 # strange things. For example, shelve import the extensions to reuse some bit
2740 # without formally loading it.
2746 # without formally loading it.
2741 coreconfigitem(
2747 coreconfigitem(
2742 b'commands',
2748 b'commands',
2743 b'rebase.requiredest',
2749 b'rebase.requiredest',
2744 default=False,
2750 default=False,
2745 )
2751 )
2746 coreconfigitem(
2752 coreconfigitem(
2747 b'experimental',
2753 b'experimental',
2748 b'rebaseskipobsolete',
2754 b'rebaseskipobsolete',
2749 default=True,
2755 default=True,
2750 )
2756 )
2751 coreconfigitem(
2757 coreconfigitem(
2752 b'rebase',
2758 b'rebase',
2753 b'singletransaction',
2759 b'singletransaction',
2754 default=False,
2760 default=False,
2755 )
2761 )
2756 coreconfigitem(
2762 coreconfigitem(
2757 b'rebase',
2763 b'rebase',
2758 b'experimental.inmemory',
2764 b'experimental.inmemory',
2759 default=False,
2765 default=False,
2760 )
2766 )
General Comments 0
You need to be logged in to leave comments. Login now