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