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