##// END OF EJS Templates
profiling: move default mode to "real" time...
Boris Feld -
r40436:db0dba2d default
parent child Browse files
Show More
@@ -1,1427 +1,1427 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 from __future__ import absolute_import
8 from __future__ import absolute_import
9
9
10 import functools
10 import functools
11 import re
11 import re
12
12
13 from . import (
13 from . import (
14 encoding,
14 encoding,
15 error,
15 error,
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 = "extension '%s' overwrite config item '%s.%s'"
25 msg = "extension '%s' overwrite config item '%s.%s'"
26 msg %= (extname, section, key)
26 msg %= (extname, section, key)
27 ui.develwarn(msg, config='warn-config')
27 ui.develwarn(msg, config='warn-config')
28
28
29 knownitems.update(items)
29 knownitems.update(items)
30
30
31 class configitem(object):
31 class configitem(object):
32 """represent a known config item
32 """represent a known config item
33
33
34 :section: the official config section where to find this item,
34 :section: the official config section where to find this item,
35 :name: the official name within the section,
35 :name: the official name within the section,
36 :default: default value for this item,
36 :default: default value for this item,
37 :alias: optional list of tuples as alternatives,
37 :alias: optional list of tuples as alternatives,
38 :generic: this is a generic definition, match name using regular expression.
38 :generic: this is a generic definition, match name using regular expression.
39 """
39 """
40
40
41 def __init__(self, section, name, default=None, alias=(),
41 def __init__(self, section, name, default=None, alias=(),
42 generic=False, priority=0):
42 generic=False, priority=0):
43 self.section = section
43 self.section = section
44 self.name = name
44 self.name = name
45 self.default = default
45 self.default = default
46 self.alias = list(alias)
46 self.alias = list(alias)
47 self.generic = generic
47 self.generic = generic
48 self.priority = priority
48 self.priority = priority
49 self._re = None
49 self._re = None
50 if generic:
50 if generic:
51 self._re = re.compile(self.name)
51 self._re = re.compile(self.name)
52
52
53 class itemregister(dict):
53 class itemregister(dict):
54 """A specialized dictionary that can handle wild-card selection"""
54 """A specialized dictionary that can handle wild-card selection"""
55
55
56 def __init__(self):
56 def __init__(self):
57 super(itemregister, self).__init__()
57 super(itemregister, self).__init__()
58 self._generics = set()
58 self._generics = set()
59
59
60 def update(self, other):
60 def update(self, other):
61 super(itemregister, self).update(other)
61 super(itemregister, self).update(other)
62 self._generics.update(other._generics)
62 self._generics.update(other._generics)
63
63
64 def __setitem__(self, key, item):
64 def __setitem__(self, key, item):
65 super(itemregister, self).__setitem__(key, item)
65 super(itemregister, self).__setitem__(key, item)
66 if item.generic:
66 if item.generic:
67 self._generics.add(item)
67 self._generics.add(item)
68
68
69 def get(self, key):
69 def get(self, key):
70 baseitem = super(itemregister, self).get(key)
70 baseitem = super(itemregister, self).get(key)
71 if baseitem is not None and not baseitem.generic:
71 if baseitem is not None and not baseitem.generic:
72 return baseitem
72 return baseitem
73
73
74 # search for a matching generic item
74 # search for a matching generic item
75 generics = sorted(self._generics, key=(lambda x: (x.priority, x.name)))
75 generics = sorted(self._generics, key=(lambda x: (x.priority, x.name)))
76 for item in generics:
76 for item in generics:
77 # we use 'match' instead of 'search' to make the matching simpler
77 # we use 'match' instead of 'search' to make the matching simpler
78 # for people unfamiliar with regular expression. Having the match
78 # for people unfamiliar with regular expression. Having the match
79 # rooted to the start of the string will produce less surprising
79 # rooted to the start of the string will produce less surprising
80 # result for user writing simple regex for sub-attribute.
80 # result for user writing simple regex for sub-attribute.
81 #
81 #
82 # For example using "color\..*" match produces an unsurprising
82 # For example using "color\..*" match produces an unsurprising
83 # result, while using search could suddenly match apparently
83 # result, while using search could suddenly match apparently
84 # unrelated configuration that happens to contains "color."
84 # unrelated configuration that happens to contains "color."
85 # anywhere. This is a tradeoff where we favor requiring ".*" on
85 # anywhere. This is a tradeoff where we favor requiring ".*" on
86 # some match to avoid the need to prefix most pattern with "^".
86 # some match to avoid the need to prefix most pattern with "^".
87 # The "^" seems more error prone.
87 # The "^" seems more error prone.
88 if item._re.match(key):
88 if item._re.match(key):
89 return item
89 return item
90
90
91 return None
91 return None
92
92
93 coreitems = {}
93 coreitems = {}
94
94
95 def _register(configtable, *args, **kwargs):
95 def _register(configtable, *args, **kwargs):
96 item = configitem(*args, **kwargs)
96 item = configitem(*args, **kwargs)
97 section = configtable.setdefault(item.section, itemregister())
97 section = configtable.setdefault(item.section, itemregister())
98 if item.name in section:
98 if item.name in section:
99 msg = "duplicated config item registration for '%s.%s'"
99 msg = "duplicated config item registration for '%s.%s'"
100 raise error.ProgrammingError(msg % (item.section, item.name))
100 raise error.ProgrammingError(msg % (item.section, item.name))
101 section[item.name] = item
101 section[item.name] = item
102
102
103 # special value for case where the default is derived from other values
103 # special value for case where the default is derived from other values
104 dynamicdefault = object()
104 dynamicdefault = object()
105
105
106 # Registering actual config items
106 # Registering actual config items
107
107
108 def getitemregister(configtable):
108 def getitemregister(configtable):
109 f = functools.partial(_register, configtable)
109 f = functools.partial(_register, configtable)
110 # export pseudo enum as configitem.*
110 # export pseudo enum as configitem.*
111 f.dynamicdefault = dynamicdefault
111 f.dynamicdefault = dynamicdefault
112 return f
112 return f
113
113
114 coreconfigitem = getitemregister(coreitems)
114 coreconfigitem = getitemregister(coreitems)
115
115
116 coreconfigitem('alias', '.*',
116 coreconfigitem('alias', '.*',
117 default=dynamicdefault,
117 default=dynamicdefault,
118 generic=True,
118 generic=True,
119 )
119 )
120 coreconfigitem('annotate', 'nodates',
120 coreconfigitem('annotate', 'nodates',
121 default=False,
121 default=False,
122 )
122 )
123 coreconfigitem('annotate', 'showfunc',
123 coreconfigitem('annotate', 'showfunc',
124 default=False,
124 default=False,
125 )
125 )
126 coreconfigitem('annotate', 'unified',
126 coreconfigitem('annotate', 'unified',
127 default=None,
127 default=None,
128 )
128 )
129 coreconfigitem('annotate', 'git',
129 coreconfigitem('annotate', 'git',
130 default=False,
130 default=False,
131 )
131 )
132 coreconfigitem('annotate', 'ignorews',
132 coreconfigitem('annotate', 'ignorews',
133 default=False,
133 default=False,
134 )
134 )
135 coreconfigitem('annotate', 'ignorewsamount',
135 coreconfigitem('annotate', 'ignorewsamount',
136 default=False,
136 default=False,
137 )
137 )
138 coreconfigitem('annotate', 'ignoreblanklines',
138 coreconfigitem('annotate', 'ignoreblanklines',
139 default=False,
139 default=False,
140 )
140 )
141 coreconfigitem('annotate', 'ignorewseol',
141 coreconfigitem('annotate', 'ignorewseol',
142 default=False,
142 default=False,
143 )
143 )
144 coreconfigitem('annotate', 'nobinary',
144 coreconfigitem('annotate', 'nobinary',
145 default=False,
145 default=False,
146 )
146 )
147 coreconfigitem('annotate', 'noprefix',
147 coreconfigitem('annotate', 'noprefix',
148 default=False,
148 default=False,
149 )
149 )
150 coreconfigitem('annotate', 'word-diff',
150 coreconfigitem('annotate', 'word-diff',
151 default=False,
151 default=False,
152 )
152 )
153 coreconfigitem('auth', 'cookiefile',
153 coreconfigitem('auth', 'cookiefile',
154 default=None,
154 default=None,
155 )
155 )
156 # bookmarks.pushing: internal hack for discovery
156 # bookmarks.pushing: internal hack for discovery
157 coreconfigitem('bookmarks', 'pushing',
157 coreconfigitem('bookmarks', 'pushing',
158 default=list,
158 default=list,
159 )
159 )
160 # bundle.mainreporoot: internal hack for bundlerepo
160 # bundle.mainreporoot: internal hack for bundlerepo
161 coreconfigitem('bundle', 'mainreporoot',
161 coreconfigitem('bundle', 'mainreporoot',
162 default='',
162 default='',
163 )
163 )
164 coreconfigitem('censor', 'policy',
164 coreconfigitem('censor', 'policy',
165 default='abort',
165 default='abort',
166 )
166 )
167 coreconfigitem('chgserver', 'idletimeout',
167 coreconfigitem('chgserver', 'idletimeout',
168 default=3600,
168 default=3600,
169 )
169 )
170 coreconfigitem('chgserver', 'skiphash',
170 coreconfigitem('chgserver', 'skiphash',
171 default=False,
171 default=False,
172 )
172 )
173 coreconfigitem('cmdserver', 'log',
173 coreconfigitem('cmdserver', 'log',
174 default=None,
174 default=None,
175 )
175 )
176 coreconfigitem('color', '.*',
176 coreconfigitem('color', '.*',
177 default=None,
177 default=None,
178 generic=True,
178 generic=True,
179 )
179 )
180 coreconfigitem('color', 'mode',
180 coreconfigitem('color', 'mode',
181 default='auto',
181 default='auto',
182 )
182 )
183 coreconfigitem('color', 'pagermode',
183 coreconfigitem('color', 'pagermode',
184 default=dynamicdefault,
184 default=dynamicdefault,
185 )
185 )
186 coreconfigitem('commands', 'grep.all-files',
186 coreconfigitem('commands', 'grep.all-files',
187 default=False,
187 default=False,
188 )
188 )
189 coreconfigitem('commands', 'resolve.confirm',
189 coreconfigitem('commands', 'resolve.confirm',
190 default=False,
190 default=False,
191 )
191 )
192 coreconfigitem('commands', 'resolve.explicit-re-merge',
192 coreconfigitem('commands', 'resolve.explicit-re-merge',
193 default=False,
193 default=False,
194 )
194 )
195 coreconfigitem('commands', 'resolve.mark-check',
195 coreconfigitem('commands', 'resolve.mark-check',
196 default='none',
196 default='none',
197 )
197 )
198 coreconfigitem('commands', 'show.aliasprefix',
198 coreconfigitem('commands', 'show.aliasprefix',
199 default=list,
199 default=list,
200 )
200 )
201 coreconfigitem('commands', 'status.relative',
201 coreconfigitem('commands', 'status.relative',
202 default=False,
202 default=False,
203 )
203 )
204 coreconfigitem('commands', 'status.skipstates',
204 coreconfigitem('commands', 'status.skipstates',
205 default=[],
205 default=[],
206 )
206 )
207 coreconfigitem('commands', 'status.terse',
207 coreconfigitem('commands', 'status.terse',
208 default='',
208 default='',
209 )
209 )
210 coreconfigitem('commands', 'status.verbose',
210 coreconfigitem('commands', 'status.verbose',
211 default=False,
211 default=False,
212 )
212 )
213 coreconfigitem('commands', 'update.check',
213 coreconfigitem('commands', 'update.check',
214 default=None,
214 default=None,
215 )
215 )
216 coreconfigitem('commands', 'update.requiredest',
216 coreconfigitem('commands', 'update.requiredest',
217 default=False,
217 default=False,
218 )
218 )
219 coreconfigitem('committemplate', '.*',
219 coreconfigitem('committemplate', '.*',
220 default=None,
220 default=None,
221 generic=True,
221 generic=True,
222 )
222 )
223 coreconfigitem('convert', 'bzr.saverev',
223 coreconfigitem('convert', 'bzr.saverev',
224 default=True,
224 default=True,
225 )
225 )
226 coreconfigitem('convert', 'cvsps.cache',
226 coreconfigitem('convert', 'cvsps.cache',
227 default=True,
227 default=True,
228 )
228 )
229 coreconfigitem('convert', 'cvsps.fuzz',
229 coreconfigitem('convert', 'cvsps.fuzz',
230 default=60,
230 default=60,
231 )
231 )
232 coreconfigitem('convert', 'cvsps.logencoding',
232 coreconfigitem('convert', 'cvsps.logencoding',
233 default=None,
233 default=None,
234 )
234 )
235 coreconfigitem('convert', 'cvsps.mergefrom',
235 coreconfigitem('convert', 'cvsps.mergefrom',
236 default=None,
236 default=None,
237 )
237 )
238 coreconfigitem('convert', 'cvsps.mergeto',
238 coreconfigitem('convert', 'cvsps.mergeto',
239 default=None,
239 default=None,
240 )
240 )
241 coreconfigitem('convert', 'git.committeractions',
241 coreconfigitem('convert', 'git.committeractions',
242 default=lambda: ['messagedifferent'],
242 default=lambda: ['messagedifferent'],
243 )
243 )
244 coreconfigitem('convert', 'git.extrakeys',
244 coreconfigitem('convert', 'git.extrakeys',
245 default=list,
245 default=list,
246 )
246 )
247 coreconfigitem('convert', 'git.findcopiesharder',
247 coreconfigitem('convert', 'git.findcopiesharder',
248 default=False,
248 default=False,
249 )
249 )
250 coreconfigitem('convert', 'git.remoteprefix',
250 coreconfigitem('convert', 'git.remoteprefix',
251 default='remote',
251 default='remote',
252 )
252 )
253 coreconfigitem('convert', 'git.renamelimit',
253 coreconfigitem('convert', 'git.renamelimit',
254 default=400,
254 default=400,
255 )
255 )
256 coreconfigitem('convert', 'git.saverev',
256 coreconfigitem('convert', 'git.saverev',
257 default=True,
257 default=True,
258 )
258 )
259 coreconfigitem('convert', 'git.similarity',
259 coreconfigitem('convert', 'git.similarity',
260 default=50,
260 default=50,
261 )
261 )
262 coreconfigitem('convert', 'git.skipsubmodules',
262 coreconfigitem('convert', 'git.skipsubmodules',
263 default=False,
263 default=False,
264 )
264 )
265 coreconfigitem('convert', 'hg.clonebranches',
265 coreconfigitem('convert', 'hg.clonebranches',
266 default=False,
266 default=False,
267 )
267 )
268 coreconfigitem('convert', 'hg.ignoreerrors',
268 coreconfigitem('convert', 'hg.ignoreerrors',
269 default=False,
269 default=False,
270 )
270 )
271 coreconfigitem('convert', 'hg.revs',
271 coreconfigitem('convert', 'hg.revs',
272 default=None,
272 default=None,
273 )
273 )
274 coreconfigitem('convert', 'hg.saverev',
274 coreconfigitem('convert', 'hg.saverev',
275 default=False,
275 default=False,
276 )
276 )
277 coreconfigitem('convert', 'hg.sourcename',
277 coreconfigitem('convert', 'hg.sourcename',
278 default=None,
278 default=None,
279 )
279 )
280 coreconfigitem('convert', 'hg.startrev',
280 coreconfigitem('convert', 'hg.startrev',
281 default=None,
281 default=None,
282 )
282 )
283 coreconfigitem('convert', 'hg.tagsbranch',
283 coreconfigitem('convert', 'hg.tagsbranch',
284 default='default',
284 default='default',
285 )
285 )
286 coreconfigitem('convert', 'hg.usebranchnames',
286 coreconfigitem('convert', 'hg.usebranchnames',
287 default=True,
287 default=True,
288 )
288 )
289 coreconfigitem('convert', 'ignoreancestorcheck',
289 coreconfigitem('convert', 'ignoreancestorcheck',
290 default=False,
290 default=False,
291 )
291 )
292 coreconfigitem('convert', 'localtimezone',
292 coreconfigitem('convert', 'localtimezone',
293 default=False,
293 default=False,
294 )
294 )
295 coreconfigitem('convert', 'p4.encoding',
295 coreconfigitem('convert', 'p4.encoding',
296 default=dynamicdefault,
296 default=dynamicdefault,
297 )
297 )
298 coreconfigitem('convert', 'p4.startrev',
298 coreconfigitem('convert', 'p4.startrev',
299 default=0,
299 default=0,
300 )
300 )
301 coreconfigitem('convert', 'skiptags',
301 coreconfigitem('convert', 'skiptags',
302 default=False,
302 default=False,
303 )
303 )
304 coreconfigitem('convert', 'svn.debugsvnlog',
304 coreconfigitem('convert', 'svn.debugsvnlog',
305 default=True,
305 default=True,
306 )
306 )
307 coreconfigitem('convert', 'svn.trunk',
307 coreconfigitem('convert', 'svn.trunk',
308 default=None,
308 default=None,
309 )
309 )
310 coreconfigitem('convert', 'svn.tags',
310 coreconfigitem('convert', 'svn.tags',
311 default=None,
311 default=None,
312 )
312 )
313 coreconfigitem('convert', 'svn.branches',
313 coreconfigitem('convert', 'svn.branches',
314 default=None,
314 default=None,
315 )
315 )
316 coreconfigitem('convert', 'svn.startrev',
316 coreconfigitem('convert', 'svn.startrev',
317 default=0,
317 default=0,
318 )
318 )
319 coreconfigitem('debug', 'dirstate.delaywrite',
319 coreconfigitem('debug', 'dirstate.delaywrite',
320 default=0,
320 default=0,
321 )
321 )
322 coreconfigitem('defaults', '.*',
322 coreconfigitem('defaults', '.*',
323 default=None,
323 default=None,
324 generic=True,
324 generic=True,
325 )
325 )
326 coreconfigitem('devel', 'all-warnings',
326 coreconfigitem('devel', 'all-warnings',
327 default=False,
327 default=False,
328 )
328 )
329 coreconfigitem('devel', 'bundle2.debug',
329 coreconfigitem('devel', 'bundle2.debug',
330 default=False,
330 default=False,
331 )
331 )
332 coreconfigitem('devel', 'cache-vfs',
332 coreconfigitem('devel', 'cache-vfs',
333 default=None,
333 default=None,
334 )
334 )
335 coreconfigitem('devel', 'check-locks',
335 coreconfigitem('devel', 'check-locks',
336 default=False,
336 default=False,
337 )
337 )
338 coreconfigitem('devel', 'check-relroot',
338 coreconfigitem('devel', 'check-relroot',
339 default=False,
339 default=False,
340 )
340 )
341 coreconfigitem('devel', 'default-date',
341 coreconfigitem('devel', 'default-date',
342 default=None,
342 default=None,
343 )
343 )
344 coreconfigitem('devel', 'deprec-warn',
344 coreconfigitem('devel', 'deprec-warn',
345 default=False,
345 default=False,
346 )
346 )
347 coreconfigitem('devel', 'disableloaddefaultcerts',
347 coreconfigitem('devel', 'disableloaddefaultcerts',
348 default=False,
348 default=False,
349 )
349 )
350 coreconfigitem('devel', 'warn-empty-changegroup',
350 coreconfigitem('devel', 'warn-empty-changegroup',
351 default=False,
351 default=False,
352 )
352 )
353 coreconfigitem('devel', 'legacy.exchange',
353 coreconfigitem('devel', 'legacy.exchange',
354 default=list,
354 default=list,
355 )
355 )
356 coreconfigitem('devel', 'servercafile',
356 coreconfigitem('devel', 'servercafile',
357 default='',
357 default='',
358 )
358 )
359 coreconfigitem('devel', 'serverexactprotocol',
359 coreconfigitem('devel', 'serverexactprotocol',
360 default='',
360 default='',
361 )
361 )
362 coreconfigitem('devel', 'serverrequirecert',
362 coreconfigitem('devel', 'serverrequirecert',
363 default=False,
363 default=False,
364 )
364 )
365 coreconfigitem('devel', 'strip-obsmarkers',
365 coreconfigitem('devel', 'strip-obsmarkers',
366 default=True,
366 default=True,
367 )
367 )
368 coreconfigitem('devel', 'warn-config',
368 coreconfigitem('devel', 'warn-config',
369 default=None,
369 default=None,
370 )
370 )
371 coreconfigitem('devel', 'warn-config-default',
371 coreconfigitem('devel', 'warn-config-default',
372 default=None,
372 default=None,
373 )
373 )
374 coreconfigitem('devel', 'user.obsmarker',
374 coreconfigitem('devel', 'user.obsmarker',
375 default=None,
375 default=None,
376 )
376 )
377 coreconfigitem('devel', 'warn-config-unknown',
377 coreconfigitem('devel', 'warn-config-unknown',
378 default=None,
378 default=None,
379 )
379 )
380 coreconfigitem('devel', 'debug.copies',
380 coreconfigitem('devel', 'debug.copies',
381 default=False,
381 default=False,
382 )
382 )
383 coreconfigitem('devel', 'debug.extensions',
383 coreconfigitem('devel', 'debug.extensions',
384 default=False,
384 default=False,
385 )
385 )
386 coreconfigitem('devel', 'debug.peer-request',
386 coreconfigitem('devel', 'debug.peer-request',
387 default=False,
387 default=False,
388 )
388 )
389 coreconfigitem('diff', 'nodates',
389 coreconfigitem('diff', 'nodates',
390 default=False,
390 default=False,
391 )
391 )
392 coreconfigitem('diff', 'showfunc',
392 coreconfigitem('diff', 'showfunc',
393 default=False,
393 default=False,
394 )
394 )
395 coreconfigitem('diff', 'unified',
395 coreconfigitem('diff', 'unified',
396 default=None,
396 default=None,
397 )
397 )
398 coreconfigitem('diff', 'git',
398 coreconfigitem('diff', 'git',
399 default=False,
399 default=False,
400 )
400 )
401 coreconfigitem('diff', 'ignorews',
401 coreconfigitem('diff', 'ignorews',
402 default=False,
402 default=False,
403 )
403 )
404 coreconfigitem('diff', 'ignorewsamount',
404 coreconfigitem('diff', 'ignorewsamount',
405 default=False,
405 default=False,
406 )
406 )
407 coreconfigitem('diff', 'ignoreblanklines',
407 coreconfigitem('diff', 'ignoreblanklines',
408 default=False,
408 default=False,
409 )
409 )
410 coreconfigitem('diff', 'ignorewseol',
410 coreconfigitem('diff', 'ignorewseol',
411 default=False,
411 default=False,
412 )
412 )
413 coreconfigitem('diff', 'nobinary',
413 coreconfigitem('diff', 'nobinary',
414 default=False,
414 default=False,
415 )
415 )
416 coreconfigitem('diff', 'noprefix',
416 coreconfigitem('diff', 'noprefix',
417 default=False,
417 default=False,
418 )
418 )
419 coreconfigitem('diff', 'word-diff',
419 coreconfigitem('diff', 'word-diff',
420 default=False,
420 default=False,
421 )
421 )
422 coreconfigitem('email', 'bcc',
422 coreconfigitem('email', 'bcc',
423 default=None,
423 default=None,
424 )
424 )
425 coreconfigitem('email', 'cc',
425 coreconfigitem('email', 'cc',
426 default=None,
426 default=None,
427 )
427 )
428 coreconfigitem('email', 'charsets',
428 coreconfigitem('email', 'charsets',
429 default=list,
429 default=list,
430 )
430 )
431 coreconfigitem('email', 'from',
431 coreconfigitem('email', 'from',
432 default=None,
432 default=None,
433 )
433 )
434 coreconfigitem('email', 'method',
434 coreconfigitem('email', 'method',
435 default='smtp',
435 default='smtp',
436 )
436 )
437 coreconfigitem('email', 'reply-to',
437 coreconfigitem('email', 'reply-to',
438 default=None,
438 default=None,
439 )
439 )
440 coreconfigitem('email', 'to',
440 coreconfigitem('email', 'to',
441 default=None,
441 default=None,
442 )
442 )
443 coreconfigitem('experimental', 'archivemetatemplate',
443 coreconfigitem('experimental', 'archivemetatemplate',
444 default=dynamicdefault,
444 default=dynamicdefault,
445 )
445 )
446 coreconfigitem('experimental', 'bundle-phases',
446 coreconfigitem('experimental', 'bundle-phases',
447 default=False,
447 default=False,
448 )
448 )
449 coreconfigitem('experimental', 'bundle2-advertise',
449 coreconfigitem('experimental', 'bundle2-advertise',
450 default=True,
450 default=True,
451 )
451 )
452 coreconfigitem('experimental', 'bundle2-output-capture',
452 coreconfigitem('experimental', 'bundle2-output-capture',
453 default=False,
453 default=False,
454 )
454 )
455 coreconfigitem('experimental', 'bundle2.pushback',
455 coreconfigitem('experimental', 'bundle2.pushback',
456 default=False,
456 default=False,
457 )
457 )
458 coreconfigitem('experimental', 'bundle2lazylocking',
458 coreconfigitem('experimental', 'bundle2lazylocking',
459 default=False,
459 default=False,
460 )
460 )
461 coreconfigitem('experimental', 'bundlecomplevel',
461 coreconfigitem('experimental', 'bundlecomplevel',
462 default=None,
462 default=None,
463 )
463 )
464 coreconfigitem('experimental', 'bundlecomplevel.bzip2',
464 coreconfigitem('experimental', 'bundlecomplevel.bzip2',
465 default=None,
465 default=None,
466 )
466 )
467 coreconfigitem('experimental', 'bundlecomplevel.gzip',
467 coreconfigitem('experimental', 'bundlecomplevel.gzip',
468 default=None,
468 default=None,
469 )
469 )
470 coreconfigitem('experimental', 'bundlecomplevel.none',
470 coreconfigitem('experimental', 'bundlecomplevel.none',
471 default=None,
471 default=None,
472 )
472 )
473 coreconfigitem('experimental', 'bundlecomplevel.zstd',
473 coreconfigitem('experimental', 'bundlecomplevel.zstd',
474 default=None,
474 default=None,
475 )
475 )
476 coreconfigitem('experimental', 'changegroup3',
476 coreconfigitem('experimental', 'changegroup3',
477 default=False,
477 default=False,
478 )
478 )
479 coreconfigitem('experimental', 'clientcompressionengines',
479 coreconfigitem('experimental', 'clientcompressionengines',
480 default=list,
480 default=list,
481 )
481 )
482 coreconfigitem('experimental', 'copytrace',
482 coreconfigitem('experimental', 'copytrace',
483 default='on',
483 default='on',
484 )
484 )
485 coreconfigitem('experimental', 'copytrace.movecandidateslimit',
485 coreconfigitem('experimental', 'copytrace.movecandidateslimit',
486 default=100,
486 default=100,
487 )
487 )
488 coreconfigitem('experimental', 'copytrace.sourcecommitlimit',
488 coreconfigitem('experimental', 'copytrace.sourcecommitlimit',
489 default=100,
489 default=100,
490 )
490 )
491 coreconfigitem('experimental', 'crecordtest',
491 coreconfigitem('experimental', 'crecordtest',
492 default=None,
492 default=None,
493 )
493 )
494 coreconfigitem('experimental', 'directaccess',
494 coreconfigitem('experimental', 'directaccess',
495 default=False,
495 default=False,
496 )
496 )
497 coreconfigitem('experimental', 'directaccess.revnums',
497 coreconfigitem('experimental', 'directaccess.revnums',
498 default=False,
498 default=False,
499 )
499 )
500 coreconfigitem('experimental', 'editortmpinhg',
500 coreconfigitem('experimental', 'editortmpinhg',
501 default=False,
501 default=False,
502 )
502 )
503 coreconfigitem('experimental', 'evolution',
503 coreconfigitem('experimental', 'evolution',
504 default=list,
504 default=list,
505 )
505 )
506 coreconfigitem('experimental', 'evolution.allowdivergence',
506 coreconfigitem('experimental', 'evolution.allowdivergence',
507 default=False,
507 default=False,
508 alias=[('experimental', 'allowdivergence')]
508 alias=[('experimental', 'allowdivergence')]
509 )
509 )
510 coreconfigitem('experimental', 'evolution.allowunstable',
510 coreconfigitem('experimental', 'evolution.allowunstable',
511 default=None,
511 default=None,
512 )
512 )
513 coreconfigitem('experimental', 'evolution.createmarkers',
513 coreconfigitem('experimental', 'evolution.createmarkers',
514 default=None,
514 default=None,
515 )
515 )
516 coreconfigitem('experimental', 'evolution.effect-flags',
516 coreconfigitem('experimental', 'evolution.effect-flags',
517 default=True,
517 default=True,
518 alias=[('experimental', 'effect-flags')]
518 alias=[('experimental', 'effect-flags')]
519 )
519 )
520 coreconfigitem('experimental', 'evolution.exchange',
520 coreconfigitem('experimental', 'evolution.exchange',
521 default=None,
521 default=None,
522 )
522 )
523 coreconfigitem('experimental', 'evolution.bundle-obsmarker',
523 coreconfigitem('experimental', 'evolution.bundle-obsmarker',
524 default=False,
524 default=False,
525 )
525 )
526 coreconfigitem('experimental', 'evolution.report-instabilities',
526 coreconfigitem('experimental', 'evolution.report-instabilities',
527 default=True,
527 default=True,
528 )
528 )
529 coreconfigitem('experimental', 'evolution.track-operation',
529 coreconfigitem('experimental', 'evolution.track-operation',
530 default=True,
530 default=True,
531 )
531 )
532 coreconfigitem('experimental', 'maxdeltachainspan',
532 coreconfigitem('experimental', 'maxdeltachainspan',
533 default=-1,
533 default=-1,
534 )
534 )
535 coreconfigitem('experimental', 'mergetempdirprefix',
535 coreconfigitem('experimental', 'mergetempdirprefix',
536 default=None,
536 default=None,
537 )
537 )
538 coreconfigitem('experimental', 'mmapindexthreshold',
538 coreconfigitem('experimental', 'mmapindexthreshold',
539 default=None,
539 default=None,
540 )
540 )
541 coreconfigitem('experimental', 'narrow',
541 coreconfigitem('experimental', 'narrow',
542 default=False,
542 default=False,
543 )
543 )
544 coreconfigitem('experimental', 'nonnormalparanoidcheck',
544 coreconfigitem('experimental', 'nonnormalparanoidcheck',
545 default=False,
545 default=False,
546 )
546 )
547 coreconfigitem('experimental', 'exportableenviron',
547 coreconfigitem('experimental', 'exportableenviron',
548 default=list,
548 default=list,
549 )
549 )
550 coreconfigitem('experimental', 'extendedheader.index',
550 coreconfigitem('experimental', 'extendedheader.index',
551 default=None,
551 default=None,
552 )
552 )
553 coreconfigitem('experimental', 'extendedheader.similarity',
553 coreconfigitem('experimental', 'extendedheader.similarity',
554 default=False,
554 default=False,
555 )
555 )
556 coreconfigitem('experimental', 'format.compression',
556 coreconfigitem('experimental', 'format.compression',
557 default='zlib',
557 default='zlib',
558 )
558 )
559 coreconfigitem('experimental', 'graphshorten',
559 coreconfigitem('experimental', 'graphshorten',
560 default=False,
560 default=False,
561 )
561 )
562 coreconfigitem('experimental', 'graphstyle.parent',
562 coreconfigitem('experimental', 'graphstyle.parent',
563 default=dynamicdefault,
563 default=dynamicdefault,
564 )
564 )
565 coreconfigitem('experimental', 'graphstyle.missing',
565 coreconfigitem('experimental', 'graphstyle.missing',
566 default=dynamicdefault,
566 default=dynamicdefault,
567 )
567 )
568 coreconfigitem('experimental', 'graphstyle.grandparent',
568 coreconfigitem('experimental', 'graphstyle.grandparent',
569 default=dynamicdefault,
569 default=dynamicdefault,
570 )
570 )
571 coreconfigitem('experimental', 'hook-track-tags',
571 coreconfigitem('experimental', 'hook-track-tags',
572 default=False,
572 default=False,
573 )
573 )
574 coreconfigitem('experimental', 'httppeer.advertise-v2',
574 coreconfigitem('experimental', 'httppeer.advertise-v2',
575 default=False,
575 default=False,
576 )
576 )
577 coreconfigitem('experimental', 'httppeer.v2-encoder-order',
577 coreconfigitem('experimental', 'httppeer.v2-encoder-order',
578 default=None,
578 default=None,
579 )
579 )
580 coreconfigitem('experimental', 'httppostargs',
580 coreconfigitem('experimental', 'httppostargs',
581 default=False,
581 default=False,
582 )
582 )
583 coreconfigitem('experimental', 'mergedriver',
583 coreconfigitem('experimental', 'mergedriver',
584 default=None,
584 default=None,
585 )
585 )
586 coreconfigitem('experimental', 'nointerrupt', default=False)
586 coreconfigitem('experimental', 'nointerrupt', default=False)
587 coreconfigitem('experimental', 'nointerrupt-interactiveonly', default=True)
587 coreconfigitem('experimental', 'nointerrupt-interactiveonly', default=True)
588
588
589 coreconfigitem('experimental', 'obsmarkers-exchange-debug',
589 coreconfigitem('experimental', 'obsmarkers-exchange-debug',
590 default=False,
590 default=False,
591 )
591 )
592 coreconfigitem('experimental', 'remotenames',
592 coreconfigitem('experimental', 'remotenames',
593 default=False,
593 default=False,
594 )
594 )
595 coreconfigitem('experimental', 'removeemptydirs',
595 coreconfigitem('experimental', 'removeemptydirs',
596 default=True,
596 default=True,
597 )
597 )
598 coreconfigitem('experimental', 'revisions.prefixhexnode',
598 coreconfigitem('experimental', 'revisions.prefixhexnode',
599 default=False,
599 default=False,
600 )
600 )
601 coreconfigitem('experimental', 'revlogv2',
601 coreconfigitem('experimental', 'revlogv2',
602 default=None,
602 default=None,
603 )
603 )
604 coreconfigitem('experimental', 'revisions.disambiguatewithin',
604 coreconfigitem('experimental', 'revisions.disambiguatewithin',
605 default=None,
605 default=None,
606 )
606 )
607 coreconfigitem('experimental', 'server.filesdata.recommended-batch-size',
607 coreconfigitem('experimental', 'server.filesdata.recommended-batch-size',
608 default=50000,
608 default=50000,
609 )
609 )
610 coreconfigitem('experimental', 'server.manifestdata.recommended-batch-size',
610 coreconfigitem('experimental', 'server.manifestdata.recommended-batch-size',
611 default=100000,
611 default=100000,
612 )
612 )
613 coreconfigitem('experimental.server', 'stream-narrow-clones',
613 coreconfigitem('experimental.server', 'stream-narrow-clones',
614 default=False,
614 default=False,
615 )
615 )
616 coreconfigitem('experimental', 'single-head-per-branch',
616 coreconfigitem('experimental', 'single-head-per-branch',
617 default=False,
617 default=False,
618 )
618 )
619 coreconfigitem('experimental', 'sshserver.support-v2',
619 coreconfigitem('experimental', 'sshserver.support-v2',
620 default=False,
620 default=False,
621 )
621 )
622 coreconfigitem('experimental', 'sparse-read',
622 coreconfigitem('experimental', 'sparse-read',
623 default=False,
623 default=False,
624 )
624 )
625 coreconfigitem('experimental', 'sparse-read.density-threshold',
625 coreconfigitem('experimental', 'sparse-read.density-threshold',
626 default=0.50,
626 default=0.50,
627 )
627 )
628 coreconfigitem('experimental', 'sparse-read.min-gap-size',
628 coreconfigitem('experimental', 'sparse-read.min-gap-size',
629 default='65K',
629 default='65K',
630 )
630 )
631 coreconfigitem('experimental', 'treemanifest',
631 coreconfigitem('experimental', 'treemanifest',
632 default=False,
632 default=False,
633 )
633 )
634 coreconfigitem('experimental', 'update.atomic-file',
634 coreconfigitem('experimental', 'update.atomic-file',
635 default=False,
635 default=False,
636 )
636 )
637 coreconfigitem('experimental', 'sshpeer.advertise-v2',
637 coreconfigitem('experimental', 'sshpeer.advertise-v2',
638 default=False,
638 default=False,
639 )
639 )
640 coreconfigitem('experimental', 'web.apiserver',
640 coreconfigitem('experimental', 'web.apiserver',
641 default=False,
641 default=False,
642 )
642 )
643 coreconfigitem('experimental', 'web.api.http-v2',
643 coreconfigitem('experimental', 'web.api.http-v2',
644 default=False,
644 default=False,
645 )
645 )
646 coreconfigitem('experimental', 'web.api.debugreflect',
646 coreconfigitem('experimental', 'web.api.debugreflect',
647 default=False,
647 default=False,
648 )
648 )
649 coreconfigitem('experimental', 'worker.wdir-get-thread-safe',
649 coreconfigitem('experimental', 'worker.wdir-get-thread-safe',
650 default=False,
650 default=False,
651 )
651 )
652 coreconfigitem('experimental', 'xdiff',
652 coreconfigitem('experimental', 'xdiff',
653 default=False,
653 default=False,
654 )
654 )
655 coreconfigitem('extensions', '.*',
655 coreconfigitem('extensions', '.*',
656 default=None,
656 default=None,
657 generic=True,
657 generic=True,
658 )
658 )
659 coreconfigitem('extdata', '.*',
659 coreconfigitem('extdata', '.*',
660 default=None,
660 default=None,
661 generic=True,
661 generic=True,
662 )
662 )
663 coreconfigitem('format', 'chunkcachesize',
663 coreconfigitem('format', 'chunkcachesize',
664 default=None,
664 default=None,
665 )
665 )
666 coreconfigitem('format', 'dotencode',
666 coreconfigitem('format', 'dotencode',
667 default=True,
667 default=True,
668 )
668 )
669 coreconfigitem('format', 'generaldelta',
669 coreconfigitem('format', 'generaldelta',
670 default=False,
670 default=False,
671 )
671 )
672 coreconfigitem('format', 'manifestcachesize',
672 coreconfigitem('format', 'manifestcachesize',
673 default=None,
673 default=None,
674 )
674 )
675 coreconfigitem('format', 'maxchainlen',
675 coreconfigitem('format', 'maxchainlen',
676 default=dynamicdefault,
676 default=dynamicdefault,
677 )
677 )
678 coreconfigitem('format', 'obsstore-version',
678 coreconfigitem('format', 'obsstore-version',
679 default=None,
679 default=None,
680 )
680 )
681 coreconfigitem('format', 'sparse-revlog',
681 coreconfigitem('format', 'sparse-revlog',
682 default=False,
682 default=False,
683 )
683 )
684 coreconfigitem('format', 'usefncache',
684 coreconfigitem('format', 'usefncache',
685 default=True,
685 default=True,
686 )
686 )
687 coreconfigitem('format', 'usegeneraldelta',
687 coreconfigitem('format', 'usegeneraldelta',
688 default=True,
688 default=True,
689 )
689 )
690 coreconfigitem('format', 'usestore',
690 coreconfigitem('format', 'usestore',
691 default=True,
691 default=True,
692 )
692 )
693 coreconfigitem('format', 'internal-phase',
693 coreconfigitem('format', 'internal-phase',
694 default=False,
694 default=False,
695 )
695 )
696 coreconfigitem('fsmonitor', 'warn_when_unused',
696 coreconfigitem('fsmonitor', 'warn_when_unused',
697 default=True,
697 default=True,
698 )
698 )
699 coreconfigitem('fsmonitor', 'warn_update_file_count',
699 coreconfigitem('fsmonitor', 'warn_update_file_count',
700 default=50000,
700 default=50000,
701 )
701 )
702 coreconfigitem('hooks', '.*',
702 coreconfigitem('hooks', '.*',
703 default=dynamicdefault,
703 default=dynamicdefault,
704 generic=True,
704 generic=True,
705 )
705 )
706 coreconfigitem('hgweb-paths', '.*',
706 coreconfigitem('hgweb-paths', '.*',
707 default=list,
707 default=list,
708 generic=True,
708 generic=True,
709 )
709 )
710 coreconfigitem('hostfingerprints', '.*',
710 coreconfigitem('hostfingerprints', '.*',
711 default=list,
711 default=list,
712 generic=True,
712 generic=True,
713 )
713 )
714 coreconfigitem('hostsecurity', 'ciphers',
714 coreconfigitem('hostsecurity', 'ciphers',
715 default=None,
715 default=None,
716 )
716 )
717 coreconfigitem('hostsecurity', 'disabletls10warning',
717 coreconfigitem('hostsecurity', 'disabletls10warning',
718 default=False,
718 default=False,
719 )
719 )
720 coreconfigitem('hostsecurity', 'minimumprotocol',
720 coreconfigitem('hostsecurity', 'minimumprotocol',
721 default=dynamicdefault,
721 default=dynamicdefault,
722 )
722 )
723 coreconfigitem('hostsecurity', '.*:minimumprotocol$',
723 coreconfigitem('hostsecurity', '.*:minimumprotocol$',
724 default=dynamicdefault,
724 default=dynamicdefault,
725 generic=True,
725 generic=True,
726 )
726 )
727 coreconfigitem('hostsecurity', '.*:ciphers$',
727 coreconfigitem('hostsecurity', '.*:ciphers$',
728 default=dynamicdefault,
728 default=dynamicdefault,
729 generic=True,
729 generic=True,
730 )
730 )
731 coreconfigitem('hostsecurity', '.*:fingerprints$',
731 coreconfigitem('hostsecurity', '.*:fingerprints$',
732 default=list,
732 default=list,
733 generic=True,
733 generic=True,
734 )
734 )
735 coreconfigitem('hostsecurity', '.*:verifycertsfile$',
735 coreconfigitem('hostsecurity', '.*:verifycertsfile$',
736 default=None,
736 default=None,
737 generic=True,
737 generic=True,
738 )
738 )
739
739
740 coreconfigitem('http_proxy', 'always',
740 coreconfigitem('http_proxy', 'always',
741 default=False,
741 default=False,
742 )
742 )
743 coreconfigitem('http_proxy', 'host',
743 coreconfigitem('http_proxy', 'host',
744 default=None,
744 default=None,
745 )
745 )
746 coreconfigitem('http_proxy', 'no',
746 coreconfigitem('http_proxy', 'no',
747 default=list,
747 default=list,
748 )
748 )
749 coreconfigitem('http_proxy', 'passwd',
749 coreconfigitem('http_proxy', 'passwd',
750 default=None,
750 default=None,
751 )
751 )
752 coreconfigitem('http_proxy', 'user',
752 coreconfigitem('http_proxy', 'user',
753 default=None,
753 default=None,
754 )
754 )
755
755
756 coreconfigitem('http', 'timeout',
756 coreconfigitem('http', 'timeout',
757 default=None,
757 default=None,
758 )
758 )
759
759
760 coreconfigitem('logtoprocess', 'commandexception',
760 coreconfigitem('logtoprocess', 'commandexception',
761 default=None,
761 default=None,
762 )
762 )
763 coreconfigitem('logtoprocess', 'commandfinish',
763 coreconfigitem('logtoprocess', 'commandfinish',
764 default=None,
764 default=None,
765 )
765 )
766 coreconfigitem('logtoprocess', 'command',
766 coreconfigitem('logtoprocess', 'command',
767 default=None,
767 default=None,
768 )
768 )
769 coreconfigitem('logtoprocess', 'develwarn',
769 coreconfigitem('logtoprocess', 'develwarn',
770 default=None,
770 default=None,
771 )
771 )
772 coreconfigitem('logtoprocess', 'uiblocked',
772 coreconfigitem('logtoprocess', 'uiblocked',
773 default=None,
773 default=None,
774 )
774 )
775 coreconfigitem('merge', 'checkunknown',
775 coreconfigitem('merge', 'checkunknown',
776 default='abort',
776 default='abort',
777 )
777 )
778 coreconfigitem('merge', 'checkignored',
778 coreconfigitem('merge', 'checkignored',
779 default='abort',
779 default='abort',
780 )
780 )
781 coreconfigitem('experimental', 'merge.checkpathconflicts',
781 coreconfigitem('experimental', 'merge.checkpathconflicts',
782 default=False,
782 default=False,
783 )
783 )
784 coreconfigitem('merge', 'followcopies',
784 coreconfigitem('merge', 'followcopies',
785 default=True,
785 default=True,
786 )
786 )
787 coreconfigitem('merge', 'on-failure',
787 coreconfigitem('merge', 'on-failure',
788 default='continue',
788 default='continue',
789 )
789 )
790 coreconfigitem('merge', 'preferancestor',
790 coreconfigitem('merge', 'preferancestor',
791 default=lambda: ['*'],
791 default=lambda: ['*'],
792 )
792 )
793 coreconfigitem('merge', 'strict-capability-check',
793 coreconfigitem('merge', 'strict-capability-check',
794 default=False,
794 default=False,
795 )
795 )
796 coreconfigitem('merge-tools', '.*',
796 coreconfigitem('merge-tools', '.*',
797 default=None,
797 default=None,
798 generic=True,
798 generic=True,
799 )
799 )
800 coreconfigitem('merge-tools', br'.*\.args$',
800 coreconfigitem('merge-tools', br'.*\.args$',
801 default="$local $base $other",
801 default="$local $base $other",
802 generic=True,
802 generic=True,
803 priority=-1,
803 priority=-1,
804 )
804 )
805 coreconfigitem('merge-tools', br'.*\.binary$',
805 coreconfigitem('merge-tools', br'.*\.binary$',
806 default=False,
806 default=False,
807 generic=True,
807 generic=True,
808 priority=-1,
808 priority=-1,
809 )
809 )
810 coreconfigitem('merge-tools', br'.*\.check$',
810 coreconfigitem('merge-tools', br'.*\.check$',
811 default=list,
811 default=list,
812 generic=True,
812 generic=True,
813 priority=-1,
813 priority=-1,
814 )
814 )
815 coreconfigitem('merge-tools', br'.*\.checkchanged$',
815 coreconfigitem('merge-tools', br'.*\.checkchanged$',
816 default=False,
816 default=False,
817 generic=True,
817 generic=True,
818 priority=-1,
818 priority=-1,
819 )
819 )
820 coreconfigitem('merge-tools', br'.*\.executable$',
820 coreconfigitem('merge-tools', br'.*\.executable$',
821 default=dynamicdefault,
821 default=dynamicdefault,
822 generic=True,
822 generic=True,
823 priority=-1,
823 priority=-1,
824 )
824 )
825 coreconfigitem('merge-tools', br'.*\.fixeol$',
825 coreconfigitem('merge-tools', br'.*\.fixeol$',
826 default=False,
826 default=False,
827 generic=True,
827 generic=True,
828 priority=-1,
828 priority=-1,
829 )
829 )
830 coreconfigitem('merge-tools', br'.*\.gui$',
830 coreconfigitem('merge-tools', br'.*\.gui$',
831 default=False,
831 default=False,
832 generic=True,
832 generic=True,
833 priority=-1,
833 priority=-1,
834 )
834 )
835 coreconfigitem('merge-tools', br'.*\.mergemarkers$',
835 coreconfigitem('merge-tools', br'.*\.mergemarkers$',
836 default='basic',
836 default='basic',
837 generic=True,
837 generic=True,
838 priority=-1,
838 priority=-1,
839 )
839 )
840 coreconfigitem('merge-tools', br'.*\.mergemarkertemplate$',
840 coreconfigitem('merge-tools', br'.*\.mergemarkertemplate$',
841 default=dynamicdefault, # take from ui.mergemarkertemplate
841 default=dynamicdefault, # take from ui.mergemarkertemplate
842 generic=True,
842 generic=True,
843 priority=-1,
843 priority=-1,
844 )
844 )
845 coreconfigitem('merge-tools', br'.*\.priority$',
845 coreconfigitem('merge-tools', br'.*\.priority$',
846 default=0,
846 default=0,
847 generic=True,
847 generic=True,
848 priority=-1,
848 priority=-1,
849 )
849 )
850 coreconfigitem('merge-tools', br'.*\.premerge$',
850 coreconfigitem('merge-tools', br'.*\.premerge$',
851 default=dynamicdefault,
851 default=dynamicdefault,
852 generic=True,
852 generic=True,
853 priority=-1,
853 priority=-1,
854 )
854 )
855 coreconfigitem('merge-tools', br'.*\.symlink$',
855 coreconfigitem('merge-tools', br'.*\.symlink$',
856 default=False,
856 default=False,
857 generic=True,
857 generic=True,
858 priority=-1,
858 priority=-1,
859 )
859 )
860 coreconfigitem('pager', 'attend-.*',
860 coreconfigitem('pager', 'attend-.*',
861 default=dynamicdefault,
861 default=dynamicdefault,
862 generic=True,
862 generic=True,
863 )
863 )
864 coreconfigitem('pager', 'ignore',
864 coreconfigitem('pager', 'ignore',
865 default=list,
865 default=list,
866 )
866 )
867 coreconfigitem('pager', 'pager',
867 coreconfigitem('pager', 'pager',
868 default=dynamicdefault,
868 default=dynamicdefault,
869 )
869 )
870 coreconfigitem('patch', 'eol',
870 coreconfigitem('patch', 'eol',
871 default='strict',
871 default='strict',
872 )
872 )
873 coreconfigitem('patch', 'fuzz',
873 coreconfigitem('patch', 'fuzz',
874 default=2,
874 default=2,
875 )
875 )
876 coreconfigitem('paths', 'default',
876 coreconfigitem('paths', 'default',
877 default=None,
877 default=None,
878 )
878 )
879 coreconfigitem('paths', 'default-push',
879 coreconfigitem('paths', 'default-push',
880 default=None,
880 default=None,
881 )
881 )
882 coreconfigitem('paths', '.*',
882 coreconfigitem('paths', '.*',
883 default=None,
883 default=None,
884 generic=True,
884 generic=True,
885 )
885 )
886 coreconfigitem('phases', 'checksubrepos',
886 coreconfigitem('phases', 'checksubrepos',
887 default='follow',
887 default='follow',
888 )
888 )
889 coreconfigitem('phases', 'new-commit',
889 coreconfigitem('phases', 'new-commit',
890 default='draft',
890 default='draft',
891 )
891 )
892 coreconfigitem('phases', 'publish',
892 coreconfigitem('phases', 'publish',
893 default=True,
893 default=True,
894 )
894 )
895 coreconfigitem('profiling', 'enabled',
895 coreconfigitem('profiling', 'enabled',
896 default=False,
896 default=False,
897 )
897 )
898 coreconfigitem('profiling', 'format',
898 coreconfigitem('profiling', 'format',
899 default='text',
899 default='text',
900 )
900 )
901 coreconfigitem('profiling', 'freq',
901 coreconfigitem('profiling', 'freq',
902 default=1000,
902 default=1000,
903 )
903 )
904 coreconfigitem('profiling', 'limit',
904 coreconfigitem('profiling', 'limit',
905 default=30,
905 default=30,
906 )
906 )
907 coreconfigitem('profiling', 'nested',
907 coreconfigitem('profiling', 'nested',
908 default=0,
908 default=0,
909 )
909 )
910 coreconfigitem('profiling', 'output',
910 coreconfigitem('profiling', 'output',
911 default=None,
911 default=None,
912 )
912 )
913 coreconfigitem('profiling', 'showmax',
913 coreconfigitem('profiling', 'showmax',
914 default=0.999,
914 default=0.999,
915 )
915 )
916 coreconfigitem('profiling', 'showmin',
916 coreconfigitem('profiling', 'showmin',
917 default=dynamicdefault,
917 default=dynamicdefault,
918 )
918 )
919 coreconfigitem('profiling', 'sort',
919 coreconfigitem('profiling', 'sort',
920 default='inlinetime',
920 default='inlinetime',
921 )
921 )
922 coreconfigitem('profiling', 'statformat',
922 coreconfigitem('profiling', 'statformat',
923 default='hotpath',
923 default='hotpath',
924 )
924 )
925 coreconfigitem('profiling', 'time-track',
925 coreconfigitem('profiling', 'time-track',
926 default='cpu',
926 default='real',
927 )
927 )
928 coreconfigitem('profiling', 'type',
928 coreconfigitem('profiling', 'type',
929 default='stat',
929 default='stat',
930 )
930 )
931 coreconfigitem('progress', 'assume-tty',
931 coreconfigitem('progress', 'assume-tty',
932 default=False,
932 default=False,
933 )
933 )
934 coreconfigitem('progress', 'changedelay',
934 coreconfigitem('progress', 'changedelay',
935 default=1,
935 default=1,
936 )
936 )
937 coreconfigitem('progress', 'clear-complete',
937 coreconfigitem('progress', 'clear-complete',
938 default=True,
938 default=True,
939 )
939 )
940 coreconfigitem('progress', 'debug',
940 coreconfigitem('progress', 'debug',
941 default=False,
941 default=False,
942 )
942 )
943 coreconfigitem('progress', 'delay',
943 coreconfigitem('progress', 'delay',
944 default=3,
944 default=3,
945 )
945 )
946 coreconfigitem('progress', 'disable',
946 coreconfigitem('progress', 'disable',
947 default=False,
947 default=False,
948 )
948 )
949 coreconfigitem('progress', 'estimateinterval',
949 coreconfigitem('progress', 'estimateinterval',
950 default=60.0,
950 default=60.0,
951 )
951 )
952 coreconfigitem('progress', 'format',
952 coreconfigitem('progress', 'format',
953 default=lambda: ['topic', 'bar', 'number', 'estimate'],
953 default=lambda: ['topic', 'bar', 'number', 'estimate'],
954 )
954 )
955 coreconfigitem('progress', 'refresh',
955 coreconfigitem('progress', 'refresh',
956 default=0.1,
956 default=0.1,
957 )
957 )
958 coreconfigitem('progress', 'width',
958 coreconfigitem('progress', 'width',
959 default=dynamicdefault,
959 default=dynamicdefault,
960 )
960 )
961 coreconfigitem('push', 'pushvars.server',
961 coreconfigitem('push', 'pushvars.server',
962 default=False,
962 default=False,
963 )
963 )
964 coreconfigitem('storage', 'new-repo-backend',
964 coreconfigitem('storage', 'new-repo-backend',
965 default='revlogv1',
965 default='revlogv1',
966 )
966 )
967 coreconfigitem('storage', 'revlog.optimize-delta-parent-choice',
967 coreconfigitem('storage', 'revlog.optimize-delta-parent-choice',
968 default=True,
968 default=True,
969 alias=[('format', 'aggressivemergedeltas')],
969 alias=[('format', 'aggressivemergedeltas')],
970 )
970 )
971 coreconfigitem('server', 'bookmarks-pushkey-compat',
971 coreconfigitem('server', 'bookmarks-pushkey-compat',
972 default=True,
972 default=True,
973 )
973 )
974 coreconfigitem('server', 'bundle1',
974 coreconfigitem('server', 'bundle1',
975 default=True,
975 default=True,
976 )
976 )
977 coreconfigitem('server', 'bundle1gd',
977 coreconfigitem('server', 'bundle1gd',
978 default=None,
978 default=None,
979 )
979 )
980 coreconfigitem('server', 'bundle1.pull',
980 coreconfigitem('server', 'bundle1.pull',
981 default=None,
981 default=None,
982 )
982 )
983 coreconfigitem('server', 'bundle1gd.pull',
983 coreconfigitem('server', 'bundle1gd.pull',
984 default=None,
984 default=None,
985 )
985 )
986 coreconfigitem('server', 'bundle1.push',
986 coreconfigitem('server', 'bundle1.push',
987 default=None,
987 default=None,
988 )
988 )
989 coreconfigitem('server', 'bundle1gd.push',
989 coreconfigitem('server', 'bundle1gd.push',
990 default=None,
990 default=None,
991 )
991 )
992 coreconfigitem('server', 'bundle2.stream',
992 coreconfigitem('server', 'bundle2.stream',
993 default=True,
993 default=True,
994 alias=[('experimental', 'bundle2.stream')]
994 alias=[('experimental', 'bundle2.stream')]
995 )
995 )
996 coreconfigitem('server', 'compressionengines',
996 coreconfigitem('server', 'compressionengines',
997 default=list,
997 default=list,
998 )
998 )
999 coreconfigitem('server', 'concurrent-push-mode',
999 coreconfigitem('server', 'concurrent-push-mode',
1000 default='strict',
1000 default='strict',
1001 )
1001 )
1002 coreconfigitem('server', 'disablefullbundle',
1002 coreconfigitem('server', 'disablefullbundle',
1003 default=False,
1003 default=False,
1004 )
1004 )
1005 coreconfigitem('server', 'maxhttpheaderlen',
1005 coreconfigitem('server', 'maxhttpheaderlen',
1006 default=1024,
1006 default=1024,
1007 )
1007 )
1008 coreconfigitem('server', 'pullbundle',
1008 coreconfigitem('server', 'pullbundle',
1009 default=False,
1009 default=False,
1010 )
1010 )
1011 coreconfigitem('server', 'preferuncompressed',
1011 coreconfigitem('server', 'preferuncompressed',
1012 default=False,
1012 default=False,
1013 )
1013 )
1014 coreconfigitem('server', 'streamunbundle',
1014 coreconfigitem('server', 'streamunbundle',
1015 default=False,
1015 default=False,
1016 )
1016 )
1017 coreconfigitem('server', 'uncompressed',
1017 coreconfigitem('server', 'uncompressed',
1018 default=True,
1018 default=True,
1019 )
1019 )
1020 coreconfigitem('server', 'uncompressedallowsecret',
1020 coreconfigitem('server', 'uncompressedallowsecret',
1021 default=False,
1021 default=False,
1022 )
1022 )
1023 coreconfigitem('server', 'validate',
1023 coreconfigitem('server', 'validate',
1024 default=False,
1024 default=False,
1025 )
1025 )
1026 coreconfigitem('server', 'zliblevel',
1026 coreconfigitem('server', 'zliblevel',
1027 default=-1,
1027 default=-1,
1028 )
1028 )
1029 coreconfigitem('server', 'zstdlevel',
1029 coreconfigitem('server', 'zstdlevel',
1030 default=3,
1030 default=3,
1031 )
1031 )
1032 coreconfigitem('share', 'pool',
1032 coreconfigitem('share', 'pool',
1033 default=None,
1033 default=None,
1034 )
1034 )
1035 coreconfigitem('share', 'poolnaming',
1035 coreconfigitem('share', 'poolnaming',
1036 default='identity',
1036 default='identity',
1037 )
1037 )
1038 coreconfigitem('smtp', 'host',
1038 coreconfigitem('smtp', 'host',
1039 default=None,
1039 default=None,
1040 )
1040 )
1041 coreconfigitem('smtp', 'local_hostname',
1041 coreconfigitem('smtp', 'local_hostname',
1042 default=None,
1042 default=None,
1043 )
1043 )
1044 coreconfigitem('smtp', 'password',
1044 coreconfigitem('smtp', 'password',
1045 default=None,
1045 default=None,
1046 )
1046 )
1047 coreconfigitem('smtp', 'port',
1047 coreconfigitem('smtp', 'port',
1048 default=dynamicdefault,
1048 default=dynamicdefault,
1049 )
1049 )
1050 coreconfigitem('smtp', 'tls',
1050 coreconfigitem('smtp', 'tls',
1051 default='none',
1051 default='none',
1052 )
1052 )
1053 coreconfigitem('smtp', 'username',
1053 coreconfigitem('smtp', 'username',
1054 default=None,
1054 default=None,
1055 )
1055 )
1056 coreconfigitem('sparse', 'missingwarning',
1056 coreconfigitem('sparse', 'missingwarning',
1057 default=True,
1057 default=True,
1058 )
1058 )
1059 coreconfigitem('subrepos', 'allowed',
1059 coreconfigitem('subrepos', 'allowed',
1060 default=dynamicdefault, # to make backporting simpler
1060 default=dynamicdefault, # to make backporting simpler
1061 )
1061 )
1062 coreconfigitem('subrepos', 'hg:allowed',
1062 coreconfigitem('subrepos', 'hg:allowed',
1063 default=dynamicdefault,
1063 default=dynamicdefault,
1064 )
1064 )
1065 coreconfigitem('subrepos', 'git:allowed',
1065 coreconfigitem('subrepos', 'git:allowed',
1066 default=dynamicdefault,
1066 default=dynamicdefault,
1067 )
1067 )
1068 coreconfigitem('subrepos', 'svn:allowed',
1068 coreconfigitem('subrepos', 'svn:allowed',
1069 default=dynamicdefault,
1069 default=dynamicdefault,
1070 )
1070 )
1071 coreconfigitem('templates', '.*',
1071 coreconfigitem('templates', '.*',
1072 default=None,
1072 default=None,
1073 generic=True,
1073 generic=True,
1074 )
1074 )
1075 coreconfigitem('trusted', 'groups',
1075 coreconfigitem('trusted', 'groups',
1076 default=list,
1076 default=list,
1077 )
1077 )
1078 coreconfigitem('trusted', 'users',
1078 coreconfigitem('trusted', 'users',
1079 default=list,
1079 default=list,
1080 )
1080 )
1081 coreconfigitem('ui', '_usedassubrepo',
1081 coreconfigitem('ui', '_usedassubrepo',
1082 default=False,
1082 default=False,
1083 )
1083 )
1084 coreconfigitem('ui', 'allowemptycommit',
1084 coreconfigitem('ui', 'allowemptycommit',
1085 default=False,
1085 default=False,
1086 )
1086 )
1087 coreconfigitem('ui', 'archivemeta',
1087 coreconfigitem('ui', 'archivemeta',
1088 default=True,
1088 default=True,
1089 )
1089 )
1090 coreconfigitem('ui', 'askusername',
1090 coreconfigitem('ui', 'askusername',
1091 default=False,
1091 default=False,
1092 )
1092 )
1093 coreconfigitem('ui', 'clonebundlefallback',
1093 coreconfigitem('ui', 'clonebundlefallback',
1094 default=False,
1094 default=False,
1095 )
1095 )
1096 coreconfigitem('ui', 'clonebundleprefers',
1096 coreconfigitem('ui', 'clonebundleprefers',
1097 default=list,
1097 default=list,
1098 )
1098 )
1099 coreconfigitem('ui', 'clonebundles',
1099 coreconfigitem('ui', 'clonebundles',
1100 default=True,
1100 default=True,
1101 )
1101 )
1102 coreconfigitem('ui', 'color',
1102 coreconfigitem('ui', 'color',
1103 default='auto',
1103 default='auto',
1104 )
1104 )
1105 coreconfigitem('ui', 'commitsubrepos',
1105 coreconfigitem('ui', 'commitsubrepos',
1106 default=False,
1106 default=False,
1107 )
1107 )
1108 coreconfigitem('ui', 'debug',
1108 coreconfigitem('ui', 'debug',
1109 default=False,
1109 default=False,
1110 )
1110 )
1111 coreconfigitem('ui', 'debugger',
1111 coreconfigitem('ui', 'debugger',
1112 default=None,
1112 default=None,
1113 )
1113 )
1114 coreconfigitem('ui', 'editor',
1114 coreconfigitem('ui', 'editor',
1115 default=dynamicdefault,
1115 default=dynamicdefault,
1116 )
1116 )
1117 coreconfigitem('ui', 'fallbackencoding',
1117 coreconfigitem('ui', 'fallbackencoding',
1118 default=None,
1118 default=None,
1119 )
1119 )
1120 coreconfigitem('ui', 'forcecwd',
1120 coreconfigitem('ui', 'forcecwd',
1121 default=None,
1121 default=None,
1122 )
1122 )
1123 coreconfigitem('ui', 'forcemerge',
1123 coreconfigitem('ui', 'forcemerge',
1124 default=None,
1124 default=None,
1125 )
1125 )
1126 coreconfigitem('ui', 'formatdebug',
1126 coreconfigitem('ui', 'formatdebug',
1127 default=False,
1127 default=False,
1128 )
1128 )
1129 coreconfigitem('ui', 'formatjson',
1129 coreconfigitem('ui', 'formatjson',
1130 default=False,
1130 default=False,
1131 )
1131 )
1132 coreconfigitem('ui', 'formatted',
1132 coreconfigitem('ui', 'formatted',
1133 default=None,
1133 default=None,
1134 )
1134 )
1135 coreconfigitem('ui', 'graphnodetemplate',
1135 coreconfigitem('ui', 'graphnodetemplate',
1136 default=None,
1136 default=None,
1137 )
1137 )
1138 coreconfigitem('ui', 'history-editing-backup',
1138 coreconfigitem('ui', 'history-editing-backup',
1139 default=True,
1139 default=True,
1140 )
1140 )
1141 coreconfigitem('ui', 'interactive',
1141 coreconfigitem('ui', 'interactive',
1142 default=None,
1142 default=None,
1143 )
1143 )
1144 coreconfigitem('ui', 'interface',
1144 coreconfigitem('ui', 'interface',
1145 default=None,
1145 default=None,
1146 )
1146 )
1147 coreconfigitem('ui', 'interface.chunkselector',
1147 coreconfigitem('ui', 'interface.chunkselector',
1148 default=None,
1148 default=None,
1149 )
1149 )
1150 coreconfigitem('ui', 'large-file-limit',
1150 coreconfigitem('ui', 'large-file-limit',
1151 default=10000000,
1151 default=10000000,
1152 )
1152 )
1153 coreconfigitem('ui', 'logblockedtimes',
1153 coreconfigitem('ui', 'logblockedtimes',
1154 default=False,
1154 default=False,
1155 )
1155 )
1156 coreconfigitem('ui', 'logtemplate',
1156 coreconfigitem('ui', 'logtemplate',
1157 default=None,
1157 default=None,
1158 )
1158 )
1159 coreconfigitem('ui', 'merge',
1159 coreconfigitem('ui', 'merge',
1160 default=None,
1160 default=None,
1161 )
1161 )
1162 coreconfigitem('ui', 'mergemarkers',
1162 coreconfigitem('ui', 'mergemarkers',
1163 default='basic',
1163 default='basic',
1164 )
1164 )
1165 coreconfigitem('ui', 'mergemarkertemplate',
1165 coreconfigitem('ui', 'mergemarkertemplate',
1166 default=('{node|short} '
1166 default=('{node|short} '
1167 '{ifeq(tags, "tip", "", '
1167 '{ifeq(tags, "tip", "", '
1168 'ifeq(tags, "", "", "{tags} "))}'
1168 'ifeq(tags, "", "", "{tags} "))}'
1169 '{if(bookmarks, "{bookmarks} ")}'
1169 '{if(bookmarks, "{bookmarks} ")}'
1170 '{ifeq(branch, "default", "", "{branch} ")}'
1170 '{ifeq(branch, "default", "", "{branch} ")}'
1171 '- {author|user}: {desc|firstline}')
1171 '- {author|user}: {desc|firstline}')
1172 )
1172 )
1173 coreconfigitem('ui', 'nontty',
1173 coreconfigitem('ui', 'nontty',
1174 default=False,
1174 default=False,
1175 )
1175 )
1176 coreconfigitem('ui', 'origbackuppath',
1176 coreconfigitem('ui', 'origbackuppath',
1177 default=None,
1177 default=None,
1178 )
1178 )
1179 coreconfigitem('ui', 'paginate',
1179 coreconfigitem('ui', 'paginate',
1180 default=True,
1180 default=True,
1181 )
1181 )
1182 coreconfigitem('ui', 'patch',
1182 coreconfigitem('ui', 'patch',
1183 default=None,
1183 default=None,
1184 )
1184 )
1185 coreconfigitem('ui', 'portablefilenames',
1185 coreconfigitem('ui', 'portablefilenames',
1186 default='warn',
1186 default='warn',
1187 )
1187 )
1188 coreconfigitem('ui', 'promptecho',
1188 coreconfigitem('ui', 'promptecho',
1189 default=False,
1189 default=False,
1190 )
1190 )
1191 coreconfigitem('ui', 'quiet',
1191 coreconfigitem('ui', 'quiet',
1192 default=False,
1192 default=False,
1193 )
1193 )
1194 coreconfigitem('ui', 'quietbookmarkmove',
1194 coreconfigitem('ui', 'quietbookmarkmove',
1195 default=False,
1195 default=False,
1196 )
1196 )
1197 coreconfigitem('ui', 'remotecmd',
1197 coreconfigitem('ui', 'remotecmd',
1198 default='hg',
1198 default='hg',
1199 )
1199 )
1200 coreconfigitem('ui', 'report_untrusted',
1200 coreconfigitem('ui', 'report_untrusted',
1201 default=True,
1201 default=True,
1202 )
1202 )
1203 coreconfigitem('ui', 'rollback',
1203 coreconfigitem('ui', 'rollback',
1204 default=True,
1204 default=True,
1205 )
1205 )
1206 coreconfigitem('ui', 'signal-safe-lock',
1206 coreconfigitem('ui', 'signal-safe-lock',
1207 default=True,
1207 default=True,
1208 )
1208 )
1209 coreconfigitem('ui', 'slash',
1209 coreconfigitem('ui', 'slash',
1210 default=False,
1210 default=False,
1211 )
1211 )
1212 coreconfigitem('ui', 'ssh',
1212 coreconfigitem('ui', 'ssh',
1213 default='ssh',
1213 default='ssh',
1214 )
1214 )
1215 coreconfigitem('ui', 'ssherrorhint',
1215 coreconfigitem('ui', 'ssherrorhint',
1216 default=None,
1216 default=None,
1217 )
1217 )
1218 coreconfigitem('ui', 'statuscopies',
1218 coreconfigitem('ui', 'statuscopies',
1219 default=False,
1219 default=False,
1220 )
1220 )
1221 coreconfigitem('ui', 'strict',
1221 coreconfigitem('ui', 'strict',
1222 default=False,
1222 default=False,
1223 )
1223 )
1224 coreconfigitem('ui', 'style',
1224 coreconfigitem('ui', 'style',
1225 default='',
1225 default='',
1226 )
1226 )
1227 coreconfigitem('ui', 'supportcontact',
1227 coreconfigitem('ui', 'supportcontact',
1228 default=None,
1228 default=None,
1229 )
1229 )
1230 coreconfigitem('ui', 'textwidth',
1230 coreconfigitem('ui', 'textwidth',
1231 default=78,
1231 default=78,
1232 )
1232 )
1233 coreconfigitem('ui', 'timeout',
1233 coreconfigitem('ui', 'timeout',
1234 default='600',
1234 default='600',
1235 )
1235 )
1236 coreconfigitem('ui', 'timeout.warn',
1236 coreconfigitem('ui', 'timeout.warn',
1237 default=0,
1237 default=0,
1238 )
1238 )
1239 coreconfigitem('ui', 'traceback',
1239 coreconfigitem('ui', 'traceback',
1240 default=False,
1240 default=False,
1241 )
1241 )
1242 coreconfigitem('ui', 'tweakdefaults',
1242 coreconfigitem('ui', 'tweakdefaults',
1243 default=False,
1243 default=False,
1244 )
1244 )
1245 coreconfigitem('ui', 'username',
1245 coreconfigitem('ui', 'username',
1246 alias=[('ui', 'user')]
1246 alias=[('ui', 'user')]
1247 )
1247 )
1248 coreconfigitem('ui', 'verbose',
1248 coreconfigitem('ui', 'verbose',
1249 default=False,
1249 default=False,
1250 )
1250 )
1251 coreconfigitem('verify', 'skipflags',
1251 coreconfigitem('verify', 'skipflags',
1252 default=None,
1252 default=None,
1253 )
1253 )
1254 coreconfigitem('web', 'allowbz2',
1254 coreconfigitem('web', 'allowbz2',
1255 default=False,
1255 default=False,
1256 )
1256 )
1257 coreconfigitem('web', 'allowgz',
1257 coreconfigitem('web', 'allowgz',
1258 default=False,
1258 default=False,
1259 )
1259 )
1260 coreconfigitem('web', 'allow-pull',
1260 coreconfigitem('web', 'allow-pull',
1261 alias=[('web', 'allowpull')],
1261 alias=[('web', 'allowpull')],
1262 default=True,
1262 default=True,
1263 )
1263 )
1264 coreconfigitem('web', 'allow-push',
1264 coreconfigitem('web', 'allow-push',
1265 alias=[('web', 'allow_push')],
1265 alias=[('web', 'allow_push')],
1266 default=list,
1266 default=list,
1267 )
1267 )
1268 coreconfigitem('web', 'allowzip',
1268 coreconfigitem('web', 'allowzip',
1269 default=False,
1269 default=False,
1270 )
1270 )
1271 coreconfigitem('web', 'archivesubrepos',
1271 coreconfigitem('web', 'archivesubrepos',
1272 default=False,
1272 default=False,
1273 )
1273 )
1274 coreconfigitem('web', 'cache',
1274 coreconfigitem('web', 'cache',
1275 default=True,
1275 default=True,
1276 )
1276 )
1277 coreconfigitem('web', 'contact',
1277 coreconfigitem('web', 'contact',
1278 default=None,
1278 default=None,
1279 )
1279 )
1280 coreconfigitem('web', 'deny_push',
1280 coreconfigitem('web', 'deny_push',
1281 default=list,
1281 default=list,
1282 )
1282 )
1283 coreconfigitem('web', 'guessmime',
1283 coreconfigitem('web', 'guessmime',
1284 default=False,
1284 default=False,
1285 )
1285 )
1286 coreconfigitem('web', 'hidden',
1286 coreconfigitem('web', 'hidden',
1287 default=False,
1287 default=False,
1288 )
1288 )
1289 coreconfigitem('web', 'labels',
1289 coreconfigitem('web', 'labels',
1290 default=list,
1290 default=list,
1291 )
1291 )
1292 coreconfigitem('web', 'logoimg',
1292 coreconfigitem('web', 'logoimg',
1293 default='hglogo.png',
1293 default='hglogo.png',
1294 )
1294 )
1295 coreconfigitem('web', 'logourl',
1295 coreconfigitem('web', 'logourl',
1296 default='https://mercurial-scm.org/',
1296 default='https://mercurial-scm.org/',
1297 )
1297 )
1298 coreconfigitem('web', 'accesslog',
1298 coreconfigitem('web', 'accesslog',
1299 default='-',
1299 default='-',
1300 )
1300 )
1301 coreconfigitem('web', 'address',
1301 coreconfigitem('web', 'address',
1302 default='',
1302 default='',
1303 )
1303 )
1304 coreconfigitem('web', 'allow-archive',
1304 coreconfigitem('web', 'allow-archive',
1305 alias=[('web', 'allow_archive')],
1305 alias=[('web', 'allow_archive')],
1306 default=list,
1306 default=list,
1307 )
1307 )
1308 coreconfigitem('web', 'allow_read',
1308 coreconfigitem('web', 'allow_read',
1309 default=list,
1309 default=list,
1310 )
1310 )
1311 coreconfigitem('web', 'baseurl',
1311 coreconfigitem('web', 'baseurl',
1312 default=None,
1312 default=None,
1313 )
1313 )
1314 coreconfigitem('web', 'cacerts',
1314 coreconfigitem('web', 'cacerts',
1315 default=None,
1315 default=None,
1316 )
1316 )
1317 coreconfigitem('web', 'certificate',
1317 coreconfigitem('web', 'certificate',
1318 default=None,
1318 default=None,
1319 )
1319 )
1320 coreconfigitem('web', 'collapse',
1320 coreconfigitem('web', 'collapse',
1321 default=False,
1321 default=False,
1322 )
1322 )
1323 coreconfigitem('web', 'csp',
1323 coreconfigitem('web', 'csp',
1324 default=None,
1324 default=None,
1325 )
1325 )
1326 coreconfigitem('web', 'deny_read',
1326 coreconfigitem('web', 'deny_read',
1327 default=list,
1327 default=list,
1328 )
1328 )
1329 coreconfigitem('web', 'descend',
1329 coreconfigitem('web', 'descend',
1330 default=True,
1330 default=True,
1331 )
1331 )
1332 coreconfigitem('web', 'description',
1332 coreconfigitem('web', 'description',
1333 default="",
1333 default="",
1334 )
1334 )
1335 coreconfigitem('web', 'encoding',
1335 coreconfigitem('web', 'encoding',
1336 default=lambda: encoding.encoding,
1336 default=lambda: encoding.encoding,
1337 )
1337 )
1338 coreconfigitem('web', 'errorlog',
1338 coreconfigitem('web', 'errorlog',
1339 default='-',
1339 default='-',
1340 )
1340 )
1341 coreconfigitem('web', 'ipv6',
1341 coreconfigitem('web', 'ipv6',
1342 default=False,
1342 default=False,
1343 )
1343 )
1344 coreconfigitem('web', 'maxchanges',
1344 coreconfigitem('web', 'maxchanges',
1345 default=10,
1345 default=10,
1346 )
1346 )
1347 coreconfigitem('web', 'maxfiles',
1347 coreconfigitem('web', 'maxfiles',
1348 default=10,
1348 default=10,
1349 )
1349 )
1350 coreconfigitem('web', 'maxshortchanges',
1350 coreconfigitem('web', 'maxshortchanges',
1351 default=60,
1351 default=60,
1352 )
1352 )
1353 coreconfigitem('web', 'motd',
1353 coreconfigitem('web', 'motd',
1354 default='',
1354 default='',
1355 )
1355 )
1356 coreconfigitem('web', 'name',
1356 coreconfigitem('web', 'name',
1357 default=dynamicdefault,
1357 default=dynamicdefault,
1358 )
1358 )
1359 coreconfigitem('web', 'port',
1359 coreconfigitem('web', 'port',
1360 default=8000,
1360 default=8000,
1361 )
1361 )
1362 coreconfigitem('web', 'prefix',
1362 coreconfigitem('web', 'prefix',
1363 default='',
1363 default='',
1364 )
1364 )
1365 coreconfigitem('web', 'push_ssl',
1365 coreconfigitem('web', 'push_ssl',
1366 default=True,
1366 default=True,
1367 )
1367 )
1368 coreconfigitem('web', 'refreshinterval',
1368 coreconfigitem('web', 'refreshinterval',
1369 default=20,
1369 default=20,
1370 )
1370 )
1371 coreconfigitem('web', 'server-header',
1371 coreconfigitem('web', 'server-header',
1372 default=None,
1372 default=None,
1373 )
1373 )
1374 coreconfigitem('web', 'static',
1374 coreconfigitem('web', 'static',
1375 default=None,
1375 default=None,
1376 )
1376 )
1377 coreconfigitem('web', 'staticurl',
1377 coreconfigitem('web', 'staticurl',
1378 default=None,
1378 default=None,
1379 )
1379 )
1380 coreconfigitem('web', 'stripes',
1380 coreconfigitem('web', 'stripes',
1381 default=1,
1381 default=1,
1382 )
1382 )
1383 coreconfigitem('web', 'style',
1383 coreconfigitem('web', 'style',
1384 default='paper',
1384 default='paper',
1385 )
1385 )
1386 coreconfigitem('web', 'templates',
1386 coreconfigitem('web', 'templates',
1387 default=None,
1387 default=None,
1388 )
1388 )
1389 coreconfigitem('web', 'view',
1389 coreconfigitem('web', 'view',
1390 default='served',
1390 default='served',
1391 )
1391 )
1392 coreconfigitem('worker', 'backgroundclose',
1392 coreconfigitem('worker', 'backgroundclose',
1393 default=dynamicdefault,
1393 default=dynamicdefault,
1394 )
1394 )
1395 # Windows defaults to a limit of 512 open files. A buffer of 128
1395 # Windows defaults to a limit of 512 open files. A buffer of 128
1396 # should give us enough headway.
1396 # should give us enough headway.
1397 coreconfigitem('worker', 'backgroundclosemaxqueue',
1397 coreconfigitem('worker', 'backgroundclosemaxqueue',
1398 default=384,
1398 default=384,
1399 )
1399 )
1400 coreconfigitem('worker', 'backgroundcloseminfilecount',
1400 coreconfigitem('worker', 'backgroundcloseminfilecount',
1401 default=2048,
1401 default=2048,
1402 )
1402 )
1403 coreconfigitem('worker', 'backgroundclosethreadcount',
1403 coreconfigitem('worker', 'backgroundclosethreadcount',
1404 default=4,
1404 default=4,
1405 )
1405 )
1406 coreconfigitem('worker', 'enabled',
1406 coreconfigitem('worker', 'enabled',
1407 default=True,
1407 default=True,
1408 )
1408 )
1409 coreconfigitem('worker', 'numcpus',
1409 coreconfigitem('worker', 'numcpus',
1410 default=None,
1410 default=None,
1411 )
1411 )
1412
1412
1413 # Rebase related configuration moved to core because other extension are doing
1413 # Rebase related configuration moved to core because other extension are doing
1414 # strange things. For example, shelve import the extensions to reuse some bit
1414 # strange things. For example, shelve import the extensions to reuse some bit
1415 # without formally loading it.
1415 # without formally loading it.
1416 coreconfigitem('commands', 'rebase.requiredest',
1416 coreconfigitem('commands', 'rebase.requiredest',
1417 default=False,
1417 default=False,
1418 )
1418 )
1419 coreconfigitem('experimental', 'rebaseskipobsolete',
1419 coreconfigitem('experimental', 'rebaseskipobsolete',
1420 default=True,
1420 default=True,
1421 )
1421 )
1422 coreconfigitem('rebase', 'singletransaction',
1422 coreconfigitem('rebase', 'singletransaction',
1423 default=False,
1423 default=False,
1424 )
1424 )
1425 coreconfigitem('rebase', 'experimental.inmemory',
1425 coreconfigitem('rebase', 'experimental.inmemory',
1426 default=False,
1426 default=False,
1427 )
1427 )
General Comments 0
You need to be logged in to leave comments. Login now