##// END OF EJS Templates
debug-delta: add minimal documentation for `devel.bundle-delta` option...
marmoute -
r51334:4ca794f4 stable
parent child Browse files
Show More
@@ -1,2970 +1,2974 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'debug',
587 b'debug',
588 b'revlog.debug-delta',
588 b'revlog.debug-delta',
589 default=False,
589 default=False,
590 )
590 )
591 # display extra information about the bundling process
591 # display extra information about the bundling process
592 coreconfigitem(
592 coreconfigitem(
593 b'debug',
593 b'debug',
594 b'bundling-stats',
594 b'bundling-stats',
595 default=False,
595 default=False,
596 )
596 )
597 # display extra information about the unbundling process
597 # display extra information about the unbundling process
598 coreconfigitem(
598 coreconfigitem(
599 b'debug',
599 b'debug',
600 b'unbundling-stats',
600 b'unbundling-stats',
601 default=False,
601 default=False,
602 )
602 )
603 coreconfigitem(
603 coreconfigitem(
604 b'defaults',
604 b'defaults',
605 b'.*',
605 b'.*',
606 default=None,
606 default=None,
607 generic=True,
607 generic=True,
608 )
608 )
609 coreconfigitem(
609 coreconfigitem(
610 b'devel',
610 b'devel',
611 b'all-warnings',
611 b'all-warnings',
612 default=False,
612 default=False,
613 )
613 )
614 coreconfigitem(
614 coreconfigitem(
615 b'devel',
615 b'devel',
616 b'bundle2.debug',
616 b'bundle2.debug',
617 default=False,
617 default=False,
618 )
618 )
619 # which kind of delta to put in the bundled changegroup. Possible value
620 # - '': use default behavior
621 # - p1: force to always use delta against p1
622 # - full: force to always use full content
619 coreconfigitem(
623 coreconfigitem(
620 b'devel',
624 b'devel',
621 b'bundle.delta',
625 b'bundle.delta',
622 default=b'',
626 default=b'',
623 )
627 )
624 coreconfigitem(
628 coreconfigitem(
625 b'devel',
629 b'devel',
626 b'cache-vfs',
630 b'cache-vfs',
627 default=None,
631 default=None,
628 )
632 )
629 coreconfigitem(
633 coreconfigitem(
630 b'devel',
634 b'devel',
631 b'check-locks',
635 b'check-locks',
632 default=False,
636 default=False,
633 )
637 )
634 coreconfigitem(
638 coreconfigitem(
635 b'devel',
639 b'devel',
636 b'check-relroot',
640 b'check-relroot',
637 default=False,
641 default=False,
638 )
642 )
639 # Track copy information for all file, not just "added" one (very slow)
643 # Track copy information for all file, not just "added" one (very slow)
640 coreconfigitem(
644 coreconfigitem(
641 b'devel',
645 b'devel',
642 b'copy-tracing.trace-all-files',
646 b'copy-tracing.trace-all-files',
643 default=False,
647 default=False,
644 )
648 )
645 coreconfigitem(
649 coreconfigitem(
646 b'devel',
650 b'devel',
647 b'default-date',
651 b'default-date',
648 default=None,
652 default=None,
649 )
653 )
650 coreconfigitem(
654 coreconfigitem(
651 b'devel',
655 b'devel',
652 b'deprec-warn',
656 b'deprec-warn',
653 default=False,
657 default=False,
654 )
658 )
655 # possible values:
659 # possible values:
656 # - auto (the default)
660 # - auto (the default)
657 # - force-append
661 # - force-append
658 # - force-new
662 # - force-new
659 coreconfigitem(
663 coreconfigitem(
660 b'devel',
664 b'devel',
661 b'dirstate.v2.data_update_mode',
665 b'dirstate.v2.data_update_mode',
662 default="auto",
666 default="auto",
663 )
667 )
664 coreconfigitem(
668 coreconfigitem(
665 b'devel',
669 b'devel',
666 b'disableloaddefaultcerts',
670 b'disableloaddefaultcerts',
667 default=False,
671 default=False,
668 )
672 )
669 coreconfigitem(
673 coreconfigitem(
670 b'devel',
674 b'devel',
671 b'warn-empty-changegroup',
675 b'warn-empty-changegroup',
672 default=False,
676 default=False,
673 )
677 )
674 coreconfigitem(
678 coreconfigitem(
675 b'devel',
679 b'devel',
676 b'legacy.exchange',
680 b'legacy.exchange',
677 default=list,
681 default=list,
678 )
682 )
679 # When True, revlogs use a special reference version of the nodemap, that is not
683 # When True, revlogs use a special reference version of the nodemap, that is not
680 # performant but is "known" to behave properly.
684 # performant but is "known" to behave properly.
681 coreconfigitem(
685 coreconfigitem(
682 b'devel',
686 b'devel',
683 b'persistent-nodemap',
687 b'persistent-nodemap',
684 default=False,
688 default=False,
685 )
689 )
686 coreconfigitem(
690 coreconfigitem(
687 b'devel',
691 b'devel',
688 b'servercafile',
692 b'servercafile',
689 default=b'',
693 default=b'',
690 )
694 )
691 # This config option is intended for use in tests only. It is a giant
695 # This config option is intended for use in tests only. It is a giant
692 # footgun to kill security. Don't define it.
696 # footgun to kill security. Don't define it.
693 coreconfigitem(
697 coreconfigitem(
694 b'devel',
698 b'devel',
695 b'server-insecure-exact-protocol',
699 b'server-insecure-exact-protocol',
696 default=b'',
700 default=b'',
697 )
701 )
698 coreconfigitem(
702 coreconfigitem(
699 b'devel',
703 b'devel',
700 b'serverrequirecert',
704 b'serverrequirecert',
701 default=False,
705 default=False,
702 )
706 )
703 # Makes the status algorithm wait for the existence of this file
707 # Makes the status algorithm wait for the existence of this file
704 # (or until a timeout of `devel.sync.status.pre-dirstate-write-file-timeout`
708 # (or until a timeout of `devel.sync.status.pre-dirstate-write-file-timeout`
705 # seconds) before taking the lock and writing the dirstate.
709 # seconds) before taking the lock and writing the dirstate.
706 # Status signals that it's ready to wait by creating a file
710 # Status signals that it's ready to wait by creating a file
707 # with the same name + `.waiting`.
711 # with the same name + `.waiting`.
708 # Useful when testing race conditions.
712 # Useful when testing race conditions.
709 coreconfigitem(
713 coreconfigitem(
710 b'devel',
714 b'devel',
711 b'sync.status.pre-dirstate-write-file',
715 b'sync.status.pre-dirstate-write-file',
712 default=None,
716 default=None,
713 )
717 )
714 coreconfigitem(
718 coreconfigitem(
715 b'devel',
719 b'devel',
716 b'sync.status.pre-dirstate-write-file-timeout',
720 b'sync.status.pre-dirstate-write-file-timeout',
717 default=2,
721 default=2,
718 )
722 )
719 coreconfigitem(
723 coreconfigitem(
720 b'devel',
724 b'devel',
721 b'sync.dirstate.post-docket-read-file',
725 b'sync.dirstate.post-docket-read-file',
722 default=None,
726 default=None,
723 )
727 )
724 coreconfigitem(
728 coreconfigitem(
725 b'devel',
729 b'devel',
726 b'sync.dirstate.post-docket-read-file-timeout',
730 b'sync.dirstate.post-docket-read-file-timeout',
727 default=2,
731 default=2,
728 )
732 )
729 coreconfigitem(
733 coreconfigitem(
730 b'devel',
734 b'devel',
731 b'sync.dirstate.pre-read-file',
735 b'sync.dirstate.pre-read-file',
732 default=None,
736 default=None,
733 )
737 )
734 coreconfigitem(
738 coreconfigitem(
735 b'devel',
739 b'devel',
736 b'sync.dirstate.pre-read-file-timeout',
740 b'sync.dirstate.pre-read-file-timeout',
737 default=2,
741 default=2,
738 )
742 )
739 coreconfigitem(
743 coreconfigitem(
740 b'devel',
744 b'devel',
741 b'strip-obsmarkers',
745 b'strip-obsmarkers',
742 default=True,
746 default=True,
743 )
747 )
744 coreconfigitem(
748 coreconfigitem(
745 b'devel',
749 b'devel',
746 b'warn-config',
750 b'warn-config',
747 default=None,
751 default=None,
748 )
752 )
749 coreconfigitem(
753 coreconfigitem(
750 b'devel',
754 b'devel',
751 b'warn-config-default',
755 b'warn-config-default',
752 default=None,
756 default=None,
753 )
757 )
754 coreconfigitem(
758 coreconfigitem(
755 b'devel',
759 b'devel',
756 b'user.obsmarker',
760 b'user.obsmarker',
757 default=None,
761 default=None,
758 )
762 )
759 coreconfigitem(
763 coreconfigitem(
760 b'devel',
764 b'devel',
761 b'warn-config-unknown',
765 b'warn-config-unknown',
762 default=None,
766 default=None,
763 )
767 )
764 coreconfigitem(
768 coreconfigitem(
765 b'devel',
769 b'devel',
766 b'debug.copies',
770 b'debug.copies',
767 default=False,
771 default=False,
768 )
772 )
769 coreconfigitem(
773 coreconfigitem(
770 b'devel',
774 b'devel',
771 b'copy-tracing.multi-thread',
775 b'copy-tracing.multi-thread',
772 default=True,
776 default=True,
773 )
777 )
774 coreconfigitem(
778 coreconfigitem(
775 b'devel',
779 b'devel',
776 b'debug.extensions',
780 b'debug.extensions',
777 default=False,
781 default=False,
778 )
782 )
779 coreconfigitem(
783 coreconfigitem(
780 b'devel',
784 b'devel',
781 b'debug.repo-filters',
785 b'debug.repo-filters',
782 default=False,
786 default=False,
783 )
787 )
784 coreconfigitem(
788 coreconfigitem(
785 b'devel',
789 b'devel',
786 b'debug.peer-request',
790 b'debug.peer-request',
787 default=False,
791 default=False,
788 )
792 )
789 # If discovery.exchange-heads is False, the discovery will not start with
793 # If discovery.exchange-heads is False, the discovery will not start with
790 # remote head fetching and local head querying.
794 # remote head fetching and local head querying.
791 coreconfigitem(
795 coreconfigitem(
792 b'devel',
796 b'devel',
793 b'discovery.exchange-heads',
797 b'discovery.exchange-heads',
794 default=True,
798 default=True,
795 )
799 )
796 # If devel.debug.abort-update is True, then any merge with the working copy,
800 # If devel.debug.abort-update is True, then any merge with the working copy,
797 # e.g. [hg update], will be aborted after figuring out what needs to be done,
801 # e.g. [hg update], will be aborted after figuring out what needs to be done,
798 # but before spawning the parallel worker
802 # but before spawning the parallel worker
799 coreconfigitem(
803 coreconfigitem(
800 b'devel',
804 b'devel',
801 b'debug.abort-update',
805 b'debug.abort-update',
802 default=False,
806 default=False,
803 )
807 )
804 # If discovery.grow-sample is False, the sample size used in set discovery will
808 # If discovery.grow-sample is False, the sample size used in set discovery will
805 # not be increased through the process
809 # not be increased through the process
806 coreconfigitem(
810 coreconfigitem(
807 b'devel',
811 b'devel',
808 b'discovery.grow-sample',
812 b'discovery.grow-sample',
809 default=True,
813 default=True,
810 )
814 )
811 # When discovery.grow-sample.dynamic is True, the default, the sample size is
815 # When discovery.grow-sample.dynamic is True, the default, the sample size is
812 # adapted to the shape of the undecided set (it is set to the max of:
816 # adapted to the shape of the undecided set (it is set to the max of:
813 # <target-size>, len(roots(undecided)), len(heads(undecided)
817 # <target-size>, len(roots(undecided)), len(heads(undecided)
814 coreconfigitem(
818 coreconfigitem(
815 b'devel',
819 b'devel',
816 b'discovery.grow-sample.dynamic',
820 b'discovery.grow-sample.dynamic',
817 default=True,
821 default=True,
818 )
822 )
819 # discovery.grow-sample.rate control the rate at which the sample grow
823 # discovery.grow-sample.rate control the rate at which the sample grow
820 coreconfigitem(
824 coreconfigitem(
821 b'devel',
825 b'devel',
822 b'discovery.grow-sample.rate',
826 b'discovery.grow-sample.rate',
823 default=1.05,
827 default=1.05,
824 )
828 )
825 # If discovery.randomize is False, random sampling during discovery are
829 # If discovery.randomize is False, random sampling during discovery are
826 # deterministic. It is meant for integration tests.
830 # deterministic. It is meant for integration tests.
827 coreconfigitem(
831 coreconfigitem(
828 b'devel',
832 b'devel',
829 b'discovery.randomize',
833 b'discovery.randomize',
830 default=True,
834 default=True,
831 )
835 )
832 # Control the initial size of the discovery sample
836 # Control the initial size of the discovery sample
833 coreconfigitem(
837 coreconfigitem(
834 b'devel',
838 b'devel',
835 b'discovery.sample-size',
839 b'discovery.sample-size',
836 default=200,
840 default=200,
837 )
841 )
838 # Control the initial size of the discovery for initial change
842 # Control the initial size of the discovery for initial change
839 coreconfigitem(
843 coreconfigitem(
840 b'devel',
844 b'devel',
841 b'discovery.sample-size.initial',
845 b'discovery.sample-size.initial',
842 default=100,
846 default=100,
843 )
847 )
844 _registerdiffopts(section=b'diff')
848 _registerdiffopts(section=b'diff')
845 coreconfigitem(
849 coreconfigitem(
846 b'diff',
850 b'diff',
847 b'merge',
851 b'merge',
848 default=False,
852 default=False,
849 experimental=True,
853 experimental=True,
850 )
854 )
851 coreconfigitem(
855 coreconfigitem(
852 b'email',
856 b'email',
853 b'bcc',
857 b'bcc',
854 default=None,
858 default=None,
855 )
859 )
856 coreconfigitem(
860 coreconfigitem(
857 b'email',
861 b'email',
858 b'cc',
862 b'cc',
859 default=None,
863 default=None,
860 )
864 )
861 coreconfigitem(
865 coreconfigitem(
862 b'email',
866 b'email',
863 b'charsets',
867 b'charsets',
864 default=list,
868 default=list,
865 )
869 )
866 coreconfigitem(
870 coreconfigitem(
867 b'email',
871 b'email',
868 b'from',
872 b'from',
869 default=None,
873 default=None,
870 )
874 )
871 coreconfigitem(
875 coreconfigitem(
872 b'email',
876 b'email',
873 b'method',
877 b'method',
874 default=b'smtp',
878 default=b'smtp',
875 )
879 )
876 coreconfigitem(
880 coreconfigitem(
877 b'email',
881 b'email',
878 b'reply-to',
882 b'reply-to',
879 default=None,
883 default=None,
880 )
884 )
881 coreconfigitem(
885 coreconfigitem(
882 b'email',
886 b'email',
883 b'to',
887 b'to',
884 default=None,
888 default=None,
885 )
889 )
886 coreconfigitem(
890 coreconfigitem(
887 b'experimental',
891 b'experimental',
888 b'archivemetatemplate',
892 b'archivemetatemplate',
889 default=dynamicdefault,
893 default=dynamicdefault,
890 )
894 )
891 coreconfigitem(
895 coreconfigitem(
892 b'experimental',
896 b'experimental',
893 b'auto-publish',
897 b'auto-publish',
894 default=b'publish',
898 default=b'publish',
895 )
899 )
896 coreconfigitem(
900 coreconfigitem(
897 b'experimental',
901 b'experimental',
898 b'bundle-phases',
902 b'bundle-phases',
899 default=False,
903 default=False,
900 )
904 )
901 coreconfigitem(
905 coreconfigitem(
902 b'experimental',
906 b'experimental',
903 b'bundle2-advertise',
907 b'bundle2-advertise',
904 default=True,
908 default=True,
905 )
909 )
906 coreconfigitem(
910 coreconfigitem(
907 b'experimental',
911 b'experimental',
908 b'bundle2-output-capture',
912 b'bundle2-output-capture',
909 default=False,
913 default=False,
910 )
914 )
911 coreconfigitem(
915 coreconfigitem(
912 b'experimental',
916 b'experimental',
913 b'bundle2.pushback',
917 b'bundle2.pushback',
914 default=False,
918 default=False,
915 )
919 )
916 coreconfigitem(
920 coreconfigitem(
917 b'experimental',
921 b'experimental',
918 b'bundle2lazylocking',
922 b'bundle2lazylocking',
919 default=False,
923 default=False,
920 )
924 )
921 coreconfigitem(
925 coreconfigitem(
922 b'experimental',
926 b'experimental',
923 b'bundlecomplevel',
927 b'bundlecomplevel',
924 default=None,
928 default=None,
925 )
929 )
926 coreconfigitem(
930 coreconfigitem(
927 b'experimental',
931 b'experimental',
928 b'bundlecomplevel.bzip2',
932 b'bundlecomplevel.bzip2',
929 default=None,
933 default=None,
930 )
934 )
931 coreconfigitem(
935 coreconfigitem(
932 b'experimental',
936 b'experimental',
933 b'bundlecomplevel.gzip',
937 b'bundlecomplevel.gzip',
934 default=None,
938 default=None,
935 )
939 )
936 coreconfigitem(
940 coreconfigitem(
937 b'experimental',
941 b'experimental',
938 b'bundlecomplevel.none',
942 b'bundlecomplevel.none',
939 default=None,
943 default=None,
940 )
944 )
941 coreconfigitem(
945 coreconfigitem(
942 b'experimental',
946 b'experimental',
943 b'bundlecomplevel.zstd',
947 b'bundlecomplevel.zstd',
944 default=None,
948 default=None,
945 )
949 )
946 coreconfigitem(
950 coreconfigitem(
947 b'experimental',
951 b'experimental',
948 b'bundlecompthreads',
952 b'bundlecompthreads',
949 default=None,
953 default=None,
950 )
954 )
951 coreconfigitem(
955 coreconfigitem(
952 b'experimental',
956 b'experimental',
953 b'bundlecompthreads.bzip2',
957 b'bundlecompthreads.bzip2',
954 default=None,
958 default=None,
955 )
959 )
956 coreconfigitem(
960 coreconfigitem(
957 b'experimental',
961 b'experimental',
958 b'bundlecompthreads.gzip',
962 b'bundlecompthreads.gzip',
959 default=None,
963 default=None,
960 )
964 )
961 coreconfigitem(
965 coreconfigitem(
962 b'experimental',
966 b'experimental',
963 b'bundlecompthreads.none',
967 b'bundlecompthreads.none',
964 default=None,
968 default=None,
965 )
969 )
966 coreconfigitem(
970 coreconfigitem(
967 b'experimental',
971 b'experimental',
968 b'bundlecompthreads.zstd',
972 b'bundlecompthreads.zstd',
969 default=None,
973 default=None,
970 )
974 )
971 coreconfigitem(
975 coreconfigitem(
972 b'experimental',
976 b'experimental',
973 b'changegroup3',
977 b'changegroup3',
974 default=False,
978 default=False,
975 )
979 )
976 coreconfigitem(
980 coreconfigitem(
977 b'experimental',
981 b'experimental',
978 b'changegroup4',
982 b'changegroup4',
979 default=False,
983 default=False,
980 )
984 )
981
985
982 # might remove rank configuration once the computation has no impact
986 # might remove rank configuration once the computation has no impact
983 coreconfigitem(
987 coreconfigitem(
984 b'experimental',
988 b'experimental',
985 b'changelog-v2.compute-rank',
989 b'changelog-v2.compute-rank',
986 default=True,
990 default=True,
987 )
991 )
988 coreconfigitem(
992 coreconfigitem(
989 b'experimental',
993 b'experimental',
990 b'cleanup-as-archived',
994 b'cleanup-as-archived',
991 default=False,
995 default=False,
992 )
996 )
993 coreconfigitem(
997 coreconfigitem(
994 b'experimental',
998 b'experimental',
995 b'clientcompressionengines',
999 b'clientcompressionengines',
996 default=list,
1000 default=list,
997 )
1001 )
998 coreconfigitem(
1002 coreconfigitem(
999 b'experimental',
1003 b'experimental',
1000 b'copytrace',
1004 b'copytrace',
1001 default=b'on',
1005 default=b'on',
1002 )
1006 )
1003 coreconfigitem(
1007 coreconfigitem(
1004 b'experimental',
1008 b'experimental',
1005 b'copytrace.movecandidateslimit',
1009 b'copytrace.movecandidateslimit',
1006 default=100,
1010 default=100,
1007 )
1011 )
1008 coreconfigitem(
1012 coreconfigitem(
1009 b'experimental',
1013 b'experimental',
1010 b'copytrace.sourcecommitlimit',
1014 b'copytrace.sourcecommitlimit',
1011 default=100,
1015 default=100,
1012 )
1016 )
1013 coreconfigitem(
1017 coreconfigitem(
1014 b'experimental',
1018 b'experimental',
1015 b'copies.read-from',
1019 b'copies.read-from',
1016 default=b"filelog-only",
1020 default=b"filelog-only",
1017 )
1021 )
1018 coreconfigitem(
1022 coreconfigitem(
1019 b'experimental',
1023 b'experimental',
1020 b'copies.write-to',
1024 b'copies.write-to',
1021 default=b'filelog-only',
1025 default=b'filelog-only',
1022 )
1026 )
1023 coreconfigitem(
1027 coreconfigitem(
1024 b'experimental',
1028 b'experimental',
1025 b'crecordtest',
1029 b'crecordtest',
1026 default=None,
1030 default=None,
1027 )
1031 )
1028 coreconfigitem(
1032 coreconfigitem(
1029 b'experimental',
1033 b'experimental',
1030 b'directaccess',
1034 b'directaccess',
1031 default=False,
1035 default=False,
1032 )
1036 )
1033 coreconfigitem(
1037 coreconfigitem(
1034 b'experimental',
1038 b'experimental',
1035 b'directaccess.revnums',
1039 b'directaccess.revnums',
1036 default=False,
1040 default=False,
1037 )
1041 )
1038 coreconfigitem(
1042 coreconfigitem(
1039 b'experimental',
1043 b'experimental',
1040 b'editortmpinhg',
1044 b'editortmpinhg',
1041 default=False,
1045 default=False,
1042 )
1046 )
1043 coreconfigitem(
1047 coreconfigitem(
1044 b'experimental',
1048 b'experimental',
1045 b'evolution',
1049 b'evolution',
1046 default=list,
1050 default=list,
1047 )
1051 )
1048 coreconfigitem(
1052 coreconfigitem(
1049 b'experimental',
1053 b'experimental',
1050 b'evolution.allowdivergence',
1054 b'evolution.allowdivergence',
1051 default=False,
1055 default=False,
1052 alias=[(b'experimental', b'allowdivergence')],
1056 alias=[(b'experimental', b'allowdivergence')],
1053 )
1057 )
1054 coreconfigitem(
1058 coreconfigitem(
1055 b'experimental',
1059 b'experimental',
1056 b'evolution.allowunstable',
1060 b'evolution.allowunstable',
1057 default=None,
1061 default=None,
1058 )
1062 )
1059 coreconfigitem(
1063 coreconfigitem(
1060 b'experimental',
1064 b'experimental',
1061 b'evolution.createmarkers',
1065 b'evolution.createmarkers',
1062 default=None,
1066 default=None,
1063 )
1067 )
1064 coreconfigitem(
1068 coreconfigitem(
1065 b'experimental',
1069 b'experimental',
1066 b'evolution.effect-flags',
1070 b'evolution.effect-flags',
1067 default=True,
1071 default=True,
1068 alias=[(b'experimental', b'effect-flags')],
1072 alias=[(b'experimental', b'effect-flags')],
1069 )
1073 )
1070 coreconfigitem(
1074 coreconfigitem(
1071 b'experimental',
1075 b'experimental',
1072 b'evolution.exchange',
1076 b'evolution.exchange',
1073 default=None,
1077 default=None,
1074 )
1078 )
1075 coreconfigitem(
1079 coreconfigitem(
1076 b'experimental',
1080 b'experimental',
1077 b'evolution.bundle-obsmarker',
1081 b'evolution.bundle-obsmarker',
1078 default=False,
1082 default=False,
1079 )
1083 )
1080 coreconfigitem(
1084 coreconfigitem(
1081 b'experimental',
1085 b'experimental',
1082 b'evolution.bundle-obsmarker:mandatory',
1086 b'evolution.bundle-obsmarker:mandatory',
1083 default=True,
1087 default=True,
1084 )
1088 )
1085 coreconfigitem(
1089 coreconfigitem(
1086 b'experimental',
1090 b'experimental',
1087 b'log.topo',
1091 b'log.topo',
1088 default=False,
1092 default=False,
1089 )
1093 )
1090 coreconfigitem(
1094 coreconfigitem(
1091 b'experimental',
1095 b'experimental',
1092 b'evolution.report-instabilities',
1096 b'evolution.report-instabilities',
1093 default=True,
1097 default=True,
1094 )
1098 )
1095 coreconfigitem(
1099 coreconfigitem(
1096 b'experimental',
1100 b'experimental',
1097 b'evolution.track-operation',
1101 b'evolution.track-operation',
1098 default=True,
1102 default=True,
1099 )
1103 )
1100 # repo-level config to exclude a revset visibility
1104 # repo-level config to exclude a revset visibility
1101 #
1105 #
1102 # The target use case is to use `share` to expose different subset of the same
1106 # The target use case is to use `share` to expose different subset of the same
1103 # repository, especially server side. See also `server.view`.
1107 # repository, especially server side. See also `server.view`.
1104 coreconfigitem(
1108 coreconfigitem(
1105 b'experimental',
1109 b'experimental',
1106 b'extra-filter-revs',
1110 b'extra-filter-revs',
1107 default=None,
1111 default=None,
1108 )
1112 )
1109 coreconfigitem(
1113 coreconfigitem(
1110 b'experimental',
1114 b'experimental',
1111 b'maxdeltachainspan',
1115 b'maxdeltachainspan',
1112 default=-1,
1116 default=-1,
1113 )
1117 )
1114 # tracks files which were undeleted (merge might delete them but we explicitly
1118 # tracks files which were undeleted (merge might delete them but we explicitly
1115 # kept/undeleted them) and creates new filenodes for them
1119 # kept/undeleted them) and creates new filenodes for them
1116 coreconfigitem(
1120 coreconfigitem(
1117 b'experimental',
1121 b'experimental',
1118 b'merge-track-salvaged',
1122 b'merge-track-salvaged',
1119 default=False,
1123 default=False,
1120 )
1124 )
1121 coreconfigitem(
1125 coreconfigitem(
1122 b'experimental',
1126 b'experimental',
1123 b'mmapindexthreshold',
1127 b'mmapindexthreshold',
1124 default=None,
1128 default=None,
1125 )
1129 )
1126 coreconfigitem(
1130 coreconfigitem(
1127 b'experimental',
1131 b'experimental',
1128 b'narrow',
1132 b'narrow',
1129 default=False,
1133 default=False,
1130 )
1134 )
1131 coreconfigitem(
1135 coreconfigitem(
1132 b'experimental',
1136 b'experimental',
1133 b'nonnormalparanoidcheck',
1137 b'nonnormalparanoidcheck',
1134 default=False,
1138 default=False,
1135 )
1139 )
1136 coreconfigitem(
1140 coreconfigitem(
1137 b'experimental',
1141 b'experimental',
1138 b'exportableenviron',
1142 b'exportableenviron',
1139 default=list,
1143 default=list,
1140 )
1144 )
1141 coreconfigitem(
1145 coreconfigitem(
1142 b'experimental',
1146 b'experimental',
1143 b'extendedheader.index',
1147 b'extendedheader.index',
1144 default=None,
1148 default=None,
1145 )
1149 )
1146 coreconfigitem(
1150 coreconfigitem(
1147 b'experimental',
1151 b'experimental',
1148 b'extendedheader.similarity',
1152 b'extendedheader.similarity',
1149 default=False,
1153 default=False,
1150 )
1154 )
1151 coreconfigitem(
1155 coreconfigitem(
1152 b'experimental',
1156 b'experimental',
1153 b'graphshorten',
1157 b'graphshorten',
1154 default=False,
1158 default=False,
1155 )
1159 )
1156 coreconfigitem(
1160 coreconfigitem(
1157 b'experimental',
1161 b'experimental',
1158 b'graphstyle.parent',
1162 b'graphstyle.parent',
1159 default=dynamicdefault,
1163 default=dynamicdefault,
1160 )
1164 )
1161 coreconfigitem(
1165 coreconfigitem(
1162 b'experimental',
1166 b'experimental',
1163 b'graphstyle.missing',
1167 b'graphstyle.missing',
1164 default=dynamicdefault,
1168 default=dynamicdefault,
1165 )
1169 )
1166 coreconfigitem(
1170 coreconfigitem(
1167 b'experimental',
1171 b'experimental',
1168 b'graphstyle.grandparent',
1172 b'graphstyle.grandparent',
1169 default=dynamicdefault,
1173 default=dynamicdefault,
1170 )
1174 )
1171 coreconfigitem(
1175 coreconfigitem(
1172 b'experimental',
1176 b'experimental',
1173 b'hook-track-tags',
1177 b'hook-track-tags',
1174 default=False,
1178 default=False,
1175 )
1179 )
1176 coreconfigitem(
1180 coreconfigitem(
1177 b'experimental',
1181 b'experimental',
1178 b'httppostargs',
1182 b'httppostargs',
1179 default=False,
1183 default=False,
1180 )
1184 )
1181 coreconfigitem(b'experimental', b'nointerrupt', default=False)
1185 coreconfigitem(b'experimental', b'nointerrupt', default=False)
1182 coreconfigitem(b'experimental', b'nointerrupt-interactiveonly', default=True)
1186 coreconfigitem(b'experimental', b'nointerrupt-interactiveonly', default=True)
1183
1187
1184 coreconfigitem(
1188 coreconfigitem(
1185 b'experimental',
1189 b'experimental',
1186 b'obsmarkers-exchange-debug',
1190 b'obsmarkers-exchange-debug',
1187 default=False,
1191 default=False,
1188 )
1192 )
1189 coreconfigitem(
1193 coreconfigitem(
1190 b'experimental',
1194 b'experimental',
1191 b'remotenames',
1195 b'remotenames',
1192 default=False,
1196 default=False,
1193 )
1197 )
1194 coreconfigitem(
1198 coreconfigitem(
1195 b'experimental',
1199 b'experimental',
1196 b'removeemptydirs',
1200 b'removeemptydirs',
1197 default=True,
1201 default=True,
1198 )
1202 )
1199 coreconfigitem(
1203 coreconfigitem(
1200 b'experimental',
1204 b'experimental',
1201 b'revert.interactive.select-to-keep',
1205 b'revert.interactive.select-to-keep',
1202 default=False,
1206 default=False,
1203 )
1207 )
1204 coreconfigitem(
1208 coreconfigitem(
1205 b'experimental',
1209 b'experimental',
1206 b'revisions.prefixhexnode',
1210 b'revisions.prefixhexnode',
1207 default=False,
1211 default=False,
1208 )
1212 )
1209 # "out of experimental" todo list.
1213 # "out of experimental" todo list.
1210 #
1214 #
1211 # * include management of a persistent nodemap in the main docket
1215 # * include management of a persistent nodemap in the main docket
1212 # * enforce a "no-truncate" policy for mmap safety
1216 # * enforce a "no-truncate" policy for mmap safety
1213 # - for censoring operation
1217 # - for censoring operation
1214 # - for stripping operation
1218 # - for stripping operation
1215 # - for rollback operation
1219 # - for rollback operation
1216 # * proper streaming (race free) of the docket file
1220 # * proper streaming (race free) of the docket file
1217 # * track garbage data to evemtually allow rewriting -existing- sidedata.
1221 # * track garbage data to evemtually allow rewriting -existing- sidedata.
1218 # * Exchange-wise, we will also need to do something more efficient than
1222 # * Exchange-wise, we will also need to do something more efficient than
1219 # keeping references to the affected revlogs, especially memory-wise when
1223 # keeping references to the affected revlogs, especially memory-wise when
1220 # rewriting sidedata.
1224 # rewriting sidedata.
1221 # * introduce a proper solution to reduce the number of filelog related files.
1225 # * introduce a proper solution to reduce the number of filelog related files.
1222 # * use caching for reading sidedata (similar to what we do for data).
1226 # * use caching for reading sidedata (similar to what we do for data).
1223 # * no longer set offset=0 if sidedata_size=0 (simplify cutoff computation).
1227 # * no longer set offset=0 if sidedata_size=0 (simplify cutoff computation).
1224 # * Improvement to consider
1228 # * Improvement to consider
1225 # - avoid compression header in chunk using the default compression?
1229 # - avoid compression header in chunk using the default compression?
1226 # - forbid "inline" compression mode entirely?
1230 # - forbid "inline" compression mode entirely?
1227 # - split the data offset and flag field (the 2 bytes save are mostly trouble)
1231 # - split the data offset and flag field (the 2 bytes save are mostly trouble)
1228 # - keep track of uncompressed -chunk- size (to preallocate memory better)
1232 # - keep track of uncompressed -chunk- size (to preallocate memory better)
1229 # - keep track of chain base or size (probably not that useful anymore)
1233 # - keep track of chain base or size (probably not that useful anymore)
1230 coreconfigitem(
1234 coreconfigitem(
1231 b'experimental',
1235 b'experimental',
1232 b'revlogv2',
1236 b'revlogv2',
1233 default=None,
1237 default=None,
1234 )
1238 )
1235 coreconfigitem(
1239 coreconfigitem(
1236 b'experimental',
1240 b'experimental',
1237 b'revisions.disambiguatewithin',
1241 b'revisions.disambiguatewithin',
1238 default=None,
1242 default=None,
1239 )
1243 )
1240 coreconfigitem(
1244 coreconfigitem(
1241 b'experimental',
1245 b'experimental',
1242 b'rust.index',
1246 b'rust.index',
1243 default=False,
1247 default=False,
1244 )
1248 )
1245 coreconfigitem(
1249 coreconfigitem(
1246 b'experimental',
1250 b'experimental',
1247 b'server.filesdata.recommended-batch-size',
1251 b'server.filesdata.recommended-batch-size',
1248 default=50000,
1252 default=50000,
1249 )
1253 )
1250 coreconfigitem(
1254 coreconfigitem(
1251 b'experimental',
1255 b'experimental',
1252 b'server.manifestdata.recommended-batch-size',
1256 b'server.manifestdata.recommended-batch-size',
1253 default=100000,
1257 default=100000,
1254 )
1258 )
1255 coreconfigitem(
1259 coreconfigitem(
1256 b'experimental',
1260 b'experimental',
1257 b'server.stream-narrow-clones',
1261 b'server.stream-narrow-clones',
1258 default=False,
1262 default=False,
1259 )
1263 )
1260 coreconfigitem(
1264 coreconfigitem(
1261 b'experimental',
1265 b'experimental',
1262 b'single-head-per-branch',
1266 b'single-head-per-branch',
1263 default=False,
1267 default=False,
1264 )
1268 )
1265 coreconfigitem(
1269 coreconfigitem(
1266 b'experimental',
1270 b'experimental',
1267 b'single-head-per-branch:account-closed-heads',
1271 b'single-head-per-branch:account-closed-heads',
1268 default=False,
1272 default=False,
1269 )
1273 )
1270 coreconfigitem(
1274 coreconfigitem(
1271 b'experimental',
1275 b'experimental',
1272 b'single-head-per-branch:public-changes-only',
1276 b'single-head-per-branch:public-changes-only',
1273 default=False,
1277 default=False,
1274 )
1278 )
1275 coreconfigitem(
1279 coreconfigitem(
1276 b'experimental',
1280 b'experimental',
1277 b'sparse-read',
1281 b'sparse-read',
1278 default=False,
1282 default=False,
1279 )
1283 )
1280 coreconfigitem(
1284 coreconfigitem(
1281 b'experimental',
1285 b'experimental',
1282 b'sparse-read.density-threshold',
1286 b'sparse-read.density-threshold',
1283 default=0.50,
1287 default=0.50,
1284 )
1288 )
1285 coreconfigitem(
1289 coreconfigitem(
1286 b'experimental',
1290 b'experimental',
1287 b'sparse-read.min-gap-size',
1291 b'sparse-read.min-gap-size',
1288 default=b'65K',
1292 default=b'65K',
1289 )
1293 )
1290 coreconfigitem(
1294 coreconfigitem(
1291 b'experimental',
1295 b'experimental',
1292 b'treemanifest',
1296 b'treemanifest',
1293 default=False,
1297 default=False,
1294 )
1298 )
1295 coreconfigitem(
1299 coreconfigitem(
1296 b'experimental',
1300 b'experimental',
1297 b'update.atomic-file',
1301 b'update.atomic-file',
1298 default=False,
1302 default=False,
1299 )
1303 )
1300 coreconfigitem(
1304 coreconfigitem(
1301 b'experimental',
1305 b'experimental',
1302 b'web.full-garbage-collection-rate',
1306 b'web.full-garbage-collection-rate',
1303 default=1, # still forcing a full collection on each request
1307 default=1, # still forcing a full collection on each request
1304 )
1308 )
1305 coreconfigitem(
1309 coreconfigitem(
1306 b'experimental',
1310 b'experimental',
1307 b'worker.wdir-get-thread-safe',
1311 b'worker.wdir-get-thread-safe',
1308 default=False,
1312 default=False,
1309 )
1313 )
1310 coreconfigitem(
1314 coreconfigitem(
1311 b'experimental',
1315 b'experimental',
1312 b'worker.repository-upgrade',
1316 b'worker.repository-upgrade',
1313 default=False,
1317 default=False,
1314 )
1318 )
1315 coreconfigitem(
1319 coreconfigitem(
1316 b'experimental',
1320 b'experimental',
1317 b'xdiff',
1321 b'xdiff',
1318 default=False,
1322 default=False,
1319 )
1323 )
1320 coreconfigitem(
1324 coreconfigitem(
1321 b'extensions',
1325 b'extensions',
1322 b'[^:]*',
1326 b'[^:]*',
1323 default=None,
1327 default=None,
1324 generic=True,
1328 generic=True,
1325 )
1329 )
1326 coreconfigitem(
1330 coreconfigitem(
1327 b'extensions',
1331 b'extensions',
1328 b'[^:]*:required',
1332 b'[^:]*:required',
1329 default=False,
1333 default=False,
1330 generic=True,
1334 generic=True,
1331 )
1335 )
1332 coreconfigitem(
1336 coreconfigitem(
1333 b'extdata',
1337 b'extdata',
1334 b'.*',
1338 b'.*',
1335 default=None,
1339 default=None,
1336 generic=True,
1340 generic=True,
1337 )
1341 )
1338 coreconfigitem(
1342 coreconfigitem(
1339 b'format',
1343 b'format',
1340 b'bookmarks-in-store',
1344 b'bookmarks-in-store',
1341 default=False,
1345 default=False,
1342 )
1346 )
1343 coreconfigitem(
1347 coreconfigitem(
1344 b'format',
1348 b'format',
1345 b'chunkcachesize',
1349 b'chunkcachesize',
1346 default=None,
1350 default=None,
1347 experimental=True,
1351 experimental=True,
1348 )
1352 )
1349 coreconfigitem(
1353 coreconfigitem(
1350 # Enable this dirstate format *when creating a new repository*.
1354 # Enable this dirstate format *when creating a new repository*.
1351 # Which format to use for existing repos is controlled by .hg/requires
1355 # Which format to use for existing repos is controlled by .hg/requires
1352 b'format',
1356 b'format',
1353 b'use-dirstate-v2',
1357 b'use-dirstate-v2',
1354 default=False,
1358 default=False,
1355 experimental=True,
1359 experimental=True,
1356 alias=[(b'format', b'exp-rc-dirstate-v2')],
1360 alias=[(b'format', b'exp-rc-dirstate-v2')],
1357 )
1361 )
1358 coreconfigitem(
1362 coreconfigitem(
1359 b'format',
1363 b'format',
1360 b'use-dirstate-v2.automatic-upgrade-of-mismatching-repositories',
1364 b'use-dirstate-v2.automatic-upgrade-of-mismatching-repositories',
1361 default=False,
1365 default=False,
1362 experimental=True,
1366 experimental=True,
1363 )
1367 )
1364 coreconfigitem(
1368 coreconfigitem(
1365 b'format',
1369 b'format',
1366 b'use-dirstate-v2.automatic-upgrade-of-mismatching-repositories:quiet',
1370 b'use-dirstate-v2.automatic-upgrade-of-mismatching-repositories:quiet',
1367 default=False,
1371 default=False,
1368 experimental=True,
1372 experimental=True,
1369 )
1373 )
1370 coreconfigitem(
1374 coreconfigitem(
1371 b'format',
1375 b'format',
1372 b'use-dirstate-tracked-hint',
1376 b'use-dirstate-tracked-hint',
1373 default=False,
1377 default=False,
1374 experimental=True,
1378 experimental=True,
1375 )
1379 )
1376 coreconfigitem(
1380 coreconfigitem(
1377 b'format',
1381 b'format',
1378 b'use-dirstate-tracked-hint.version',
1382 b'use-dirstate-tracked-hint.version',
1379 default=1,
1383 default=1,
1380 experimental=True,
1384 experimental=True,
1381 )
1385 )
1382 coreconfigitem(
1386 coreconfigitem(
1383 b'format',
1387 b'format',
1384 b'use-dirstate-tracked-hint.automatic-upgrade-of-mismatching-repositories',
1388 b'use-dirstate-tracked-hint.automatic-upgrade-of-mismatching-repositories',
1385 default=False,
1389 default=False,
1386 experimental=True,
1390 experimental=True,
1387 )
1391 )
1388 coreconfigitem(
1392 coreconfigitem(
1389 b'format',
1393 b'format',
1390 b'use-dirstate-tracked-hint.automatic-upgrade-of-mismatching-repositories:quiet',
1394 b'use-dirstate-tracked-hint.automatic-upgrade-of-mismatching-repositories:quiet',
1391 default=False,
1395 default=False,
1392 experimental=True,
1396 experimental=True,
1393 )
1397 )
1394 coreconfigitem(
1398 coreconfigitem(
1395 b'format',
1399 b'format',
1396 b'dotencode',
1400 b'dotencode',
1397 default=True,
1401 default=True,
1398 )
1402 )
1399 coreconfigitem(
1403 coreconfigitem(
1400 b'format',
1404 b'format',
1401 b'generaldelta',
1405 b'generaldelta',
1402 default=False,
1406 default=False,
1403 experimental=True,
1407 experimental=True,
1404 )
1408 )
1405 coreconfigitem(
1409 coreconfigitem(
1406 b'format',
1410 b'format',
1407 b'manifestcachesize',
1411 b'manifestcachesize',
1408 default=None,
1412 default=None,
1409 experimental=True,
1413 experimental=True,
1410 )
1414 )
1411 coreconfigitem(
1415 coreconfigitem(
1412 b'format',
1416 b'format',
1413 b'maxchainlen',
1417 b'maxchainlen',
1414 default=dynamicdefault,
1418 default=dynamicdefault,
1415 experimental=True,
1419 experimental=True,
1416 )
1420 )
1417 coreconfigitem(
1421 coreconfigitem(
1418 b'format',
1422 b'format',
1419 b'obsstore-version',
1423 b'obsstore-version',
1420 default=None,
1424 default=None,
1421 )
1425 )
1422 coreconfigitem(
1426 coreconfigitem(
1423 b'format',
1427 b'format',
1424 b'sparse-revlog',
1428 b'sparse-revlog',
1425 default=True,
1429 default=True,
1426 )
1430 )
1427 coreconfigitem(
1431 coreconfigitem(
1428 b'format',
1432 b'format',
1429 b'revlog-compression',
1433 b'revlog-compression',
1430 default=lambda: [b'zstd', b'zlib'],
1434 default=lambda: [b'zstd', b'zlib'],
1431 alias=[(b'experimental', b'format.compression')],
1435 alias=[(b'experimental', b'format.compression')],
1432 )
1436 )
1433 # Experimental TODOs:
1437 # Experimental TODOs:
1434 #
1438 #
1435 # * Same as for revlogv2 (but for the reduction of the number of files)
1439 # * Same as for revlogv2 (but for the reduction of the number of files)
1436 # * Actually computing the rank of changesets
1440 # * Actually computing the rank of changesets
1437 # * Improvement to investigate
1441 # * Improvement to investigate
1438 # - storing .hgtags fnode
1442 # - storing .hgtags fnode
1439 # - storing branch related identifier
1443 # - storing branch related identifier
1440
1444
1441 coreconfigitem(
1445 coreconfigitem(
1442 b'format',
1446 b'format',
1443 b'exp-use-changelog-v2',
1447 b'exp-use-changelog-v2',
1444 default=None,
1448 default=None,
1445 experimental=True,
1449 experimental=True,
1446 )
1450 )
1447 coreconfigitem(
1451 coreconfigitem(
1448 b'format',
1452 b'format',
1449 b'usefncache',
1453 b'usefncache',
1450 default=True,
1454 default=True,
1451 )
1455 )
1452 coreconfigitem(
1456 coreconfigitem(
1453 b'format',
1457 b'format',
1454 b'usegeneraldelta',
1458 b'usegeneraldelta',
1455 default=True,
1459 default=True,
1456 )
1460 )
1457 coreconfigitem(
1461 coreconfigitem(
1458 b'format',
1462 b'format',
1459 b'usestore',
1463 b'usestore',
1460 default=True,
1464 default=True,
1461 )
1465 )
1462
1466
1463
1467
1464 def _persistent_nodemap_default():
1468 def _persistent_nodemap_default():
1465 """compute `use-persistent-nodemap` default value
1469 """compute `use-persistent-nodemap` default value
1466
1470
1467 The feature is disabled unless a fast implementation is available.
1471 The feature is disabled unless a fast implementation is available.
1468 """
1472 """
1469 from . import policy
1473 from . import policy
1470
1474
1471 return policy.importrust('revlog') is not None
1475 return policy.importrust('revlog') is not None
1472
1476
1473
1477
1474 coreconfigitem(
1478 coreconfigitem(
1475 b'format',
1479 b'format',
1476 b'use-persistent-nodemap',
1480 b'use-persistent-nodemap',
1477 default=_persistent_nodemap_default,
1481 default=_persistent_nodemap_default,
1478 )
1482 )
1479 coreconfigitem(
1483 coreconfigitem(
1480 b'format',
1484 b'format',
1481 b'exp-use-copies-side-data-changeset',
1485 b'exp-use-copies-side-data-changeset',
1482 default=False,
1486 default=False,
1483 experimental=True,
1487 experimental=True,
1484 )
1488 )
1485 coreconfigitem(
1489 coreconfigitem(
1486 b'format',
1490 b'format',
1487 b'use-share-safe',
1491 b'use-share-safe',
1488 default=True,
1492 default=True,
1489 )
1493 )
1490 coreconfigitem(
1494 coreconfigitem(
1491 b'format',
1495 b'format',
1492 b'use-share-safe.automatic-upgrade-of-mismatching-repositories',
1496 b'use-share-safe.automatic-upgrade-of-mismatching-repositories',
1493 default=False,
1497 default=False,
1494 experimental=True,
1498 experimental=True,
1495 )
1499 )
1496 coreconfigitem(
1500 coreconfigitem(
1497 b'format',
1501 b'format',
1498 b'use-share-safe.automatic-upgrade-of-mismatching-repositories:quiet',
1502 b'use-share-safe.automatic-upgrade-of-mismatching-repositories:quiet',
1499 default=False,
1503 default=False,
1500 experimental=True,
1504 experimental=True,
1501 )
1505 )
1502
1506
1503 # Moving this on by default means we are confident about the scaling of phases.
1507 # Moving this on by default means we are confident about the scaling of phases.
1504 # This is not garanteed to be the case at the time this message is written.
1508 # This is not garanteed to be the case at the time this message is written.
1505 coreconfigitem(
1509 coreconfigitem(
1506 b'format',
1510 b'format',
1507 b'use-internal-phase',
1511 b'use-internal-phase',
1508 default=False,
1512 default=False,
1509 experimental=True,
1513 experimental=True,
1510 )
1514 )
1511 # The interaction between the archived phase and obsolescence markers needs to
1515 # The interaction between the archived phase and obsolescence markers needs to
1512 # be sorted out before wider usage of this are to be considered.
1516 # be sorted out before wider usage of this are to be considered.
1513 #
1517 #
1514 # At the time this message is written, behavior when archiving obsolete
1518 # At the time this message is written, behavior when archiving obsolete
1515 # changeset differ significantly from stripping. As part of stripping, we also
1519 # changeset differ significantly from stripping. As part of stripping, we also
1516 # remove the obsolescence marker associated to the stripped changesets,
1520 # remove the obsolescence marker associated to the stripped changesets,
1517 # revealing the precedecessors changesets when applicable. When archiving, we
1521 # revealing the precedecessors changesets when applicable. When archiving, we
1518 # don't touch the obsolescence markers, keeping everything hidden. This can
1522 # don't touch the obsolescence markers, keeping everything hidden. This can
1519 # result in quite confusing situation for people combining exchanging draft
1523 # result in quite confusing situation for people combining exchanging draft
1520 # with the archived phases. As some markers needed by others may be skipped
1524 # with the archived phases. As some markers needed by others may be skipped
1521 # during exchange.
1525 # during exchange.
1522 coreconfigitem(
1526 coreconfigitem(
1523 b'format',
1527 b'format',
1524 b'exp-archived-phase',
1528 b'exp-archived-phase',
1525 default=False,
1529 default=False,
1526 experimental=True,
1530 experimental=True,
1527 )
1531 )
1528 coreconfigitem(
1532 coreconfigitem(
1529 b'shelve',
1533 b'shelve',
1530 b'store',
1534 b'store',
1531 default=b'internal',
1535 default=b'internal',
1532 experimental=True,
1536 experimental=True,
1533 )
1537 )
1534 coreconfigitem(
1538 coreconfigitem(
1535 b'fsmonitor',
1539 b'fsmonitor',
1536 b'warn_when_unused',
1540 b'warn_when_unused',
1537 default=True,
1541 default=True,
1538 )
1542 )
1539 coreconfigitem(
1543 coreconfigitem(
1540 b'fsmonitor',
1544 b'fsmonitor',
1541 b'warn_update_file_count',
1545 b'warn_update_file_count',
1542 default=50000,
1546 default=50000,
1543 )
1547 )
1544 coreconfigitem(
1548 coreconfigitem(
1545 b'fsmonitor',
1549 b'fsmonitor',
1546 b'warn_update_file_count_rust',
1550 b'warn_update_file_count_rust',
1547 default=400000,
1551 default=400000,
1548 )
1552 )
1549 coreconfigitem(
1553 coreconfigitem(
1550 b'help',
1554 b'help',
1551 br'hidden-command\..*',
1555 br'hidden-command\..*',
1552 default=False,
1556 default=False,
1553 generic=True,
1557 generic=True,
1554 )
1558 )
1555 coreconfigitem(
1559 coreconfigitem(
1556 b'help',
1560 b'help',
1557 br'hidden-topic\..*',
1561 br'hidden-topic\..*',
1558 default=False,
1562 default=False,
1559 generic=True,
1563 generic=True,
1560 )
1564 )
1561 coreconfigitem(
1565 coreconfigitem(
1562 b'hooks',
1566 b'hooks',
1563 b'[^:]*',
1567 b'[^:]*',
1564 default=dynamicdefault,
1568 default=dynamicdefault,
1565 generic=True,
1569 generic=True,
1566 )
1570 )
1567 coreconfigitem(
1571 coreconfigitem(
1568 b'hooks',
1572 b'hooks',
1569 b'.*:run-with-plain',
1573 b'.*:run-with-plain',
1570 default=True,
1574 default=True,
1571 generic=True,
1575 generic=True,
1572 )
1576 )
1573 coreconfigitem(
1577 coreconfigitem(
1574 b'hgweb-paths',
1578 b'hgweb-paths',
1575 b'.*',
1579 b'.*',
1576 default=list,
1580 default=list,
1577 generic=True,
1581 generic=True,
1578 )
1582 )
1579 coreconfigitem(
1583 coreconfigitem(
1580 b'hostfingerprints',
1584 b'hostfingerprints',
1581 b'.*',
1585 b'.*',
1582 default=list,
1586 default=list,
1583 generic=True,
1587 generic=True,
1584 )
1588 )
1585 coreconfigitem(
1589 coreconfigitem(
1586 b'hostsecurity',
1590 b'hostsecurity',
1587 b'ciphers',
1591 b'ciphers',
1588 default=None,
1592 default=None,
1589 )
1593 )
1590 coreconfigitem(
1594 coreconfigitem(
1591 b'hostsecurity',
1595 b'hostsecurity',
1592 b'minimumprotocol',
1596 b'minimumprotocol',
1593 default=dynamicdefault,
1597 default=dynamicdefault,
1594 )
1598 )
1595 coreconfigitem(
1599 coreconfigitem(
1596 b'hostsecurity',
1600 b'hostsecurity',
1597 b'.*:minimumprotocol$',
1601 b'.*:minimumprotocol$',
1598 default=dynamicdefault,
1602 default=dynamicdefault,
1599 generic=True,
1603 generic=True,
1600 )
1604 )
1601 coreconfigitem(
1605 coreconfigitem(
1602 b'hostsecurity',
1606 b'hostsecurity',
1603 b'.*:ciphers$',
1607 b'.*:ciphers$',
1604 default=dynamicdefault,
1608 default=dynamicdefault,
1605 generic=True,
1609 generic=True,
1606 )
1610 )
1607 coreconfigitem(
1611 coreconfigitem(
1608 b'hostsecurity',
1612 b'hostsecurity',
1609 b'.*:fingerprints$',
1613 b'.*:fingerprints$',
1610 default=list,
1614 default=list,
1611 generic=True,
1615 generic=True,
1612 )
1616 )
1613 coreconfigitem(
1617 coreconfigitem(
1614 b'hostsecurity',
1618 b'hostsecurity',
1615 b'.*:verifycertsfile$',
1619 b'.*:verifycertsfile$',
1616 default=None,
1620 default=None,
1617 generic=True,
1621 generic=True,
1618 )
1622 )
1619
1623
1620 coreconfigitem(
1624 coreconfigitem(
1621 b'http_proxy',
1625 b'http_proxy',
1622 b'always',
1626 b'always',
1623 default=False,
1627 default=False,
1624 )
1628 )
1625 coreconfigitem(
1629 coreconfigitem(
1626 b'http_proxy',
1630 b'http_proxy',
1627 b'host',
1631 b'host',
1628 default=None,
1632 default=None,
1629 )
1633 )
1630 coreconfigitem(
1634 coreconfigitem(
1631 b'http_proxy',
1635 b'http_proxy',
1632 b'no',
1636 b'no',
1633 default=list,
1637 default=list,
1634 )
1638 )
1635 coreconfigitem(
1639 coreconfigitem(
1636 b'http_proxy',
1640 b'http_proxy',
1637 b'passwd',
1641 b'passwd',
1638 default=None,
1642 default=None,
1639 )
1643 )
1640 coreconfigitem(
1644 coreconfigitem(
1641 b'http_proxy',
1645 b'http_proxy',
1642 b'user',
1646 b'user',
1643 default=None,
1647 default=None,
1644 )
1648 )
1645
1649
1646 coreconfigitem(
1650 coreconfigitem(
1647 b'http',
1651 b'http',
1648 b'timeout',
1652 b'timeout',
1649 default=None,
1653 default=None,
1650 )
1654 )
1651
1655
1652 coreconfigitem(
1656 coreconfigitem(
1653 b'logtoprocess',
1657 b'logtoprocess',
1654 b'commandexception',
1658 b'commandexception',
1655 default=None,
1659 default=None,
1656 )
1660 )
1657 coreconfigitem(
1661 coreconfigitem(
1658 b'logtoprocess',
1662 b'logtoprocess',
1659 b'commandfinish',
1663 b'commandfinish',
1660 default=None,
1664 default=None,
1661 )
1665 )
1662 coreconfigitem(
1666 coreconfigitem(
1663 b'logtoprocess',
1667 b'logtoprocess',
1664 b'command',
1668 b'command',
1665 default=None,
1669 default=None,
1666 )
1670 )
1667 coreconfigitem(
1671 coreconfigitem(
1668 b'logtoprocess',
1672 b'logtoprocess',
1669 b'develwarn',
1673 b'develwarn',
1670 default=None,
1674 default=None,
1671 )
1675 )
1672 coreconfigitem(
1676 coreconfigitem(
1673 b'logtoprocess',
1677 b'logtoprocess',
1674 b'uiblocked',
1678 b'uiblocked',
1675 default=None,
1679 default=None,
1676 )
1680 )
1677 coreconfigitem(
1681 coreconfigitem(
1678 b'merge',
1682 b'merge',
1679 b'checkunknown',
1683 b'checkunknown',
1680 default=b'abort',
1684 default=b'abort',
1681 )
1685 )
1682 coreconfigitem(
1686 coreconfigitem(
1683 b'merge',
1687 b'merge',
1684 b'checkignored',
1688 b'checkignored',
1685 default=b'abort',
1689 default=b'abort',
1686 )
1690 )
1687 coreconfigitem(
1691 coreconfigitem(
1688 b'experimental',
1692 b'experimental',
1689 b'merge.checkpathconflicts',
1693 b'merge.checkpathconflicts',
1690 default=False,
1694 default=False,
1691 )
1695 )
1692 coreconfigitem(
1696 coreconfigitem(
1693 b'merge',
1697 b'merge',
1694 b'followcopies',
1698 b'followcopies',
1695 default=True,
1699 default=True,
1696 )
1700 )
1697 coreconfigitem(
1701 coreconfigitem(
1698 b'merge',
1702 b'merge',
1699 b'on-failure',
1703 b'on-failure',
1700 default=b'continue',
1704 default=b'continue',
1701 )
1705 )
1702 coreconfigitem(
1706 coreconfigitem(
1703 b'merge',
1707 b'merge',
1704 b'preferancestor',
1708 b'preferancestor',
1705 default=lambda: [b'*'],
1709 default=lambda: [b'*'],
1706 experimental=True,
1710 experimental=True,
1707 )
1711 )
1708 coreconfigitem(
1712 coreconfigitem(
1709 b'merge',
1713 b'merge',
1710 b'strict-capability-check',
1714 b'strict-capability-check',
1711 default=False,
1715 default=False,
1712 )
1716 )
1713 coreconfigitem(
1717 coreconfigitem(
1714 b'merge',
1718 b'merge',
1715 b'disable-partial-tools',
1719 b'disable-partial-tools',
1716 default=False,
1720 default=False,
1717 experimental=True,
1721 experimental=True,
1718 )
1722 )
1719 coreconfigitem(
1723 coreconfigitem(
1720 b'partial-merge-tools',
1724 b'partial-merge-tools',
1721 b'.*',
1725 b'.*',
1722 default=None,
1726 default=None,
1723 generic=True,
1727 generic=True,
1724 experimental=True,
1728 experimental=True,
1725 )
1729 )
1726 coreconfigitem(
1730 coreconfigitem(
1727 b'partial-merge-tools',
1731 b'partial-merge-tools',
1728 br'.*\.patterns',
1732 br'.*\.patterns',
1729 default=dynamicdefault,
1733 default=dynamicdefault,
1730 generic=True,
1734 generic=True,
1731 priority=-1,
1735 priority=-1,
1732 experimental=True,
1736 experimental=True,
1733 )
1737 )
1734 coreconfigitem(
1738 coreconfigitem(
1735 b'partial-merge-tools',
1739 b'partial-merge-tools',
1736 br'.*\.executable$',
1740 br'.*\.executable$',
1737 default=dynamicdefault,
1741 default=dynamicdefault,
1738 generic=True,
1742 generic=True,
1739 priority=-1,
1743 priority=-1,
1740 experimental=True,
1744 experimental=True,
1741 )
1745 )
1742 coreconfigitem(
1746 coreconfigitem(
1743 b'partial-merge-tools',
1747 b'partial-merge-tools',
1744 br'.*\.order',
1748 br'.*\.order',
1745 default=0,
1749 default=0,
1746 generic=True,
1750 generic=True,
1747 priority=-1,
1751 priority=-1,
1748 experimental=True,
1752 experimental=True,
1749 )
1753 )
1750 coreconfigitem(
1754 coreconfigitem(
1751 b'partial-merge-tools',
1755 b'partial-merge-tools',
1752 br'.*\.args',
1756 br'.*\.args',
1753 default=b"$local $base $other",
1757 default=b"$local $base $other",
1754 generic=True,
1758 generic=True,
1755 priority=-1,
1759 priority=-1,
1756 experimental=True,
1760 experimental=True,
1757 )
1761 )
1758 coreconfigitem(
1762 coreconfigitem(
1759 b'partial-merge-tools',
1763 b'partial-merge-tools',
1760 br'.*\.disable',
1764 br'.*\.disable',
1761 default=False,
1765 default=False,
1762 generic=True,
1766 generic=True,
1763 priority=-1,
1767 priority=-1,
1764 experimental=True,
1768 experimental=True,
1765 )
1769 )
1766 coreconfigitem(
1770 coreconfigitem(
1767 b'merge-tools',
1771 b'merge-tools',
1768 b'.*',
1772 b'.*',
1769 default=None,
1773 default=None,
1770 generic=True,
1774 generic=True,
1771 )
1775 )
1772 coreconfigitem(
1776 coreconfigitem(
1773 b'merge-tools',
1777 b'merge-tools',
1774 br'.*\.args$',
1778 br'.*\.args$',
1775 default=b"$local $base $other",
1779 default=b"$local $base $other",
1776 generic=True,
1780 generic=True,
1777 priority=-1,
1781 priority=-1,
1778 )
1782 )
1779 coreconfigitem(
1783 coreconfigitem(
1780 b'merge-tools',
1784 b'merge-tools',
1781 br'.*\.binary$',
1785 br'.*\.binary$',
1782 default=False,
1786 default=False,
1783 generic=True,
1787 generic=True,
1784 priority=-1,
1788 priority=-1,
1785 )
1789 )
1786 coreconfigitem(
1790 coreconfigitem(
1787 b'merge-tools',
1791 b'merge-tools',
1788 br'.*\.check$',
1792 br'.*\.check$',
1789 default=list,
1793 default=list,
1790 generic=True,
1794 generic=True,
1791 priority=-1,
1795 priority=-1,
1792 )
1796 )
1793 coreconfigitem(
1797 coreconfigitem(
1794 b'merge-tools',
1798 b'merge-tools',
1795 br'.*\.checkchanged$',
1799 br'.*\.checkchanged$',
1796 default=False,
1800 default=False,
1797 generic=True,
1801 generic=True,
1798 priority=-1,
1802 priority=-1,
1799 )
1803 )
1800 coreconfigitem(
1804 coreconfigitem(
1801 b'merge-tools',
1805 b'merge-tools',
1802 br'.*\.executable$',
1806 br'.*\.executable$',
1803 default=dynamicdefault,
1807 default=dynamicdefault,
1804 generic=True,
1808 generic=True,
1805 priority=-1,
1809 priority=-1,
1806 )
1810 )
1807 coreconfigitem(
1811 coreconfigitem(
1808 b'merge-tools',
1812 b'merge-tools',
1809 br'.*\.fixeol$',
1813 br'.*\.fixeol$',
1810 default=False,
1814 default=False,
1811 generic=True,
1815 generic=True,
1812 priority=-1,
1816 priority=-1,
1813 )
1817 )
1814 coreconfigitem(
1818 coreconfigitem(
1815 b'merge-tools',
1819 b'merge-tools',
1816 br'.*\.gui$',
1820 br'.*\.gui$',
1817 default=False,
1821 default=False,
1818 generic=True,
1822 generic=True,
1819 priority=-1,
1823 priority=-1,
1820 )
1824 )
1821 coreconfigitem(
1825 coreconfigitem(
1822 b'merge-tools',
1826 b'merge-tools',
1823 br'.*\.mergemarkers$',
1827 br'.*\.mergemarkers$',
1824 default=b'basic',
1828 default=b'basic',
1825 generic=True,
1829 generic=True,
1826 priority=-1,
1830 priority=-1,
1827 )
1831 )
1828 coreconfigitem(
1832 coreconfigitem(
1829 b'merge-tools',
1833 b'merge-tools',
1830 br'.*\.mergemarkertemplate$',
1834 br'.*\.mergemarkertemplate$',
1831 default=dynamicdefault, # take from command-templates.mergemarker
1835 default=dynamicdefault, # take from command-templates.mergemarker
1832 generic=True,
1836 generic=True,
1833 priority=-1,
1837 priority=-1,
1834 )
1838 )
1835 coreconfigitem(
1839 coreconfigitem(
1836 b'merge-tools',
1840 b'merge-tools',
1837 br'.*\.priority$',
1841 br'.*\.priority$',
1838 default=0,
1842 default=0,
1839 generic=True,
1843 generic=True,
1840 priority=-1,
1844 priority=-1,
1841 )
1845 )
1842 coreconfigitem(
1846 coreconfigitem(
1843 b'merge-tools',
1847 b'merge-tools',
1844 br'.*\.premerge$',
1848 br'.*\.premerge$',
1845 default=dynamicdefault,
1849 default=dynamicdefault,
1846 generic=True,
1850 generic=True,
1847 priority=-1,
1851 priority=-1,
1848 )
1852 )
1849 coreconfigitem(
1853 coreconfigitem(
1850 b'merge-tools',
1854 b'merge-tools',
1851 br'.*\.regappend$',
1855 br'.*\.regappend$',
1852 default=b"",
1856 default=b"",
1853 generic=True,
1857 generic=True,
1854 priority=-1,
1858 priority=-1,
1855 )
1859 )
1856 coreconfigitem(
1860 coreconfigitem(
1857 b'merge-tools',
1861 b'merge-tools',
1858 br'.*\.symlink$',
1862 br'.*\.symlink$',
1859 default=False,
1863 default=False,
1860 generic=True,
1864 generic=True,
1861 priority=-1,
1865 priority=-1,
1862 )
1866 )
1863 coreconfigitem(
1867 coreconfigitem(
1864 b'pager',
1868 b'pager',
1865 b'attend-.*',
1869 b'attend-.*',
1866 default=dynamicdefault,
1870 default=dynamicdefault,
1867 generic=True,
1871 generic=True,
1868 )
1872 )
1869 coreconfigitem(
1873 coreconfigitem(
1870 b'pager',
1874 b'pager',
1871 b'ignore',
1875 b'ignore',
1872 default=list,
1876 default=list,
1873 )
1877 )
1874 coreconfigitem(
1878 coreconfigitem(
1875 b'pager',
1879 b'pager',
1876 b'pager',
1880 b'pager',
1877 default=dynamicdefault,
1881 default=dynamicdefault,
1878 )
1882 )
1879 coreconfigitem(
1883 coreconfigitem(
1880 b'patch',
1884 b'patch',
1881 b'eol',
1885 b'eol',
1882 default=b'strict',
1886 default=b'strict',
1883 )
1887 )
1884 coreconfigitem(
1888 coreconfigitem(
1885 b'patch',
1889 b'patch',
1886 b'fuzz',
1890 b'fuzz',
1887 default=2,
1891 default=2,
1888 )
1892 )
1889 coreconfigitem(
1893 coreconfigitem(
1890 b'paths',
1894 b'paths',
1891 b'default',
1895 b'default',
1892 default=None,
1896 default=None,
1893 )
1897 )
1894 coreconfigitem(
1898 coreconfigitem(
1895 b'paths',
1899 b'paths',
1896 b'default-push',
1900 b'default-push',
1897 default=None,
1901 default=None,
1898 )
1902 )
1899 coreconfigitem(
1903 coreconfigitem(
1900 b'paths',
1904 b'paths',
1901 b'[^:]*',
1905 b'[^:]*',
1902 default=None,
1906 default=None,
1903 generic=True,
1907 generic=True,
1904 )
1908 )
1905 coreconfigitem(
1909 coreconfigitem(
1906 b'paths',
1910 b'paths',
1907 b'.*:bookmarks.mode',
1911 b'.*:bookmarks.mode',
1908 default='default',
1912 default='default',
1909 generic=True,
1913 generic=True,
1910 )
1914 )
1911 coreconfigitem(
1915 coreconfigitem(
1912 b'paths',
1916 b'paths',
1913 b'.*:multi-urls',
1917 b'.*:multi-urls',
1914 default=False,
1918 default=False,
1915 generic=True,
1919 generic=True,
1916 )
1920 )
1917 coreconfigitem(
1921 coreconfigitem(
1918 b'paths',
1922 b'paths',
1919 b'.*:pushrev',
1923 b'.*:pushrev',
1920 default=None,
1924 default=None,
1921 generic=True,
1925 generic=True,
1922 )
1926 )
1923 coreconfigitem(
1927 coreconfigitem(
1924 b'paths',
1928 b'paths',
1925 b'.*:pushurl',
1929 b'.*:pushurl',
1926 default=None,
1930 default=None,
1927 generic=True,
1931 generic=True,
1928 )
1932 )
1929 coreconfigitem(
1933 coreconfigitem(
1930 b'paths',
1934 b'paths',
1931 b'.*:pulled-delta-reuse-policy',
1935 b'.*:pulled-delta-reuse-policy',
1932 default=None,
1936 default=None,
1933 generic=True,
1937 generic=True,
1934 )
1938 )
1935 coreconfigitem(
1939 coreconfigitem(
1936 b'phases',
1940 b'phases',
1937 b'checksubrepos',
1941 b'checksubrepos',
1938 default=b'follow',
1942 default=b'follow',
1939 )
1943 )
1940 coreconfigitem(
1944 coreconfigitem(
1941 b'phases',
1945 b'phases',
1942 b'new-commit',
1946 b'new-commit',
1943 default=b'draft',
1947 default=b'draft',
1944 )
1948 )
1945 coreconfigitem(
1949 coreconfigitem(
1946 b'phases',
1950 b'phases',
1947 b'publish',
1951 b'publish',
1948 default=True,
1952 default=True,
1949 )
1953 )
1950 coreconfigitem(
1954 coreconfigitem(
1951 b'profiling',
1955 b'profiling',
1952 b'enabled',
1956 b'enabled',
1953 default=False,
1957 default=False,
1954 )
1958 )
1955 coreconfigitem(
1959 coreconfigitem(
1956 b'profiling',
1960 b'profiling',
1957 b'format',
1961 b'format',
1958 default=b'text',
1962 default=b'text',
1959 )
1963 )
1960 coreconfigitem(
1964 coreconfigitem(
1961 b'profiling',
1965 b'profiling',
1962 b'freq',
1966 b'freq',
1963 default=1000,
1967 default=1000,
1964 )
1968 )
1965 coreconfigitem(
1969 coreconfigitem(
1966 b'profiling',
1970 b'profiling',
1967 b'limit',
1971 b'limit',
1968 default=30,
1972 default=30,
1969 )
1973 )
1970 coreconfigitem(
1974 coreconfigitem(
1971 b'profiling',
1975 b'profiling',
1972 b'nested',
1976 b'nested',
1973 default=0,
1977 default=0,
1974 )
1978 )
1975 coreconfigitem(
1979 coreconfigitem(
1976 b'profiling',
1980 b'profiling',
1977 b'output',
1981 b'output',
1978 default=None,
1982 default=None,
1979 )
1983 )
1980 coreconfigitem(
1984 coreconfigitem(
1981 b'profiling',
1985 b'profiling',
1982 b'showmax',
1986 b'showmax',
1983 default=0.999,
1987 default=0.999,
1984 )
1988 )
1985 coreconfigitem(
1989 coreconfigitem(
1986 b'profiling',
1990 b'profiling',
1987 b'showmin',
1991 b'showmin',
1988 default=dynamicdefault,
1992 default=dynamicdefault,
1989 )
1993 )
1990 coreconfigitem(
1994 coreconfigitem(
1991 b'profiling',
1995 b'profiling',
1992 b'showtime',
1996 b'showtime',
1993 default=True,
1997 default=True,
1994 )
1998 )
1995 coreconfigitem(
1999 coreconfigitem(
1996 b'profiling',
2000 b'profiling',
1997 b'sort',
2001 b'sort',
1998 default=b'inlinetime',
2002 default=b'inlinetime',
1999 )
2003 )
2000 coreconfigitem(
2004 coreconfigitem(
2001 b'profiling',
2005 b'profiling',
2002 b'statformat',
2006 b'statformat',
2003 default=b'hotpath',
2007 default=b'hotpath',
2004 )
2008 )
2005 coreconfigitem(
2009 coreconfigitem(
2006 b'profiling',
2010 b'profiling',
2007 b'time-track',
2011 b'time-track',
2008 default=dynamicdefault,
2012 default=dynamicdefault,
2009 )
2013 )
2010 coreconfigitem(
2014 coreconfigitem(
2011 b'profiling',
2015 b'profiling',
2012 b'type',
2016 b'type',
2013 default=b'stat',
2017 default=b'stat',
2014 )
2018 )
2015 coreconfigitem(
2019 coreconfigitem(
2016 b'progress',
2020 b'progress',
2017 b'assume-tty',
2021 b'assume-tty',
2018 default=False,
2022 default=False,
2019 )
2023 )
2020 coreconfigitem(
2024 coreconfigitem(
2021 b'progress',
2025 b'progress',
2022 b'changedelay',
2026 b'changedelay',
2023 default=1,
2027 default=1,
2024 )
2028 )
2025 coreconfigitem(
2029 coreconfigitem(
2026 b'progress',
2030 b'progress',
2027 b'clear-complete',
2031 b'clear-complete',
2028 default=True,
2032 default=True,
2029 )
2033 )
2030 coreconfigitem(
2034 coreconfigitem(
2031 b'progress',
2035 b'progress',
2032 b'debug',
2036 b'debug',
2033 default=False,
2037 default=False,
2034 )
2038 )
2035 coreconfigitem(
2039 coreconfigitem(
2036 b'progress',
2040 b'progress',
2037 b'delay',
2041 b'delay',
2038 default=3,
2042 default=3,
2039 )
2043 )
2040 coreconfigitem(
2044 coreconfigitem(
2041 b'progress',
2045 b'progress',
2042 b'disable',
2046 b'disable',
2043 default=False,
2047 default=False,
2044 )
2048 )
2045 coreconfigitem(
2049 coreconfigitem(
2046 b'progress',
2050 b'progress',
2047 b'estimateinterval',
2051 b'estimateinterval',
2048 default=60.0,
2052 default=60.0,
2049 )
2053 )
2050 coreconfigitem(
2054 coreconfigitem(
2051 b'progress',
2055 b'progress',
2052 b'format',
2056 b'format',
2053 default=lambda: [b'topic', b'bar', b'number', b'estimate'],
2057 default=lambda: [b'topic', b'bar', b'number', b'estimate'],
2054 )
2058 )
2055 coreconfigitem(
2059 coreconfigitem(
2056 b'progress',
2060 b'progress',
2057 b'refresh',
2061 b'refresh',
2058 default=0.1,
2062 default=0.1,
2059 )
2063 )
2060 coreconfigitem(
2064 coreconfigitem(
2061 b'progress',
2065 b'progress',
2062 b'width',
2066 b'width',
2063 default=dynamicdefault,
2067 default=dynamicdefault,
2064 )
2068 )
2065 coreconfigitem(
2069 coreconfigitem(
2066 b'pull',
2070 b'pull',
2067 b'confirm',
2071 b'confirm',
2068 default=False,
2072 default=False,
2069 )
2073 )
2070 coreconfigitem(
2074 coreconfigitem(
2071 b'push',
2075 b'push',
2072 b'pushvars.server',
2076 b'pushvars.server',
2073 default=False,
2077 default=False,
2074 )
2078 )
2075 coreconfigitem(
2079 coreconfigitem(
2076 b'rewrite',
2080 b'rewrite',
2077 b'backup-bundle',
2081 b'backup-bundle',
2078 default=True,
2082 default=True,
2079 alias=[(b'ui', b'history-editing-backup')],
2083 alias=[(b'ui', b'history-editing-backup')],
2080 )
2084 )
2081 coreconfigitem(
2085 coreconfigitem(
2082 b'rewrite',
2086 b'rewrite',
2083 b'update-timestamp',
2087 b'update-timestamp',
2084 default=False,
2088 default=False,
2085 )
2089 )
2086 coreconfigitem(
2090 coreconfigitem(
2087 b'rewrite',
2091 b'rewrite',
2088 b'empty-successor',
2092 b'empty-successor',
2089 default=b'skip',
2093 default=b'skip',
2090 experimental=True,
2094 experimental=True,
2091 )
2095 )
2092 # experimental as long as format.use-dirstate-v2 is.
2096 # experimental as long as format.use-dirstate-v2 is.
2093 coreconfigitem(
2097 coreconfigitem(
2094 b'storage',
2098 b'storage',
2095 b'dirstate-v2.slow-path',
2099 b'dirstate-v2.slow-path',
2096 default=b"abort",
2100 default=b"abort",
2097 experimental=True,
2101 experimental=True,
2098 )
2102 )
2099 coreconfigitem(
2103 coreconfigitem(
2100 b'storage',
2104 b'storage',
2101 b'new-repo-backend',
2105 b'new-repo-backend',
2102 default=b'revlogv1',
2106 default=b'revlogv1',
2103 experimental=True,
2107 experimental=True,
2104 )
2108 )
2105 coreconfigitem(
2109 coreconfigitem(
2106 b'storage',
2110 b'storage',
2107 b'revlog.optimize-delta-parent-choice',
2111 b'revlog.optimize-delta-parent-choice',
2108 default=True,
2112 default=True,
2109 alias=[(b'format', b'aggressivemergedeltas')],
2113 alias=[(b'format', b'aggressivemergedeltas')],
2110 )
2114 )
2111 coreconfigitem(
2115 coreconfigitem(
2112 b'storage',
2116 b'storage',
2113 b'revlog.delta-parent-search.candidate-group-chunk-size',
2117 b'revlog.delta-parent-search.candidate-group-chunk-size',
2114 default=20,
2118 default=20,
2115 )
2119 )
2116 coreconfigitem(
2120 coreconfigitem(
2117 b'storage',
2121 b'storage',
2118 b'revlog.issue6528.fix-incoming',
2122 b'revlog.issue6528.fix-incoming',
2119 default=True,
2123 default=True,
2120 )
2124 )
2121 # experimental as long as rust is experimental (or a C version is implemented)
2125 # experimental as long as rust is experimental (or a C version is implemented)
2122 coreconfigitem(
2126 coreconfigitem(
2123 b'storage',
2127 b'storage',
2124 b'revlog.persistent-nodemap.mmap',
2128 b'revlog.persistent-nodemap.mmap',
2125 default=True,
2129 default=True,
2126 )
2130 )
2127 # experimental as long as format.use-persistent-nodemap is.
2131 # experimental as long as format.use-persistent-nodemap is.
2128 coreconfigitem(
2132 coreconfigitem(
2129 b'storage',
2133 b'storage',
2130 b'revlog.persistent-nodemap.slow-path',
2134 b'revlog.persistent-nodemap.slow-path',
2131 default=b"abort",
2135 default=b"abort",
2132 )
2136 )
2133
2137
2134 coreconfigitem(
2138 coreconfigitem(
2135 b'storage',
2139 b'storage',
2136 b'revlog.reuse-external-delta',
2140 b'revlog.reuse-external-delta',
2137 default=True,
2141 default=True,
2138 )
2142 )
2139 # This option is True unless `format.generaldelta` is set.
2143 # This option is True unless `format.generaldelta` is set.
2140 coreconfigitem(
2144 coreconfigitem(
2141 b'storage',
2145 b'storage',
2142 b'revlog.reuse-external-delta-parent',
2146 b'revlog.reuse-external-delta-parent',
2143 default=None,
2147 default=None,
2144 )
2148 )
2145 coreconfigitem(
2149 coreconfigitem(
2146 b'storage',
2150 b'storage',
2147 b'revlog.zlib.level',
2151 b'revlog.zlib.level',
2148 default=None,
2152 default=None,
2149 )
2153 )
2150 coreconfigitem(
2154 coreconfigitem(
2151 b'storage',
2155 b'storage',
2152 b'revlog.zstd.level',
2156 b'revlog.zstd.level',
2153 default=None,
2157 default=None,
2154 )
2158 )
2155 coreconfigitem(
2159 coreconfigitem(
2156 b'server',
2160 b'server',
2157 b'bookmarks-pushkey-compat',
2161 b'bookmarks-pushkey-compat',
2158 default=True,
2162 default=True,
2159 )
2163 )
2160 coreconfigitem(
2164 coreconfigitem(
2161 b'server',
2165 b'server',
2162 b'bundle1',
2166 b'bundle1',
2163 default=True,
2167 default=True,
2164 )
2168 )
2165 coreconfigitem(
2169 coreconfigitem(
2166 b'server',
2170 b'server',
2167 b'bundle1gd',
2171 b'bundle1gd',
2168 default=None,
2172 default=None,
2169 )
2173 )
2170 coreconfigitem(
2174 coreconfigitem(
2171 b'server',
2175 b'server',
2172 b'bundle1.pull',
2176 b'bundle1.pull',
2173 default=None,
2177 default=None,
2174 )
2178 )
2175 coreconfigitem(
2179 coreconfigitem(
2176 b'server',
2180 b'server',
2177 b'bundle1gd.pull',
2181 b'bundle1gd.pull',
2178 default=None,
2182 default=None,
2179 )
2183 )
2180 coreconfigitem(
2184 coreconfigitem(
2181 b'server',
2185 b'server',
2182 b'bundle1.push',
2186 b'bundle1.push',
2183 default=None,
2187 default=None,
2184 )
2188 )
2185 coreconfigitem(
2189 coreconfigitem(
2186 b'server',
2190 b'server',
2187 b'bundle1gd.push',
2191 b'bundle1gd.push',
2188 default=None,
2192 default=None,
2189 )
2193 )
2190 coreconfigitem(
2194 coreconfigitem(
2191 b'server',
2195 b'server',
2192 b'bundle2.stream',
2196 b'bundle2.stream',
2193 default=True,
2197 default=True,
2194 alias=[(b'experimental', b'bundle2.stream')],
2198 alias=[(b'experimental', b'bundle2.stream')],
2195 )
2199 )
2196 coreconfigitem(
2200 coreconfigitem(
2197 b'server',
2201 b'server',
2198 b'compressionengines',
2202 b'compressionengines',
2199 default=list,
2203 default=list,
2200 )
2204 )
2201 coreconfigitem(
2205 coreconfigitem(
2202 b'server',
2206 b'server',
2203 b'concurrent-push-mode',
2207 b'concurrent-push-mode',
2204 default=b'check-related',
2208 default=b'check-related',
2205 )
2209 )
2206 coreconfigitem(
2210 coreconfigitem(
2207 b'server',
2211 b'server',
2208 b'disablefullbundle',
2212 b'disablefullbundle',
2209 default=False,
2213 default=False,
2210 )
2214 )
2211 coreconfigitem(
2215 coreconfigitem(
2212 b'server',
2216 b'server',
2213 b'maxhttpheaderlen',
2217 b'maxhttpheaderlen',
2214 default=1024,
2218 default=1024,
2215 )
2219 )
2216 coreconfigitem(
2220 coreconfigitem(
2217 b'server',
2221 b'server',
2218 b'pullbundle',
2222 b'pullbundle',
2219 default=True,
2223 default=True,
2220 )
2224 )
2221 coreconfigitem(
2225 coreconfigitem(
2222 b'server',
2226 b'server',
2223 b'preferuncompressed',
2227 b'preferuncompressed',
2224 default=False,
2228 default=False,
2225 )
2229 )
2226 coreconfigitem(
2230 coreconfigitem(
2227 b'server',
2231 b'server',
2228 b'streamunbundle',
2232 b'streamunbundle',
2229 default=False,
2233 default=False,
2230 )
2234 )
2231 coreconfigitem(
2235 coreconfigitem(
2232 b'server',
2236 b'server',
2233 b'uncompressed',
2237 b'uncompressed',
2234 default=True,
2238 default=True,
2235 )
2239 )
2236 coreconfigitem(
2240 coreconfigitem(
2237 b'server',
2241 b'server',
2238 b'uncompressedallowsecret',
2242 b'uncompressedallowsecret',
2239 default=False,
2243 default=False,
2240 )
2244 )
2241 coreconfigitem(
2245 coreconfigitem(
2242 b'server',
2246 b'server',
2243 b'view',
2247 b'view',
2244 default=b'served',
2248 default=b'served',
2245 )
2249 )
2246 coreconfigitem(
2250 coreconfigitem(
2247 b'server',
2251 b'server',
2248 b'validate',
2252 b'validate',
2249 default=False,
2253 default=False,
2250 )
2254 )
2251 coreconfigitem(
2255 coreconfigitem(
2252 b'server',
2256 b'server',
2253 b'zliblevel',
2257 b'zliblevel',
2254 default=-1,
2258 default=-1,
2255 )
2259 )
2256 coreconfigitem(
2260 coreconfigitem(
2257 b'server',
2261 b'server',
2258 b'zstdlevel',
2262 b'zstdlevel',
2259 default=3,
2263 default=3,
2260 )
2264 )
2261 coreconfigitem(
2265 coreconfigitem(
2262 b'share',
2266 b'share',
2263 b'pool',
2267 b'pool',
2264 default=None,
2268 default=None,
2265 )
2269 )
2266 coreconfigitem(
2270 coreconfigitem(
2267 b'share',
2271 b'share',
2268 b'poolnaming',
2272 b'poolnaming',
2269 default=b'identity',
2273 default=b'identity',
2270 )
2274 )
2271 coreconfigitem(
2275 coreconfigitem(
2272 b'share',
2276 b'share',
2273 b'safe-mismatch.source-not-safe',
2277 b'safe-mismatch.source-not-safe',
2274 default=b'abort',
2278 default=b'abort',
2275 )
2279 )
2276 coreconfigitem(
2280 coreconfigitem(
2277 b'share',
2281 b'share',
2278 b'safe-mismatch.source-safe',
2282 b'safe-mismatch.source-safe',
2279 default=b'abort',
2283 default=b'abort',
2280 )
2284 )
2281 coreconfigitem(
2285 coreconfigitem(
2282 b'share',
2286 b'share',
2283 b'safe-mismatch.source-not-safe.warn',
2287 b'safe-mismatch.source-not-safe.warn',
2284 default=True,
2288 default=True,
2285 )
2289 )
2286 coreconfigitem(
2290 coreconfigitem(
2287 b'share',
2291 b'share',
2288 b'safe-mismatch.source-safe.warn',
2292 b'safe-mismatch.source-safe.warn',
2289 default=True,
2293 default=True,
2290 )
2294 )
2291 coreconfigitem(
2295 coreconfigitem(
2292 b'share',
2296 b'share',
2293 b'safe-mismatch.source-not-safe:verbose-upgrade',
2297 b'safe-mismatch.source-not-safe:verbose-upgrade',
2294 default=True,
2298 default=True,
2295 )
2299 )
2296 coreconfigitem(
2300 coreconfigitem(
2297 b'share',
2301 b'share',
2298 b'safe-mismatch.source-safe:verbose-upgrade',
2302 b'safe-mismatch.source-safe:verbose-upgrade',
2299 default=True,
2303 default=True,
2300 )
2304 )
2301 coreconfigitem(
2305 coreconfigitem(
2302 b'shelve',
2306 b'shelve',
2303 b'maxbackups',
2307 b'maxbackups',
2304 default=10,
2308 default=10,
2305 )
2309 )
2306 coreconfigitem(
2310 coreconfigitem(
2307 b'smtp',
2311 b'smtp',
2308 b'host',
2312 b'host',
2309 default=None,
2313 default=None,
2310 )
2314 )
2311 coreconfigitem(
2315 coreconfigitem(
2312 b'smtp',
2316 b'smtp',
2313 b'local_hostname',
2317 b'local_hostname',
2314 default=None,
2318 default=None,
2315 )
2319 )
2316 coreconfigitem(
2320 coreconfigitem(
2317 b'smtp',
2321 b'smtp',
2318 b'password',
2322 b'password',
2319 default=None,
2323 default=None,
2320 )
2324 )
2321 coreconfigitem(
2325 coreconfigitem(
2322 b'smtp',
2326 b'smtp',
2323 b'port',
2327 b'port',
2324 default=dynamicdefault,
2328 default=dynamicdefault,
2325 )
2329 )
2326 coreconfigitem(
2330 coreconfigitem(
2327 b'smtp',
2331 b'smtp',
2328 b'tls',
2332 b'tls',
2329 default=b'none',
2333 default=b'none',
2330 )
2334 )
2331 coreconfigitem(
2335 coreconfigitem(
2332 b'smtp',
2336 b'smtp',
2333 b'username',
2337 b'username',
2334 default=None,
2338 default=None,
2335 )
2339 )
2336 coreconfigitem(
2340 coreconfigitem(
2337 b'sparse',
2341 b'sparse',
2338 b'missingwarning',
2342 b'missingwarning',
2339 default=True,
2343 default=True,
2340 experimental=True,
2344 experimental=True,
2341 )
2345 )
2342 coreconfigitem(
2346 coreconfigitem(
2343 b'subrepos',
2347 b'subrepos',
2344 b'allowed',
2348 b'allowed',
2345 default=dynamicdefault, # to make backporting simpler
2349 default=dynamicdefault, # to make backporting simpler
2346 )
2350 )
2347 coreconfigitem(
2351 coreconfigitem(
2348 b'subrepos',
2352 b'subrepos',
2349 b'hg:allowed',
2353 b'hg:allowed',
2350 default=dynamicdefault,
2354 default=dynamicdefault,
2351 )
2355 )
2352 coreconfigitem(
2356 coreconfigitem(
2353 b'subrepos',
2357 b'subrepos',
2354 b'git:allowed',
2358 b'git:allowed',
2355 default=dynamicdefault,
2359 default=dynamicdefault,
2356 )
2360 )
2357 coreconfigitem(
2361 coreconfigitem(
2358 b'subrepos',
2362 b'subrepos',
2359 b'svn:allowed',
2363 b'svn:allowed',
2360 default=dynamicdefault,
2364 default=dynamicdefault,
2361 )
2365 )
2362 coreconfigitem(
2366 coreconfigitem(
2363 b'templates',
2367 b'templates',
2364 b'.*',
2368 b'.*',
2365 default=None,
2369 default=None,
2366 generic=True,
2370 generic=True,
2367 )
2371 )
2368 coreconfigitem(
2372 coreconfigitem(
2369 b'templateconfig',
2373 b'templateconfig',
2370 b'.*',
2374 b'.*',
2371 default=dynamicdefault,
2375 default=dynamicdefault,
2372 generic=True,
2376 generic=True,
2373 )
2377 )
2374 coreconfigitem(
2378 coreconfigitem(
2375 b'trusted',
2379 b'trusted',
2376 b'groups',
2380 b'groups',
2377 default=list,
2381 default=list,
2378 )
2382 )
2379 coreconfigitem(
2383 coreconfigitem(
2380 b'trusted',
2384 b'trusted',
2381 b'users',
2385 b'users',
2382 default=list,
2386 default=list,
2383 )
2387 )
2384 coreconfigitem(
2388 coreconfigitem(
2385 b'ui',
2389 b'ui',
2386 b'_usedassubrepo',
2390 b'_usedassubrepo',
2387 default=False,
2391 default=False,
2388 )
2392 )
2389 coreconfigitem(
2393 coreconfigitem(
2390 b'ui',
2394 b'ui',
2391 b'allowemptycommit',
2395 b'allowemptycommit',
2392 default=False,
2396 default=False,
2393 )
2397 )
2394 coreconfigitem(
2398 coreconfigitem(
2395 b'ui',
2399 b'ui',
2396 b'archivemeta',
2400 b'archivemeta',
2397 default=True,
2401 default=True,
2398 )
2402 )
2399 coreconfigitem(
2403 coreconfigitem(
2400 b'ui',
2404 b'ui',
2401 b'askusername',
2405 b'askusername',
2402 default=False,
2406 default=False,
2403 )
2407 )
2404 coreconfigitem(
2408 coreconfigitem(
2405 b'ui',
2409 b'ui',
2406 b'available-memory',
2410 b'available-memory',
2407 default=None,
2411 default=None,
2408 )
2412 )
2409
2413
2410 coreconfigitem(
2414 coreconfigitem(
2411 b'ui',
2415 b'ui',
2412 b'clonebundlefallback',
2416 b'clonebundlefallback',
2413 default=False,
2417 default=False,
2414 )
2418 )
2415 coreconfigitem(
2419 coreconfigitem(
2416 b'ui',
2420 b'ui',
2417 b'clonebundleprefers',
2421 b'clonebundleprefers',
2418 default=list,
2422 default=list,
2419 )
2423 )
2420 coreconfigitem(
2424 coreconfigitem(
2421 b'ui',
2425 b'ui',
2422 b'clonebundles',
2426 b'clonebundles',
2423 default=True,
2427 default=True,
2424 )
2428 )
2425 coreconfigitem(
2429 coreconfigitem(
2426 b'ui',
2430 b'ui',
2427 b'color',
2431 b'color',
2428 default=b'auto',
2432 default=b'auto',
2429 )
2433 )
2430 coreconfigitem(
2434 coreconfigitem(
2431 b'ui',
2435 b'ui',
2432 b'commitsubrepos',
2436 b'commitsubrepos',
2433 default=False,
2437 default=False,
2434 )
2438 )
2435 coreconfigitem(
2439 coreconfigitem(
2436 b'ui',
2440 b'ui',
2437 b'debug',
2441 b'debug',
2438 default=False,
2442 default=False,
2439 )
2443 )
2440 coreconfigitem(
2444 coreconfigitem(
2441 b'ui',
2445 b'ui',
2442 b'debugger',
2446 b'debugger',
2443 default=None,
2447 default=None,
2444 )
2448 )
2445 coreconfigitem(
2449 coreconfigitem(
2446 b'ui',
2450 b'ui',
2447 b'editor',
2451 b'editor',
2448 default=dynamicdefault,
2452 default=dynamicdefault,
2449 )
2453 )
2450 coreconfigitem(
2454 coreconfigitem(
2451 b'ui',
2455 b'ui',
2452 b'detailed-exit-code',
2456 b'detailed-exit-code',
2453 default=False,
2457 default=False,
2454 experimental=True,
2458 experimental=True,
2455 )
2459 )
2456 coreconfigitem(
2460 coreconfigitem(
2457 b'ui',
2461 b'ui',
2458 b'fallbackencoding',
2462 b'fallbackencoding',
2459 default=None,
2463 default=None,
2460 )
2464 )
2461 coreconfigitem(
2465 coreconfigitem(
2462 b'ui',
2466 b'ui',
2463 b'forcecwd',
2467 b'forcecwd',
2464 default=None,
2468 default=None,
2465 )
2469 )
2466 coreconfigitem(
2470 coreconfigitem(
2467 b'ui',
2471 b'ui',
2468 b'forcemerge',
2472 b'forcemerge',
2469 default=None,
2473 default=None,
2470 )
2474 )
2471 coreconfigitem(
2475 coreconfigitem(
2472 b'ui',
2476 b'ui',
2473 b'formatdebug',
2477 b'formatdebug',
2474 default=False,
2478 default=False,
2475 )
2479 )
2476 coreconfigitem(
2480 coreconfigitem(
2477 b'ui',
2481 b'ui',
2478 b'formatjson',
2482 b'formatjson',
2479 default=False,
2483 default=False,
2480 )
2484 )
2481 coreconfigitem(
2485 coreconfigitem(
2482 b'ui',
2486 b'ui',
2483 b'formatted',
2487 b'formatted',
2484 default=None,
2488 default=None,
2485 )
2489 )
2486 coreconfigitem(
2490 coreconfigitem(
2487 b'ui',
2491 b'ui',
2488 b'interactive',
2492 b'interactive',
2489 default=None,
2493 default=None,
2490 )
2494 )
2491 coreconfigitem(
2495 coreconfigitem(
2492 b'ui',
2496 b'ui',
2493 b'interface',
2497 b'interface',
2494 default=None,
2498 default=None,
2495 )
2499 )
2496 coreconfigitem(
2500 coreconfigitem(
2497 b'ui',
2501 b'ui',
2498 b'interface.chunkselector',
2502 b'interface.chunkselector',
2499 default=None,
2503 default=None,
2500 )
2504 )
2501 coreconfigitem(
2505 coreconfigitem(
2502 b'ui',
2506 b'ui',
2503 b'large-file-limit',
2507 b'large-file-limit',
2504 default=10 * (2 ** 20),
2508 default=10 * (2 ** 20),
2505 )
2509 )
2506 coreconfigitem(
2510 coreconfigitem(
2507 b'ui',
2511 b'ui',
2508 b'logblockedtimes',
2512 b'logblockedtimes',
2509 default=False,
2513 default=False,
2510 )
2514 )
2511 coreconfigitem(
2515 coreconfigitem(
2512 b'ui',
2516 b'ui',
2513 b'merge',
2517 b'merge',
2514 default=None,
2518 default=None,
2515 )
2519 )
2516 coreconfigitem(
2520 coreconfigitem(
2517 b'ui',
2521 b'ui',
2518 b'mergemarkers',
2522 b'mergemarkers',
2519 default=b'basic',
2523 default=b'basic',
2520 )
2524 )
2521 coreconfigitem(
2525 coreconfigitem(
2522 b'ui',
2526 b'ui',
2523 b'message-output',
2527 b'message-output',
2524 default=b'stdio',
2528 default=b'stdio',
2525 )
2529 )
2526 coreconfigitem(
2530 coreconfigitem(
2527 b'ui',
2531 b'ui',
2528 b'nontty',
2532 b'nontty',
2529 default=False,
2533 default=False,
2530 )
2534 )
2531 coreconfigitem(
2535 coreconfigitem(
2532 b'ui',
2536 b'ui',
2533 b'origbackuppath',
2537 b'origbackuppath',
2534 default=None,
2538 default=None,
2535 )
2539 )
2536 coreconfigitem(
2540 coreconfigitem(
2537 b'ui',
2541 b'ui',
2538 b'paginate',
2542 b'paginate',
2539 default=True,
2543 default=True,
2540 )
2544 )
2541 coreconfigitem(
2545 coreconfigitem(
2542 b'ui',
2546 b'ui',
2543 b'patch',
2547 b'patch',
2544 default=None,
2548 default=None,
2545 )
2549 )
2546 coreconfigitem(
2550 coreconfigitem(
2547 b'ui',
2551 b'ui',
2548 b'portablefilenames',
2552 b'portablefilenames',
2549 default=b'warn',
2553 default=b'warn',
2550 )
2554 )
2551 coreconfigitem(
2555 coreconfigitem(
2552 b'ui',
2556 b'ui',
2553 b'promptecho',
2557 b'promptecho',
2554 default=False,
2558 default=False,
2555 )
2559 )
2556 coreconfigitem(
2560 coreconfigitem(
2557 b'ui',
2561 b'ui',
2558 b'quiet',
2562 b'quiet',
2559 default=False,
2563 default=False,
2560 )
2564 )
2561 coreconfigitem(
2565 coreconfigitem(
2562 b'ui',
2566 b'ui',
2563 b'quietbookmarkmove',
2567 b'quietbookmarkmove',
2564 default=False,
2568 default=False,
2565 )
2569 )
2566 coreconfigitem(
2570 coreconfigitem(
2567 b'ui',
2571 b'ui',
2568 b'relative-paths',
2572 b'relative-paths',
2569 default=b'legacy',
2573 default=b'legacy',
2570 )
2574 )
2571 coreconfigitem(
2575 coreconfigitem(
2572 b'ui',
2576 b'ui',
2573 b'remotecmd',
2577 b'remotecmd',
2574 default=b'hg',
2578 default=b'hg',
2575 )
2579 )
2576 coreconfigitem(
2580 coreconfigitem(
2577 b'ui',
2581 b'ui',
2578 b'report_untrusted',
2582 b'report_untrusted',
2579 default=True,
2583 default=True,
2580 )
2584 )
2581 coreconfigitem(
2585 coreconfigitem(
2582 b'ui',
2586 b'ui',
2583 b'rollback',
2587 b'rollback',
2584 default=True,
2588 default=True,
2585 )
2589 )
2586 coreconfigitem(
2590 coreconfigitem(
2587 b'ui',
2591 b'ui',
2588 b'signal-safe-lock',
2592 b'signal-safe-lock',
2589 default=True,
2593 default=True,
2590 )
2594 )
2591 coreconfigitem(
2595 coreconfigitem(
2592 b'ui',
2596 b'ui',
2593 b'slash',
2597 b'slash',
2594 default=False,
2598 default=False,
2595 )
2599 )
2596 coreconfigitem(
2600 coreconfigitem(
2597 b'ui',
2601 b'ui',
2598 b'ssh',
2602 b'ssh',
2599 default=b'ssh',
2603 default=b'ssh',
2600 )
2604 )
2601 coreconfigitem(
2605 coreconfigitem(
2602 b'ui',
2606 b'ui',
2603 b'ssherrorhint',
2607 b'ssherrorhint',
2604 default=None,
2608 default=None,
2605 )
2609 )
2606 coreconfigitem(
2610 coreconfigitem(
2607 b'ui',
2611 b'ui',
2608 b'statuscopies',
2612 b'statuscopies',
2609 default=False,
2613 default=False,
2610 )
2614 )
2611 coreconfigitem(
2615 coreconfigitem(
2612 b'ui',
2616 b'ui',
2613 b'strict',
2617 b'strict',
2614 default=False,
2618 default=False,
2615 )
2619 )
2616 coreconfigitem(
2620 coreconfigitem(
2617 b'ui',
2621 b'ui',
2618 b'style',
2622 b'style',
2619 default=b'',
2623 default=b'',
2620 )
2624 )
2621 coreconfigitem(
2625 coreconfigitem(
2622 b'ui',
2626 b'ui',
2623 b'supportcontact',
2627 b'supportcontact',
2624 default=None,
2628 default=None,
2625 )
2629 )
2626 coreconfigitem(
2630 coreconfigitem(
2627 b'ui',
2631 b'ui',
2628 b'textwidth',
2632 b'textwidth',
2629 default=78,
2633 default=78,
2630 )
2634 )
2631 coreconfigitem(
2635 coreconfigitem(
2632 b'ui',
2636 b'ui',
2633 b'timeout',
2637 b'timeout',
2634 default=b'600',
2638 default=b'600',
2635 )
2639 )
2636 coreconfigitem(
2640 coreconfigitem(
2637 b'ui',
2641 b'ui',
2638 b'timeout.warn',
2642 b'timeout.warn',
2639 default=0,
2643 default=0,
2640 )
2644 )
2641 coreconfigitem(
2645 coreconfigitem(
2642 b'ui',
2646 b'ui',
2643 b'timestamp-output',
2647 b'timestamp-output',
2644 default=False,
2648 default=False,
2645 )
2649 )
2646 coreconfigitem(
2650 coreconfigitem(
2647 b'ui',
2651 b'ui',
2648 b'traceback',
2652 b'traceback',
2649 default=False,
2653 default=False,
2650 )
2654 )
2651 coreconfigitem(
2655 coreconfigitem(
2652 b'ui',
2656 b'ui',
2653 b'tweakdefaults',
2657 b'tweakdefaults',
2654 default=False,
2658 default=False,
2655 )
2659 )
2656 coreconfigitem(b'ui', b'username', alias=[(b'ui', b'user')])
2660 coreconfigitem(b'ui', b'username', alias=[(b'ui', b'user')])
2657 coreconfigitem(
2661 coreconfigitem(
2658 b'ui',
2662 b'ui',
2659 b'verbose',
2663 b'verbose',
2660 default=False,
2664 default=False,
2661 )
2665 )
2662 coreconfigitem(
2666 coreconfigitem(
2663 b'verify',
2667 b'verify',
2664 b'skipflags',
2668 b'skipflags',
2665 default=0,
2669 default=0,
2666 )
2670 )
2667 coreconfigitem(
2671 coreconfigitem(
2668 b'web',
2672 b'web',
2669 b'allowbz2',
2673 b'allowbz2',
2670 default=False,
2674 default=False,
2671 )
2675 )
2672 coreconfigitem(
2676 coreconfigitem(
2673 b'web',
2677 b'web',
2674 b'allowgz',
2678 b'allowgz',
2675 default=False,
2679 default=False,
2676 )
2680 )
2677 coreconfigitem(
2681 coreconfigitem(
2678 b'web',
2682 b'web',
2679 b'allow-pull',
2683 b'allow-pull',
2680 alias=[(b'web', b'allowpull')],
2684 alias=[(b'web', b'allowpull')],
2681 default=True,
2685 default=True,
2682 )
2686 )
2683 coreconfigitem(
2687 coreconfigitem(
2684 b'web',
2688 b'web',
2685 b'allow-push',
2689 b'allow-push',
2686 alias=[(b'web', b'allow_push')],
2690 alias=[(b'web', b'allow_push')],
2687 default=list,
2691 default=list,
2688 )
2692 )
2689 coreconfigitem(
2693 coreconfigitem(
2690 b'web',
2694 b'web',
2691 b'allowzip',
2695 b'allowzip',
2692 default=False,
2696 default=False,
2693 )
2697 )
2694 coreconfigitem(
2698 coreconfigitem(
2695 b'web',
2699 b'web',
2696 b'archivesubrepos',
2700 b'archivesubrepos',
2697 default=False,
2701 default=False,
2698 )
2702 )
2699 coreconfigitem(
2703 coreconfigitem(
2700 b'web',
2704 b'web',
2701 b'cache',
2705 b'cache',
2702 default=True,
2706 default=True,
2703 )
2707 )
2704 coreconfigitem(
2708 coreconfigitem(
2705 b'web',
2709 b'web',
2706 b'comparisoncontext',
2710 b'comparisoncontext',
2707 default=5,
2711 default=5,
2708 )
2712 )
2709 coreconfigitem(
2713 coreconfigitem(
2710 b'web',
2714 b'web',
2711 b'contact',
2715 b'contact',
2712 default=None,
2716 default=None,
2713 )
2717 )
2714 coreconfigitem(
2718 coreconfigitem(
2715 b'web',
2719 b'web',
2716 b'deny_push',
2720 b'deny_push',
2717 default=list,
2721 default=list,
2718 )
2722 )
2719 coreconfigitem(
2723 coreconfigitem(
2720 b'web',
2724 b'web',
2721 b'guessmime',
2725 b'guessmime',
2722 default=False,
2726 default=False,
2723 )
2727 )
2724 coreconfigitem(
2728 coreconfigitem(
2725 b'web',
2729 b'web',
2726 b'hidden',
2730 b'hidden',
2727 default=False,
2731 default=False,
2728 )
2732 )
2729 coreconfigitem(
2733 coreconfigitem(
2730 b'web',
2734 b'web',
2731 b'labels',
2735 b'labels',
2732 default=list,
2736 default=list,
2733 )
2737 )
2734 coreconfigitem(
2738 coreconfigitem(
2735 b'web',
2739 b'web',
2736 b'logoimg',
2740 b'logoimg',
2737 default=b'hglogo.png',
2741 default=b'hglogo.png',
2738 )
2742 )
2739 coreconfigitem(
2743 coreconfigitem(
2740 b'web',
2744 b'web',
2741 b'logourl',
2745 b'logourl',
2742 default=b'https://mercurial-scm.org/',
2746 default=b'https://mercurial-scm.org/',
2743 )
2747 )
2744 coreconfigitem(
2748 coreconfigitem(
2745 b'web',
2749 b'web',
2746 b'accesslog',
2750 b'accesslog',
2747 default=b'-',
2751 default=b'-',
2748 )
2752 )
2749 coreconfigitem(
2753 coreconfigitem(
2750 b'web',
2754 b'web',
2751 b'address',
2755 b'address',
2752 default=b'',
2756 default=b'',
2753 )
2757 )
2754 coreconfigitem(
2758 coreconfigitem(
2755 b'web',
2759 b'web',
2756 b'allow-archive',
2760 b'allow-archive',
2757 alias=[(b'web', b'allow_archive')],
2761 alias=[(b'web', b'allow_archive')],
2758 default=list,
2762 default=list,
2759 )
2763 )
2760 coreconfigitem(
2764 coreconfigitem(
2761 b'web',
2765 b'web',
2762 b'allow_read',
2766 b'allow_read',
2763 default=list,
2767 default=list,
2764 )
2768 )
2765 coreconfigitem(
2769 coreconfigitem(
2766 b'web',
2770 b'web',
2767 b'baseurl',
2771 b'baseurl',
2768 default=None,
2772 default=None,
2769 )
2773 )
2770 coreconfigitem(
2774 coreconfigitem(
2771 b'web',
2775 b'web',
2772 b'cacerts',
2776 b'cacerts',
2773 default=None,
2777 default=None,
2774 )
2778 )
2775 coreconfigitem(
2779 coreconfigitem(
2776 b'web',
2780 b'web',
2777 b'certificate',
2781 b'certificate',
2778 default=None,
2782 default=None,
2779 )
2783 )
2780 coreconfigitem(
2784 coreconfigitem(
2781 b'web',
2785 b'web',
2782 b'collapse',
2786 b'collapse',
2783 default=False,
2787 default=False,
2784 )
2788 )
2785 coreconfigitem(
2789 coreconfigitem(
2786 b'web',
2790 b'web',
2787 b'csp',
2791 b'csp',
2788 default=None,
2792 default=None,
2789 )
2793 )
2790 coreconfigitem(
2794 coreconfigitem(
2791 b'web',
2795 b'web',
2792 b'deny_read',
2796 b'deny_read',
2793 default=list,
2797 default=list,
2794 )
2798 )
2795 coreconfigitem(
2799 coreconfigitem(
2796 b'web',
2800 b'web',
2797 b'descend',
2801 b'descend',
2798 default=True,
2802 default=True,
2799 )
2803 )
2800 coreconfigitem(
2804 coreconfigitem(
2801 b'web',
2805 b'web',
2802 b'description',
2806 b'description',
2803 default=b"",
2807 default=b"",
2804 )
2808 )
2805 coreconfigitem(
2809 coreconfigitem(
2806 b'web',
2810 b'web',
2807 b'encoding',
2811 b'encoding',
2808 default=lambda: encoding.encoding,
2812 default=lambda: encoding.encoding,
2809 )
2813 )
2810 coreconfigitem(
2814 coreconfigitem(
2811 b'web',
2815 b'web',
2812 b'errorlog',
2816 b'errorlog',
2813 default=b'-',
2817 default=b'-',
2814 )
2818 )
2815 coreconfigitem(
2819 coreconfigitem(
2816 b'web',
2820 b'web',
2817 b'ipv6',
2821 b'ipv6',
2818 default=False,
2822 default=False,
2819 )
2823 )
2820 coreconfigitem(
2824 coreconfigitem(
2821 b'web',
2825 b'web',
2822 b'maxchanges',
2826 b'maxchanges',
2823 default=10,
2827 default=10,
2824 )
2828 )
2825 coreconfigitem(
2829 coreconfigitem(
2826 b'web',
2830 b'web',
2827 b'maxfiles',
2831 b'maxfiles',
2828 default=10,
2832 default=10,
2829 )
2833 )
2830 coreconfigitem(
2834 coreconfigitem(
2831 b'web',
2835 b'web',
2832 b'maxshortchanges',
2836 b'maxshortchanges',
2833 default=60,
2837 default=60,
2834 )
2838 )
2835 coreconfigitem(
2839 coreconfigitem(
2836 b'web',
2840 b'web',
2837 b'motd',
2841 b'motd',
2838 default=b'',
2842 default=b'',
2839 )
2843 )
2840 coreconfigitem(
2844 coreconfigitem(
2841 b'web',
2845 b'web',
2842 b'name',
2846 b'name',
2843 default=dynamicdefault,
2847 default=dynamicdefault,
2844 )
2848 )
2845 coreconfigitem(
2849 coreconfigitem(
2846 b'web',
2850 b'web',
2847 b'port',
2851 b'port',
2848 default=8000,
2852 default=8000,
2849 )
2853 )
2850 coreconfigitem(
2854 coreconfigitem(
2851 b'web',
2855 b'web',
2852 b'prefix',
2856 b'prefix',
2853 default=b'',
2857 default=b'',
2854 )
2858 )
2855 coreconfigitem(
2859 coreconfigitem(
2856 b'web',
2860 b'web',
2857 b'push_ssl',
2861 b'push_ssl',
2858 default=True,
2862 default=True,
2859 )
2863 )
2860 coreconfigitem(
2864 coreconfigitem(
2861 b'web',
2865 b'web',
2862 b'refreshinterval',
2866 b'refreshinterval',
2863 default=20,
2867 default=20,
2864 )
2868 )
2865 coreconfigitem(
2869 coreconfigitem(
2866 b'web',
2870 b'web',
2867 b'server-header',
2871 b'server-header',
2868 default=None,
2872 default=None,
2869 )
2873 )
2870 coreconfigitem(
2874 coreconfigitem(
2871 b'web',
2875 b'web',
2872 b'static',
2876 b'static',
2873 default=None,
2877 default=None,
2874 )
2878 )
2875 coreconfigitem(
2879 coreconfigitem(
2876 b'web',
2880 b'web',
2877 b'staticurl',
2881 b'staticurl',
2878 default=None,
2882 default=None,
2879 )
2883 )
2880 coreconfigitem(
2884 coreconfigitem(
2881 b'web',
2885 b'web',
2882 b'stripes',
2886 b'stripes',
2883 default=1,
2887 default=1,
2884 )
2888 )
2885 coreconfigitem(
2889 coreconfigitem(
2886 b'web',
2890 b'web',
2887 b'style',
2891 b'style',
2888 default=b'paper',
2892 default=b'paper',
2889 )
2893 )
2890 coreconfigitem(
2894 coreconfigitem(
2891 b'web',
2895 b'web',
2892 b'templates',
2896 b'templates',
2893 default=None,
2897 default=None,
2894 )
2898 )
2895 coreconfigitem(
2899 coreconfigitem(
2896 b'web',
2900 b'web',
2897 b'view',
2901 b'view',
2898 default=b'served',
2902 default=b'served',
2899 experimental=True,
2903 experimental=True,
2900 )
2904 )
2901 coreconfigitem(
2905 coreconfigitem(
2902 b'worker',
2906 b'worker',
2903 b'backgroundclose',
2907 b'backgroundclose',
2904 default=dynamicdefault,
2908 default=dynamicdefault,
2905 )
2909 )
2906 # Windows defaults to a limit of 512 open files. A buffer of 128
2910 # Windows defaults to a limit of 512 open files. A buffer of 128
2907 # should give us enough headway.
2911 # should give us enough headway.
2908 coreconfigitem(
2912 coreconfigitem(
2909 b'worker',
2913 b'worker',
2910 b'backgroundclosemaxqueue',
2914 b'backgroundclosemaxqueue',
2911 default=384,
2915 default=384,
2912 )
2916 )
2913 coreconfigitem(
2917 coreconfigitem(
2914 b'worker',
2918 b'worker',
2915 b'backgroundcloseminfilecount',
2919 b'backgroundcloseminfilecount',
2916 default=2048,
2920 default=2048,
2917 )
2921 )
2918 coreconfigitem(
2922 coreconfigitem(
2919 b'worker',
2923 b'worker',
2920 b'backgroundclosethreadcount',
2924 b'backgroundclosethreadcount',
2921 default=4,
2925 default=4,
2922 )
2926 )
2923 coreconfigitem(
2927 coreconfigitem(
2924 b'worker',
2928 b'worker',
2925 b'enabled',
2929 b'enabled',
2926 default=True,
2930 default=True,
2927 )
2931 )
2928 coreconfigitem(
2932 coreconfigitem(
2929 b'worker',
2933 b'worker',
2930 b'numcpus',
2934 b'numcpus',
2931 default=None,
2935 default=None,
2932 )
2936 )
2933
2937
2934 # Rebase related configuration moved to core because other extension are doing
2938 # Rebase related configuration moved to core because other extension are doing
2935 # strange things. For example, shelve import the extensions to reuse some bit
2939 # strange things. For example, shelve import the extensions to reuse some bit
2936 # without formally loading it.
2940 # without formally loading it.
2937 coreconfigitem(
2941 coreconfigitem(
2938 b'commands',
2942 b'commands',
2939 b'rebase.requiredest',
2943 b'rebase.requiredest',
2940 default=False,
2944 default=False,
2941 )
2945 )
2942 coreconfigitem(
2946 coreconfigitem(
2943 b'experimental',
2947 b'experimental',
2944 b'rebaseskipobsolete',
2948 b'rebaseskipobsolete',
2945 default=True,
2949 default=True,
2946 )
2950 )
2947 coreconfigitem(
2951 coreconfigitem(
2948 b'rebase',
2952 b'rebase',
2949 b'singletransaction',
2953 b'singletransaction',
2950 default=False,
2954 default=False,
2951 )
2955 )
2952 coreconfigitem(
2956 coreconfigitem(
2953 b'rebase',
2957 b'rebase',
2954 b'experimental.inmemory',
2958 b'experimental.inmemory',
2955 default=False,
2959 default=False,
2956 )
2960 )
2957
2961
2958 # This setting controls creation of a rebase_source extra field
2962 # This setting controls creation of a rebase_source extra field
2959 # during rebase. When False, no such field is created. This is
2963 # during rebase. When False, no such field is created. This is
2960 # useful eg for incrementally converting changesets and then
2964 # useful eg for incrementally converting changesets and then
2961 # rebasing them onto an existing repo.
2965 # rebasing them onto an existing repo.
2962 # WARNING: this is an advanced setting reserved for people who know
2966 # WARNING: this is an advanced setting reserved for people who know
2963 # exactly what they are doing. Misuse of this setting can easily
2967 # exactly what they are doing. Misuse of this setting can easily
2964 # result in obsmarker cycles and a vivid headache.
2968 # result in obsmarker cycles and a vivid headache.
2965 coreconfigitem(
2969 coreconfigitem(
2966 b'rebase',
2970 b'rebase',
2967 b'store-source',
2971 b'store-source',
2968 default=True,
2972 default=True,
2969 experimental=True,
2973 experimental=True,
2970 )
2974 )
General Comments 0
You need to be logged in to leave comments. Login now