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