##// END OF EJS Templates
path: explicitly declare the `pushurl` suboption...
Raphaël Gomès -
r49915:0940a45c default
parent child Browse files
Show More
@@ -1,2766 +1,2772 b''
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',
1756 b'paths',
1757 b'.*:pushrev',
1757 b'.*:pushrev',
1758 default=None,
1758 default=None,
1759 generic=True,
1759 generic=True,
1760 )
1760 )
1761 coreconfigitem(
1761 coreconfigitem(
1762 b'paths',
1763 b'.*:pushurl',
1764 default=None,
1765 generic=True,
1766 )
1767 coreconfigitem(
1762 b'phases',
1768 b'phases',
1763 b'checksubrepos',
1769 b'checksubrepos',
1764 default=b'follow',
1770 default=b'follow',
1765 )
1771 )
1766 coreconfigitem(
1772 coreconfigitem(
1767 b'phases',
1773 b'phases',
1768 b'new-commit',
1774 b'new-commit',
1769 default=b'draft',
1775 default=b'draft',
1770 )
1776 )
1771 coreconfigitem(
1777 coreconfigitem(
1772 b'phases',
1778 b'phases',
1773 b'publish',
1779 b'publish',
1774 default=True,
1780 default=True,
1775 )
1781 )
1776 coreconfigitem(
1782 coreconfigitem(
1777 b'profiling',
1783 b'profiling',
1778 b'enabled',
1784 b'enabled',
1779 default=False,
1785 default=False,
1780 )
1786 )
1781 coreconfigitem(
1787 coreconfigitem(
1782 b'profiling',
1788 b'profiling',
1783 b'format',
1789 b'format',
1784 default=b'text',
1790 default=b'text',
1785 )
1791 )
1786 coreconfigitem(
1792 coreconfigitem(
1787 b'profiling',
1793 b'profiling',
1788 b'freq',
1794 b'freq',
1789 default=1000,
1795 default=1000,
1790 )
1796 )
1791 coreconfigitem(
1797 coreconfigitem(
1792 b'profiling',
1798 b'profiling',
1793 b'limit',
1799 b'limit',
1794 default=30,
1800 default=30,
1795 )
1801 )
1796 coreconfigitem(
1802 coreconfigitem(
1797 b'profiling',
1803 b'profiling',
1798 b'nested',
1804 b'nested',
1799 default=0,
1805 default=0,
1800 )
1806 )
1801 coreconfigitem(
1807 coreconfigitem(
1802 b'profiling',
1808 b'profiling',
1803 b'output',
1809 b'output',
1804 default=None,
1810 default=None,
1805 )
1811 )
1806 coreconfigitem(
1812 coreconfigitem(
1807 b'profiling',
1813 b'profiling',
1808 b'showmax',
1814 b'showmax',
1809 default=0.999,
1815 default=0.999,
1810 )
1816 )
1811 coreconfigitem(
1817 coreconfigitem(
1812 b'profiling',
1818 b'profiling',
1813 b'showmin',
1819 b'showmin',
1814 default=dynamicdefault,
1820 default=dynamicdefault,
1815 )
1821 )
1816 coreconfigitem(
1822 coreconfigitem(
1817 b'profiling',
1823 b'profiling',
1818 b'showtime',
1824 b'showtime',
1819 default=True,
1825 default=True,
1820 )
1826 )
1821 coreconfigitem(
1827 coreconfigitem(
1822 b'profiling',
1828 b'profiling',
1823 b'sort',
1829 b'sort',
1824 default=b'inlinetime',
1830 default=b'inlinetime',
1825 )
1831 )
1826 coreconfigitem(
1832 coreconfigitem(
1827 b'profiling',
1833 b'profiling',
1828 b'statformat',
1834 b'statformat',
1829 default=b'hotpath',
1835 default=b'hotpath',
1830 )
1836 )
1831 coreconfigitem(
1837 coreconfigitem(
1832 b'profiling',
1838 b'profiling',
1833 b'time-track',
1839 b'time-track',
1834 default=dynamicdefault,
1840 default=dynamicdefault,
1835 )
1841 )
1836 coreconfigitem(
1842 coreconfigitem(
1837 b'profiling',
1843 b'profiling',
1838 b'type',
1844 b'type',
1839 default=b'stat',
1845 default=b'stat',
1840 )
1846 )
1841 coreconfigitem(
1847 coreconfigitem(
1842 b'progress',
1848 b'progress',
1843 b'assume-tty',
1849 b'assume-tty',
1844 default=False,
1850 default=False,
1845 )
1851 )
1846 coreconfigitem(
1852 coreconfigitem(
1847 b'progress',
1853 b'progress',
1848 b'changedelay',
1854 b'changedelay',
1849 default=1,
1855 default=1,
1850 )
1856 )
1851 coreconfigitem(
1857 coreconfigitem(
1852 b'progress',
1858 b'progress',
1853 b'clear-complete',
1859 b'clear-complete',
1854 default=True,
1860 default=True,
1855 )
1861 )
1856 coreconfigitem(
1862 coreconfigitem(
1857 b'progress',
1863 b'progress',
1858 b'debug',
1864 b'debug',
1859 default=False,
1865 default=False,
1860 )
1866 )
1861 coreconfigitem(
1867 coreconfigitem(
1862 b'progress',
1868 b'progress',
1863 b'delay',
1869 b'delay',
1864 default=3,
1870 default=3,
1865 )
1871 )
1866 coreconfigitem(
1872 coreconfigitem(
1867 b'progress',
1873 b'progress',
1868 b'disable',
1874 b'disable',
1869 default=False,
1875 default=False,
1870 )
1876 )
1871 coreconfigitem(
1877 coreconfigitem(
1872 b'progress',
1878 b'progress',
1873 b'estimateinterval',
1879 b'estimateinterval',
1874 default=60.0,
1880 default=60.0,
1875 )
1881 )
1876 coreconfigitem(
1882 coreconfigitem(
1877 b'progress',
1883 b'progress',
1878 b'format',
1884 b'format',
1879 default=lambda: [b'topic', b'bar', b'number', b'estimate'],
1885 default=lambda: [b'topic', b'bar', b'number', b'estimate'],
1880 )
1886 )
1881 coreconfigitem(
1887 coreconfigitem(
1882 b'progress',
1888 b'progress',
1883 b'refresh',
1889 b'refresh',
1884 default=0.1,
1890 default=0.1,
1885 )
1891 )
1886 coreconfigitem(
1892 coreconfigitem(
1887 b'progress',
1893 b'progress',
1888 b'width',
1894 b'width',
1889 default=dynamicdefault,
1895 default=dynamicdefault,
1890 )
1896 )
1891 coreconfigitem(
1897 coreconfigitem(
1892 b'pull',
1898 b'pull',
1893 b'confirm',
1899 b'confirm',
1894 default=False,
1900 default=False,
1895 )
1901 )
1896 coreconfigitem(
1902 coreconfigitem(
1897 b'push',
1903 b'push',
1898 b'pushvars.server',
1904 b'pushvars.server',
1899 default=False,
1905 default=False,
1900 )
1906 )
1901 coreconfigitem(
1907 coreconfigitem(
1902 b'rewrite',
1908 b'rewrite',
1903 b'backup-bundle',
1909 b'backup-bundle',
1904 default=True,
1910 default=True,
1905 alias=[(b'ui', b'history-editing-backup')],
1911 alias=[(b'ui', b'history-editing-backup')],
1906 )
1912 )
1907 coreconfigitem(
1913 coreconfigitem(
1908 b'rewrite',
1914 b'rewrite',
1909 b'update-timestamp',
1915 b'update-timestamp',
1910 default=False,
1916 default=False,
1911 )
1917 )
1912 coreconfigitem(
1918 coreconfigitem(
1913 b'rewrite',
1919 b'rewrite',
1914 b'empty-successor',
1920 b'empty-successor',
1915 default=b'skip',
1921 default=b'skip',
1916 experimental=True,
1922 experimental=True,
1917 )
1923 )
1918 # experimental as long as format.use-dirstate-v2 is.
1924 # experimental as long as format.use-dirstate-v2 is.
1919 coreconfigitem(
1925 coreconfigitem(
1920 b'storage',
1926 b'storage',
1921 b'dirstate-v2.slow-path',
1927 b'dirstate-v2.slow-path',
1922 default=b"abort",
1928 default=b"abort",
1923 experimental=True,
1929 experimental=True,
1924 )
1930 )
1925 coreconfigitem(
1931 coreconfigitem(
1926 b'storage',
1932 b'storage',
1927 b'new-repo-backend',
1933 b'new-repo-backend',
1928 default=b'revlogv1',
1934 default=b'revlogv1',
1929 experimental=True,
1935 experimental=True,
1930 )
1936 )
1931 coreconfigitem(
1937 coreconfigitem(
1932 b'storage',
1938 b'storage',
1933 b'revlog.optimize-delta-parent-choice',
1939 b'revlog.optimize-delta-parent-choice',
1934 default=True,
1940 default=True,
1935 alias=[(b'format', b'aggressivemergedeltas')],
1941 alias=[(b'format', b'aggressivemergedeltas')],
1936 )
1942 )
1937 coreconfigitem(
1943 coreconfigitem(
1938 b'storage',
1944 b'storage',
1939 b'revlog.issue6528.fix-incoming',
1945 b'revlog.issue6528.fix-incoming',
1940 default=True,
1946 default=True,
1941 )
1947 )
1942 # experimental as long as rust is experimental (or a C version is implemented)
1948 # experimental as long as rust is experimental (or a C version is implemented)
1943 coreconfigitem(
1949 coreconfigitem(
1944 b'storage',
1950 b'storage',
1945 b'revlog.persistent-nodemap.mmap',
1951 b'revlog.persistent-nodemap.mmap',
1946 default=True,
1952 default=True,
1947 )
1953 )
1948 # experimental as long as format.use-persistent-nodemap is.
1954 # experimental as long as format.use-persistent-nodemap is.
1949 coreconfigitem(
1955 coreconfigitem(
1950 b'storage',
1956 b'storage',
1951 b'revlog.persistent-nodemap.slow-path',
1957 b'revlog.persistent-nodemap.slow-path',
1952 default=b"abort",
1958 default=b"abort",
1953 )
1959 )
1954
1960
1955 coreconfigitem(
1961 coreconfigitem(
1956 b'storage',
1962 b'storage',
1957 b'revlog.reuse-external-delta',
1963 b'revlog.reuse-external-delta',
1958 default=True,
1964 default=True,
1959 )
1965 )
1960 coreconfigitem(
1966 coreconfigitem(
1961 b'storage',
1967 b'storage',
1962 b'revlog.reuse-external-delta-parent',
1968 b'revlog.reuse-external-delta-parent',
1963 default=None,
1969 default=None,
1964 )
1970 )
1965 coreconfigitem(
1971 coreconfigitem(
1966 b'storage',
1972 b'storage',
1967 b'revlog.zlib.level',
1973 b'revlog.zlib.level',
1968 default=None,
1974 default=None,
1969 )
1975 )
1970 coreconfigitem(
1976 coreconfigitem(
1971 b'storage',
1977 b'storage',
1972 b'revlog.zstd.level',
1978 b'revlog.zstd.level',
1973 default=None,
1979 default=None,
1974 )
1980 )
1975 coreconfigitem(
1981 coreconfigitem(
1976 b'server',
1982 b'server',
1977 b'bookmarks-pushkey-compat',
1983 b'bookmarks-pushkey-compat',
1978 default=True,
1984 default=True,
1979 )
1985 )
1980 coreconfigitem(
1986 coreconfigitem(
1981 b'server',
1987 b'server',
1982 b'bundle1',
1988 b'bundle1',
1983 default=True,
1989 default=True,
1984 )
1990 )
1985 coreconfigitem(
1991 coreconfigitem(
1986 b'server',
1992 b'server',
1987 b'bundle1gd',
1993 b'bundle1gd',
1988 default=None,
1994 default=None,
1989 )
1995 )
1990 coreconfigitem(
1996 coreconfigitem(
1991 b'server',
1997 b'server',
1992 b'bundle1.pull',
1998 b'bundle1.pull',
1993 default=None,
1999 default=None,
1994 )
2000 )
1995 coreconfigitem(
2001 coreconfigitem(
1996 b'server',
2002 b'server',
1997 b'bundle1gd.pull',
2003 b'bundle1gd.pull',
1998 default=None,
2004 default=None,
1999 )
2005 )
2000 coreconfigitem(
2006 coreconfigitem(
2001 b'server',
2007 b'server',
2002 b'bundle1.push',
2008 b'bundle1.push',
2003 default=None,
2009 default=None,
2004 )
2010 )
2005 coreconfigitem(
2011 coreconfigitem(
2006 b'server',
2012 b'server',
2007 b'bundle1gd.push',
2013 b'bundle1gd.push',
2008 default=None,
2014 default=None,
2009 )
2015 )
2010 coreconfigitem(
2016 coreconfigitem(
2011 b'server',
2017 b'server',
2012 b'bundle2.stream',
2018 b'bundle2.stream',
2013 default=True,
2019 default=True,
2014 alias=[(b'experimental', b'bundle2.stream')],
2020 alias=[(b'experimental', b'bundle2.stream')],
2015 )
2021 )
2016 coreconfigitem(
2022 coreconfigitem(
2017 b'server',
2023 b'server',
2018 b'compressionengines',
2024 b'compressionengines',
2019 default=list,
2025 default=list,
2020 )
2026 )
2021 coreconfigitem(
2027 coreconfigitem(
2022 b'server',
2028 b'server',
2023 b'concurrent-push-mode',
2029 b'concurrent-push-mode',
2024 default=b'check-related',
2030 default=b'check-related',
2025 )
2031 )
2026 coreconfigitem(
2032 coreconfigitem(
2027 b'server',
2033 b'server',
2028 b'disablefullbundle',
2034 b'disablefullbundle',
2029 default=False,
2035 default=False,
2030 )
2036 )
2031 coreconfigitem(
2037 coreconfigitem(
2032 b'server',
2038 b'server',
2033 b'maxhttpheaderlen',
2039 b'maxhttpheaderlen',
2034 default=1024,
2040 default=1024,
2035 )
2041 )
2036 coreconfigitem(
2042 coreconfigitem(
2037 b'server',
2043 b'server',
2038 b'pullbundle',
2044 b'pullbundle',
2039 default=False,
2045 default=False,
2040 )
2046 )
2041 coreconfigitem(
2047 coreconfigitem(
2042 b'server',
2048 b'server',
2043 b'preferuncompressed',
2049 b'preferuncompressed',
2044 default=False,
2050 default=False,
2045 )
2051 )
2046 coreconfigitem(
2052 coreconfigitem(
2047 b'server',
2053 b'server',
2048 b'streamunbundle',
2054 b'streamunbundle',
2049 default=False,
2055 default=False,
2050 )
2056 )
2051 coreconfigitem(
2057 coreconfigitem(
2052 b'server',
2058 b'server',
2053 b'uncompressed',
2059 b'uncompressed',
2054 default=True,
2060 default=True,
2055 )
2061 )
2056 coreconfigitem(
2062 coreconfigitem(
2057 b'server',
2063 b'server',
2058 b'uncompressedallowsecret',
2064 b'uncompressedallowsecret',
2059 default=False,
2065 default=False,
2060 )
2066 )
2061 coreconfigitem(
2067 coreconfigitem(
2062 b'server',
2068 b'server',
2063 b'view',
2069 b'view',
2064 default=b'served',
2070 default=b'served',
2065 )
2071 )
2066 coreconfigitem(
2072 coreconfigitem(
2067 b'server',
2073 b'server',
2068 b'validate',
2074 b'validate',
2069 default=False,
2075 default=False,
2070 )
2076 )
2071 coreconfigitem(
2077 coreconfigitem(
2072 b'server',
2078 b'server',
2073 b'zliblevel',
2079 b'zliblevel',
2074 default=-1,
2080 default=-1,
2075 )
2081 )
2076 coreconfigitem(
2082 coreconfigitem(
2077 b'server',
2083 b'server',
2078 b'zstdlevel',
2084 b'zstdlevel',
2079 default=3,
2085 default=3,
2080 )
2086 )
2081 coreconfigitem(
2087 coreconfigitem(
2082 b'share',
2088 b'share',
2083 b'pool',
2089 b'pool',
2084 default=None,
2090 default=None,
2085 )
2091 )
2086 coreconfigitem(
2092 coreconfigitem(
2087 b'share',
2093 b'share',
2088 b'poolnaming',
2094 b'poolnaming',
2089 default=b'identity',
2095 default=b'identity',
2090 )
2096 )
2091 coreconfigitem(
2097 coreconfigitem(
2092 b'share',
2098 b'share',
2093 b'safe-mismatch.source-not-safe',
2099 b'safe-mismatch.source-not-safe',
2094 default=b'abort',
2100 default=b'abort',
2095 )
2101 )
2096 coreconfigitem(
2102 coreconfigitem(
2097 b'share',
2103 b'share',
2098 b'safe-mismatch.source-safe',
2104 b'safe-mismatch.source-safe',
2099 default=b'abort',
2105 default=b'abort',
2100 )
2106 )
2101 coreconfigitem(
2107 coreconfigitem(
2102 b'share',
2108 b'share',
2103 b'safe-mismatch.source-not-safe.warn',
2109 b'safe-mismatch.source-not-safe.warn',
2104 default=True,
2110 default=True,
2105 )
2111 )
2106 coreconfigitem(
2112 coreconfigitem(
2107 b'share',
2113 b'share',
2108 b'safe-mismatch.source-safe.warn',
2114 b'safe-mismatch.source-safe.warn',
2109 default=True,
2115 default=True,
2110 )
2116 )
2111 coreconfigitem(
2117 coreconfigitem(
2112 b'shelve',
2118 b'shelve',
2113 b'maxbackups',
2119 b'maxbackups',
2114 default=10,
2120 default=10,
2115 )
2121 )
2116 coreconfigitem(
2122 coreconfigitem(
2117 b'smtp',
2123 b'smtp',
2118 b'host',
2124 b'host',
2119 default=None,
2125 default=None,
2120 )
2126 )
2121 coreconfigitem(
2127 coreconfigitem(
2122 b'smtp',
2128 b'smtp',
2123 b'local_hostname',
2129 b'local_hostname',
2124 default=None,
2130 default=None,
2125 )
2131 )
2126 coreconfigitem(
2132 coreconfigitem(
2127 b'smtp',
2133 b'smtp',
2128 b'password',
2134 b'password',
2129 default=None,
2135 default=None,
2130 )
2136 )
2131 coreconfigitem(
2137 coreconfigitem(
2132 b'smtp',
2138 b'smtp',
2133 b'port',
2139 b'port',
2134 default=dynamicdefault,
2140 default=dynamicdefault,
2135 )
2141 )
2136 coreconfigitem(
2142 coreconfigitem(
2137 b'smtp',
2143 b'smtp',
2138 b'tls',
2144 b'tls',
2139 default=b'none',
2145 default=b'none',
2140 )
2146 )
2141 coreconfigitem(
2147 coreconfigitem(
2142 b'smtp',
2148 b'smtp',
2143 b'username',
2149 b'username',
2144 default=None,
2150 default=None,
2145 )
2151 )
2146 coreconfigitem(
2152 coreconfigitem(
2147 b'sparse',
2153 b'sparse',
2148 b'missingwarning',
2154 b'missingwarning',
2149 default=True,
2155 default=True,
2150 experimental=True,
2156 experimental=True,
2151 )
2157 )
2152 coreconfigitem(
2158 coreconfigitem(
2153 b'subrepos',
2159 b'subrepos',
2154 b'allowed',
2160 b'allowed',
2155 default=dynamicdefault, # to make backporting simpler
2161 default=dynamicdefault, # to make backporting simpler
2156 )
2162 )
2157 coreconfigitem(
2163 coreconfigitem(
2158 b'subrepos',
2164 b'subrepos',
2159 b'hg:allowed',
2165 b'hg:allowed',
2160 default=dynamicdefault,
2166 default=dynamicdefault,
2161 )
2167 )
2162 coreconfigitem(
2168 coreconfigitem(
2163 b'subrepos',
2169 b'subrepos',
2164 b'git:allowed',
2170 b'git:allowed',
2165 default=dynamicdefault,
2171 default=dynamicdefault,
2166 )
2172 )
2167 coreconfigitem(
2173 coreconfigitem(
2168 b'subrepos',
2174 b'subrepos',
2169 b'svn:allowed',
2175 b'svn:allowed',
2170 default=dynamicdefault,
2176 default=dynamicdefault,
2171 )
2177 )
2172 coreconfigitem(
2178 coreconfigitem(
2173 b'templates',
2179 b'templates',
2174 b'.*',
2180 b'.*',
2175 default=None,
2181 default=None,
2176 generic=True,
2182 generic=True,
2177 )
2183 )
2178 coreconfigitem(
2184 coreconfigitem(
2179 b'templateconfig',
2185 b'templateconfig',
2180 b'.*',
2186 b'.*',
2181 default=dynamicdefault,
2187 default=dynamicdefault,
2182 generic=True,
2188 generic=True,
2183 )
2189 )
2184 coreconfigitem(
2190 coreconfigitem(
2185 b'trusted',
2191 b'trusted',
2186 b'groups',
2192 b'groups',
2187 default=list,
2193 default=list,
2188 )
2194 )
2189 coreconfigitem(
2195 coreconfigitem(
2190 b'trusted',
2196 b'trusted',
2191 b'users',
2197 b'users',
2192 default=list,
2198 default=list,
2193 )
2199 )
2194 coreconfigitem(
2200 coreconfigitem(
2195 b'ui',
2201 b'ui',
2196 b'_usedassubrepo',
2202 b'_usedassubrepo',
2197 default=False,
2203 default=False,
2198 )
2204 )
2199 coreconfigitem(
2205 coreconfigitem(
2200 b'ui',
2206 b'ui',
2201 b'allowemptycommit',
2207 b'allowemptycommit',
2202 default=False,
2208 default=False,
2203 )
2209 )
2204 coreconfigitem(
2210 coreconfigitem(
2205 b'ui',
2211 b'ui',
2206 b'archivemeta',
2212 b'archivemeta',
2207 default=True,
2213 default=True,
2208 )
2214 )
2209 coreconfigitem(
2215 coreconfigitem(
2210 b'ui',
2216 b'ui',
2211 b'askusername',
2217 b'askusername',
2212 default=False,
2218 default=False,
2213 )
2219 )
2214 coreconfigitem(
2220 coreconfigitem(
2215 b'ui',
2221 b'ui',
2216 b'available-memory',
2222 b'available-memory',
2217 default=None,
2223 default=None,
2218 )
2224 )
2219
2225
2220 coreconfigitem(
2226 coreconfigitem(
2221 b'ui',
2227 b'ui',
2222 b'clonebundlefallback',
2228 b'clonebundlefallback',
2223 default=False,
2229 default=False,
2224 )
2230 )
2225 coreconfigitem(
2231 coreconfigitem(
2226 b'ui',
2232 b'ui',
2227 b'clonebundleprefers',
2233 b'clonebundleprefers',
2228 default=list,
2234 default=list,
2229 )
2235 )
2230 coreconfigitem(
2236 coreconfigitem(
2231 b'ui',
2237 b'ui',
2232 b'clonebundles',
2238 b'clonebundles',
2233 default=True,
2239 default=True,
2234 )
2240 )
2235 coreconfigitem(
2241 coreconfigitem(
2236 b'ui',
2242 b'ui',
2237 b'color',
2243 b'color',
2238 default=b'auto',
2244 default=b'auto',
2239 )
2245 )
2240 coreconfigitem(
2246 coreconfigitem(
2241 b'ui',
2247 b'ui',
2242 b'commitsubrepos',
2248 b'commitsubrepos',
2243 default=False,
2249 default=False,
2244 )
2250 )
2245 coreconfigitem(
2251 coreconfigitem(
2246 b'ui',
2252 b'ui',
2247 b'debug',
2253 b'debug',
2248 default=False,
2254 default=False,
2249 )
2255 )
2250 coreconfigitem(
2256 coreconfigitem(
2251 b'ui',
2257 b'ui',
2252 b'debugger',
2258 b'debugger',
2253 default=None,
2259 default=None,
2254 )
2260 )
2255 coreconfigitem(
2261 coreconfigitem(
2256 b'ui',
2262 b'ui',
2257 b'editor',
2263 b'editor',
2258 default=dynamicdefault,
2264 default=dynamicdefault,
2259 )
2265 )
2260 coreconfigitem(
2266 coreconfigitem(
2261 b'ui',
2267 b'ui',
2262 b'detailed-exit-code',
2268 b'detailed-exit-code',
2263 default=False,
2269 default=False,
2264 experimental=True,
2270 experimental=True,
2265 )
2271 )
2266 coreconfigitem(
2272 coreconfigitem(
2267 b'ui',
2273 b'ui',
2268 b'fallbackencoding',
2274 b'fallbackencoding',
2269 default=None,
2275 default=None,
2270 )
2276 )
2271 coreconfigitem(
2277 coreconfigitem(
2272 b'ui',
2278 b'ui',
2273 b'forcecwd',
2279 b'forcecwd',
2274 default=None,
2280 default=None,
2275 )
2281 )
2276 coreconfigitem(
2282 coreconfigitem(
2277 b'ui',
2283 b'ui',
2278 b'forcemerge',
2284 b'forcemerge',
2279 default=None,
2285 default=None,
2280 )
2286 )
2281 coreconfigitem(
2287 coreconfigitem(
2282 b'ui',
2288 b'ui',
2283 b'formatdebug',
2289 b'formatdebug',
2284 default=False,
2290 default=False,
2285 )
2291 )
2286 coreconfigitem(
2292 coreconfigitem(
2287 b'ui',
2293 b'ui',
2288 b'formatjson',
2294 b'formatjson',
2289 default=False,
2295 default=False,
2290 )
2296 )
2291 coreconfigitem(
2297 coreconfigitem(
2292 b'ui',
2298 b'ui',
2293 b'formatted',
2299 b'formatted',
2294 default=None,
2300 default=None,
2295 )
2301 )
2296 coreconfigitem(
2302 coreconfigitem(
2297 b'ui',
2303 b'ui',
2298 b'interactive',
2304 b'interactive',
2299 default=None,
2305 default=None,
2300 )
2306 )
2301 coreconfigitem(
2307 coreconfigitem(
2302 b'ui',
2308 b'ui',
2303 b'interface',
2309 b'interface',
2304 default=None,
2310 default=None,
2305 )
2311 )
2306 coreconfigitem(
2312 coreconfigitem(
2307 b'ui',
2313 b'ui',
2308 b'interface.chunkselector',
2314 b'interface.chunkselector',
2309 default=None,
2315 default=None,
2310 )
2316 )
2311 coreconfigitem(
2317 coreconfigitem(
2312 b'ui',
2318 b'ui',
2313 b'large-file-limit',
2319 b'large-file-limit',
2314 default=10000000,
2320 default=10000000,
2315 )
2321 )
2316 coreconfigitem(
2322 coreconfigitem(
2317 b'ui',
2323 b'ui',
2318 b'logblockedtimes',
2324 b'logblockedtimes',
2319 default=False,
2325 default=False,
2320 )
2326 )
2321 coreconfigitem(
2327 coreconfigitem(
2322 b'ui',
2328 b'ui',
2323 b'merge',
2329 b'merge',
2324 default=None,
2330 default=None,
2325 )
2331 )
2326 coreconfigitem(
2332 coreconfigitem(
2327 b'ui',
2333 b'ui',
2328 b'mergemarkers',
2334 b'mergemarkers',
2329 default=b'basic',
2335 default=b'basic',
2330 )
2336 )
2331 coreconfigitem(
2337 coreconfigitem(
2332 b'ui',
2338 b'ui',
2333 b'message-output',
2339 b'message-output',
2334 default=b'stdio',
2340 default=b'stdio',
2335 )
2341 )
2336 coreconfigitem(
2342 coreconfigitem(
2337 b'ui',
2343 b'ui',
2338 b'nontty',
2344 b'nontty',
2339 default=False,
2345 default=False,
2340 )
2346 )
2341 coreconfigitem(
2347 coreconfigitem(
2342 b'ui',
2348 b'ui',
2343 b'origbackuppath',
2349 b'origbackuppath',
2344 default=None,
2350 default=None,
2345 )
2351 )
2346 coreconfigitem(
2352 coreconfigitem(
2347 b'ui',
2353 b'ui',
2348 b'paginate',
2354 b'paginate',
2349 default=True,
2355 default=True,
2350 )
2356 )
2351 coreconfigitem(
2357 coreconfigitem(
2352 b'ui',
2358 b'ui',
2353 b'patch',
2359 b'patch',
2354 default=None,
2360 default=None,
2355 )
2361 )
2356 coreconfigitem(
2362 coreconfigitem(
2357 b'ui',
2363 b'ui',
2358 b'portablefilenames',
2364 b'portablefilenames',
2359 default=b'warn',
2365 default=b'warn',
2360 )
2366 )
2361 coreconfigitem(
2367 coreconfigitem(
2362 b'ui',
2368 b'ui',
2363 b'promptecho',
2369 b'promptecho',
2364 default=False,
2370 default=False,
2365 )
2371 )
2366 coreconfigitem(
2372 coreconfigitem(
2367 b'ui',
2373 b'ui',
2368 b'quiet',
2374 b'quiet',
2369 default=False,
2375 default=False,
2370 )
2376 )
2371 coreconfigitem(
2377 coreconfigitem(
2372 b'ui',
2378 b'ui',
2373 b'quietbookmarkmove',
2379 b'quietbookmarkmove',
2374 default=False,
2380 default=False,
2375 )
2381 )
2376 coreconfigitem(
2382 coreconfigitem(
2377 b'ui',
2383 b'ui',
2378 b'relative-paths',
2384 b'relative-paths',
2379 default=b'legacy',
2385 default=b'legacy',
2380 )
2386 )
2381 coreconfigitem(
2387 coreconfigitem(
2382 b'ui',
2388 b'ui',
2383 b'remotecmd',
2389 b'remotecmd',
2384 default=b'hg',
2390 default=b'hg',
2385 )
2391 )
2386 coreconfigitem(
2392 coreconfigitem(
2387 b'ui',
2393 b'ui',
2388 b'report_untrusted',
2394 b'report_untrusted',
2389 default=True,
2395 default=True,
2390 )
2396 )
2391 coreconfigitem(
2397 coreconfigitem(
2392 b'ui',
2398 b'ui',
2393 b'rollback',
2399 b'rollback',
2394 default=True,
2400 default=True,
2395 )
2401 )
2396 coreconfigitem(
2402 coreconfigitem(
2397 b'ui',
2403 b'ui',
2398 b'signal-safe-lock',
2404 b'signal-safe-lock',
2399 default=True,
2405 default=True,
2400 )
2406 )
2401 coreconfigitem(
2407 coreconfigitem(
2402 b'ui',
2408 b'ui',
2403 b'slash',
2409 b'slash',
2404 default=False,
2410 default=False,
2405 )
2411 )
2406 coreconfigitem(
2412 coreconfigitem(
2407 b'ui',
2413 b'ui',
2408 b'ssh',
2414 b'ssh',
2409 default=b'ssh',
2415 default=b'ssh',
2410 )
2416 )
2411 coreconfigitem(
2417 coreconfigitem(
2412 b'ui',
2418 b'ui',
2413 b'ssherrorhint',
2419 b'ssherrorhint',
2414 default=None,
2420 default=None,
2415 )
2421 )
2416 coreconfigitem(
2422 coreconfigitem(
2417 b'ui',
2423 b'ui',
2418 b'statuscopies',
2424 b'statuscopies',
2419 default=False,
2425 default=False,
2420 )
2426 )
2421 coreconfigitem(
2427 coreconfigitem(
2422 b'ui',
2428 b'ui',
2423 b'strict',
2429 b'strict',
2424 default=False,
2430 default=False,
2425 )
2431 )
2426 coreconfigitem(
2432 coreconfigitem(
2427 b'ui',
2433 b'ui',
2428 b'style',
2434 b'style',
2429 default=b'',
2435 default=b'',
2430 )
2436 )
2431 coreconfigitem(
2437 coreconfigitem(
2432 b'ui',
2438 b'ui',
2433 b'supportcontact',
2439 b'supportcontact',
2434 default=None,
2440 default=None,
2435 )
2441 )
2436 coreconfigitem(
2442 coreconfigitem(
2437 b'ui',
2443 b'ui',
2438 b'textwidth',
2444 b'textwidth',
2439 default=78,
2445 default=78,
2440 )
2446 )
2441 coreconfigitem(
2447 coreconfigitem(
2442 b'ui',
2448 b'ui',
2443 b'timeout',
2449 b'timeout',
2444 default=b'600',
2450 default=b'600',
2445 )
2451 )
2446 coreconfigitem(
2452 coreconfigitem(
2447 b'ui',
2453 b'ui',
2448 b'timeout.warn',
2454 b'timeout.warn',
2449 default=0,
2455 default=0,
2450 )
2456 )
2451 coreconfigitem(
2457 coreconfigitem(
2452 b'ui',
2458 b'ui',
2453 b'timestamp-output',
2459 b'timestamp-output',
2454 default=False,
2460 default=False,
2455 )
2461 )
2456 coreconfigitem(
2462 coreconfigitem(
2457 b'ui',
2463 b'ui',
2458 b'traceback',
2464 b'traceback',
2459 default=False,
2465 default=False,
2460 )
2466 )
2461 coreconfigitem(
2467 coreconfigitem(
2462 b'ui',
2468 b'ui',
2463 b'tweakdefaults',
2469 b'tweakdefaults',
2464 default=False,
2470 default=False,
2465 )
2471 )
2466 coreconfigitem(b'ui', b'username', alias=[(b'ui', b'user')])
2472 coreconfigitem(b'ui', b'username', alias=[(b'ui', b'user')])
2467 coreconfigitem(
2473 coreconfigitem(
2468 b'ui',
2474 b'ui',
2469 b'verbose',
2475 b'verbose',
2470 default=False,
2476 default=False,
2471 )
2477 )
2472 coreconfigitem(
2478 coreconfigitem(
2473 b'verify',
2479 b'verify',
2474 b'skipflags',
2480 b'skipflags',
2475 default=None,
2481 default=None,
2476 )
2482 )
2477 coreconfigitem(
2483 coreconfigitem(
2478 b'web',
2484 b'web',
2479 b'allowbz2',
2485 b'allowbz2',
2480 default=False,
2486 default=False,
2481 )
2487 )
2482 coreconfigitem(
2488 coreconfigitem(
2483 b'web',
2489 b'web',
2484 b'allowgz',
2490 b'allowgz',
2485 default=False,
2491 default=False,
2486 )
2492 )
2487 coreconfigitem(
2493 coreconfigitem(
2488 b'web',
2494 b'web',
2489 b'allow-pull',
2495 b'allow-pull',
2490 alias=[(b'web', b'allowpull')],
2496 alias=[(b'web', b'allowpull')],
2491 default=True,
2497 default=True,
2492 )
2498 )
2493 coreconfigitem(
2499 coreconfigitem(
2494 b'web',
2500 b'web',
2495 b'allow-push',
2501 b'allow-push',
2496 alias=[(b'web', b'allow_push')],
2502 alias=[(b'web', b'allow_push')],
2497 default=list,
2503 default=list,
2498 )
2504 )
2499 coreconfigitem(
2505 coreconfigitem(
2500 b'web',
2506 b'web',
2501 b'allowzip',
2507 b'allowzip',
2502 default=False,
2508 default=False,
2503 )
2509 )
2504 coreconfigitem(
2510 coreconfigitem(
2505 b'web',
2511 b'web',
2506 b'archivesubrepos',
2512 b'archivesubrepos',
2507 default=False,
2513 default=False,
2508 )
2514 )
2509 coreconfigitem(
2515 coreconfigitem(
2510 b'web',
2516 b'web',
2511 b'cache',
2517 b'cache',
2512 default=True,
2518 default=True,
2513 )
2519 )
2514 coreconfigitem(
2520 coreconfigitem(
2515 b'web',
2521 b'web',
2516 b'comparisoncontext',
2522 b'comparisoncontext',
2517 default=5,
2523 default=5,
2518 )
2524 )
2519 coreconfigitem(
2525 coreconfigitem(
2520 b'web',
2526 b'web',
2521 b'contact',
2527 b'contact',
2522 default=None,
2528 default=None,
2523 )
2529 )
2524 coreconfigitem(
2530 coreconfigitem(
2525 b'web',
2531 b'web',
2526 b'deny_push',
2532 b'deny_push',
2527 default=list,
2533 default=list,
2528 )
2534 )
2529 coreconfigitem(
2535 coreconfigitem(
2530 b'web',
2536 b'web',
2531 b'guessmime',
2537 b'guessmime',
2532 default=False,
2538 default=False,
2533 )
2539 )
2534 coreconfigitem(
2540 coreconfigitem(
2535 b'web',
2541 b'web',
2536 b'hidden',
2542 b'hidden',
2537 default=False,
2543 default=False,
2538 )
2544 )
2539 coreconfigitem(
2545 coreconfigitem(
2540 b'web',
2546 b'web',
2541 b'labels',
2547 b'labels',
2542 default=list,
2548 default=list,
2543 )
2549 )
2544 coreconfigitem(
2550 coreconfigitem(
2545 b'web',
2551 b'web',
2546 b'logoimg',
2552 b'logoimg',
2547 default=b'hglogo.png',
2553 default=b'hglogo.png',
2548 )
2554 )
2549 coreconfigitem(
2555 coreconfigitem(
2550 b'web',
2556 b'web',
2551 b'logourl',
2557 b'logourl',
2552 default=b'https://mercurial-scm.org/',
2558 default=b'https://mercurial-scm.org/',
2553 )
2559 )
2554 coreconfigitem(
2560 coreconfigitem(
2555 b'web',
2561 b'web',
2556 b'accesslog',
2562 b'accesslog',
2557 default=b'-',
2563 default=b'-',
2558 )
2564 )
2559 coreconfigitem(
2565 coreconfigitem(
2560 b'web',
2566 b'web',
2561 b'address',
2567 b'address',
2562 default=b'',
2568 default=b'',
2563 )
2569 )
2564 coreconfigitem(
2570 coreconfigitem(
2565 b'web',
2571 b'web',
2566 b'allow-archive',
2572 b'allow-archive',
2567 alias=[(b'web', b'allow_archive')],
2573 alias=[(b'web', b'allow_archive')],
2568 default=list,
2574 default=list,
2569 )
2575 )
2570 coreconfigitem(
2576 coreconfigitem(
2571 b'web',
2577 b'web',
2572 b'allow_read',
2578 b'allow_read',
2573 default=list,
2579 default=list,
2574 )
2580 )
2575 coreconfigitem(
2581 coreconfigitem(
2576 b'web',
2582 b'web',
2577 b'baseurl',
2583 b'baseurl',
2578 default=None,
2584 default=None,
2579 )
2585 )
2580 coreconfigitem(
2586 coreconfigitem(
2581 b'web',
2587 b'web',
2582 b'cacerts',
2588 b'cacerts',
2583 default=None,
2589 default=None,
2584 )
2590 )
2585 coreconfigitem(
2591 coreconfigitem(
2586 b'web',
2592 b'web',
2587 b'certificate',
2593 b'certificate',
2588 default=None,
2594 default=None,
2589 )
2595 )
2590 coreconfigitem(
2596 coreconfigitem(
2591 b'web',
2597 b'web',
2592 b'collapse',
2598 b'collapse',
2593 default=False,
2599 default=False,
2594 )
2600 )
2595 coreconfigitem(
2601 coreconfigitem(
2596 b'web',
2602 b'web',
2597 b'csp',
2603 b'csp',
2598 default=None,
2604 default=None,
2599 )
2605 )
2600 coreconfigitem(
2606 coreconfigitem(
2601 b'web',
2607 b'web',
2602 b'deny_read',
2608 b'deny_read',
2603 default=list,
2609 default=list,
2604 )
2610 )
2605 coreconfigitem(
2611 coreconfigitem(
2606 b'web',
2612 b'web',
2607 b'descend',
2613 b'descend',
2608 default=True,
2614 default=True,
2609 )
2615 )
2610 coreconfigitem(
2616 coreconfigitem(
2611 b'web',
2617 b'web',
2612 b'description',
2618 b'description',
2613 default=b"",
2619 default=b"",
2614 )
2620 )
2615 coreconfigitem(
2621 coreconfigitem(
2616 b'web',
2622 b'web',
2617 b'encoding',
2623 b'encoding',
2618 default=lambda: encoding.encoding,
2624 default=lambda: encoding.encoding,
2619 )
2625 )
2620 coreconfigitem(
2626 coreconfigitem(
2621 b'web',
2627 b'web',
2622 b'errorlog',
2628 b'errorlog',
2623 default=b'-',
2629 default=b'-',
2624 )
2630 )
2625 coreconfigitem(
2631 coreconfigitem(
2626 b'web',
2632 b'web',
2627 b'ipv6',
2633 b'ipv6',
2628 default=False,
2634 default=False,
2629 )
2635 )
2630 coreconfigitem(
2636 coreconfigitem(
2631 b'web',
2637 b'web',
2632 b'maxchanges',
2638 b'maxchanges',
2633 default=10,
2639 default=10,
2634 )
2640 )
2635 coreconfigitem(
2641 coreconfigitem(
2636 b'web',
2642 b'web',
2637 b'maxfiles',
2643 b'maxfiles',
2638 default=10,
2644 default=10,
2639 )
2645 )
2640 coreconfigitem(
2646 coreconfigitem(
2641 b'web',
2647 b'web',
2642 b'maxshortchanges',
2648 b'maxshortchanges',
2643 default=60,
2649 default=60,
2644 )
2650 )
2645 coreconfigitem(
2651 coreconfigitem(
2646 b'web',
2652 b'web',
2647 b'motd',
2653 b'motd',
2648 default=b'',
2654 default=b'',
2649 )
2655 )
2650 coreconfigitem(
2656 coreconfigitem(
2651 b'web',
2657 b'web',
2652 b'name',
2658 b'name',
2653 default=dynamicdefault,
2659 default=dynamicdefault,
2654 )
2660 )
2655 coreconfigitem(
2661 coreconfigitem(
2656 b'web',
2662 b'web',
2657 b'port',
2663 b'port',
2658 default=8000,
2664 default=8000,
2659 )
2665 )
2660 coreconfigitem(
2666 coreconfigitem(
2661 b'web',
2667 b'web',
2662 b'prefix',
2668 b'prefix',
2663 default=b'',
2669 default=b'',
2664 )
2670 )
2665 coreconfigitem(
2671 coreconfigitem(
2666 b'web',
2672 b'web',
2667 b'push_ssl',
2673 b'push_ssl',
2668 default=True,
2674 default=True,
2669 )
2675 )
2670 coreconfigitem(
2676 coreconfigitem(
2671 b'web',
2677 b'web',
2672 b'refreshinterval',
2678 b'refreshinterval',
2673 default=20,
2679 default=20,
2674 )
2680 )
2675 coreconfigitem(
2681 coreconfigitem(
2676 b'web',
2682 b'web',
2677 b'server-header',
2683 b'server-header',
2678 default=None,
2684 default=None,
2679 )
2685 )
2680 coreconfigitem(
2686 coreconfigitem(
2681 b'web',
2687 b'web',
2682 b'static',
2688 b'static',
2683 default=None,
2689 default=None,
2684 )
2690 )
2685 coreconfigitem(
2691 coreconfigitem(
2686 b'web',
2692 b'web',
2687 b'staticurl',
2693 b'staticurl',
2688 default=None,
2694 default=None,
2689 )
2695 )
2690 coreconfigitem(
2696 coreconfigitem(
2691 b'web',
2697 b'web',
2692 b'stripes',
2698 b'stripes',
2693 default=1,
2699 default=1,
2694 )
2700 )
2695 coreconfigitem(
2701 coreconfigitem(
2696 b'web',
2702 b'web',
2697 b'style',
2703 b'style',
2698 default=b'paper',
2704 default=b'paper',
2699 )
2705 )
2700 coreconfigitem(
2706 coreconfigitem(
2701 b'web',
2707 b'web',
2702 b'templates',
2708 b'templates',
2703 default=None,
2709 default=None,
2704 )
2710 )
2705 coreconfigitem(
2711 coreconfigitem(
2706 b'web',
2712 b'web',
2707 b'view',
2713 b'view',
2708 default=b'served',
2714 default=b'served',
2709 experimental=True,
2715 experimental=True,
2710 )
2716 )
2711 coreconfigitem(
2717 coreconfigitem(
2712 b'worker',
2718 b'worker',
2713 b'backgroundclose',
2719 b'backgroundclose',
2714 default=dynamicdefault,
2720 default=dynamicdefault,
2715 )
2721 )
2716 # Windows defaults to a limit of 512 open files. A buffer of 128
2722 # Windows defaults to a limit of 512 open files. A buffer of 128
2717 # should give us enough headway.
2723 # should give us enough headway.
2718 coreconfigitem(
2724 coreconfigitem(
2719 b'worker',
2725 b'worker',
2720 b'backgroundclosemaxqueue',
2726 b'backgroundclosemaxqueue',
2721 default=384,
2727 default=384,
2722 )
2728 )
2723 coreconfigitem(
2729 coreconfigitem(
2724 b'worker',
2730 b'worker',
2725 b'backgroundcloseminfilecount',
2731 b'backgroundcloseminfilecount',
2726 default=2048,
2732 default=2048,
2727 )
2733 )
2728 coreconfigitem(
2734 coreconfigitem(
2729 b'worker',
2735 b'worker',
2730 b'backgroundclosethreadcount',
2736 b'backgroundclosethreadcount',
2731 default=4,
2737 default=4,
2732 )
2738 )
2733 coreconfigitem(
2739 coreconfigitem(
2734 b'worker',
2740 b'worker',
2735 b'enabled',
2741 b'enabled',
2736 default=True,
2742 default=True,
2737 )
2743 )
2738 coreconfigitem(
2744 coreconfigitem(
2739 b'worker',
2745 b'worker',
2740 b'numcpus',
2746 b'numcpus',
2741 default=None,
2747 default=None,
2742 )
2748 )
2743
2749
2744 # Rebase related configuration moved to core because other extension are doing
2750 # Rebase related configuration moved to core because other extension are doing
2745 # strange things. For example, shelve import the extensions to reuse some bit
2751 # strange things. For example, shelve import the extensions to reuse some bit
2746 # without formally loading it.
2752 # without formally loading it.
2747 coreconfigitem(
2753 coreconfigitem(
2748 b'commands',
2754 b'commands',
2749 b'rebase.requiredest',
2755 b'rebase.requiredest',
2750 default=False,
2756 default=False,
2751 )
2757 )
2752 coreconfigitem(
2758 coreconfigitem(
2753 b'experimental',
2759 b'experimental',
2754 b'rebaseskipobsolete',
2760 b'rebaseskipobsolete',
2755 default=True,
2761 default=True,
2756 )
2762 )
2757 coreconfigitem(
2763 coreconfigitem(
2758 b'rebase',
2764 b'rebase',
2759 b'singletransaction',
2765 b'singletransaction',
2760 default=False,
2766 default=False,
2761 )
2767 )
2762 coreconfigitem(
2768 coreconfigitem(
2763 b'rebase',
2769 b'rebase',
2764 b'experimental.inmemory',
2770 b'experimental.inmemory',
2765 default=False,
2771 default=False,
2766 )
2772 )
General Comments 0
You need to be logged in to leave comments. Login now