##// END OF EJS Templates
configitems: register the 'hostsecurity.*:minimumprotocol' config
Boris Feld -
r34774:607085aa default
parent child Browse files
Show More
@@ -1,1000 +1,1004 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 configtable.items():
20 for section, items in 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 if key in self:
70 if key in self:
71 return self[key]
71 return self[key]
72
72
73 # search for a matching generic item
73 # search for a matching generic item
74 generics = sorted(self._generics, key=(lambda x: (x.priority, x.name)))
74 generics = sorted(self._generics, key=(lambda x: (x.priority, x.name)))
75 for item in generics:
75 for item in generics:
76 if item._re.match(key):
76 if item._re.match(key):
77 return item
77 return item
78
78
79 # fallback to dict get
79 # fallback to dict get
80 return super(itemregister, self).get(key)
80 return super(itemregister, self).get(key)
81
81
82 coreitems = {}
82 coreitems = {}
83
83
84 def _register(configtable, *args, **kwargs):
84 def _register(configtable, *args, **kwargs):
85 item = configitem(*args, **kwargs)
85 item = configitem(*args, **kwargs)
86 section = configtable.setdefault(item.section, itemregister())
86 section = configtable.setdefault(item.section, itemregister())
87 if item.name in section:
87 if item.name in section:
88 msg = "duplicated config item registration for '%s.%s'"
88 msg = "duplicated config item registration for '%s.%s'"
89 raise error.ProgrammingError(msg % (item.section, item.name))
89 raise error.ProgrammingError(msg % (item.section, item.name))
90 section[item.name] = item
90 section[item.name] = item
91
91
92 # special value for case where the default is derived from other values
92 # special value for case where the default is derived from other values
93 dynamicdefault = object()
93 dynamicdefault = object()
94
94
95 # Registering actual config items
95 # Registering actual config items
96
96
97 def getitemregister(configtable):
97 def getitemregister(configtable):
98 return functools.partial(_register, configtable)
98 return functools.partial(_register, configtable)
99
99
100 coreconfigitem = getitemregister(coreitems)
100 coreconfigitem = getitemregister(coreitems)
101
101
102 coreconfigitem('alias', '.*',
102 coreconfigitem('alias', '.*',
103 default=None,
103 default=None,
104 generic=True,
104 generic=True,
105 )
105 )
106 coreconfigitem('annotate', 'nodates',
106 coreconfigitem('annotate', 'nodates',
107 default=False,
107 default=False,
108 )
108 )
109 coreconfigitem('annotate', 'showfunc',
109 coreconfigitem('annotate', 'showfunc',
110 default=False,
110 default=False,
111 )
111 )
112 coreconfigitem('annotate', 'unified',
112 coreconfigitem('annotate', 'unified',
113 default=None,
113 default=None,
114 )
114 )
115 coreconfigitem('annotate', 'git',
115 coreconfigitem('annotate', 'git',
116 default=False,
116 default=False,
117 )
117 )
118 coreconfigitem('annotate', 'ignorews',
118 coreconfigitem('annotate', 'ignorews',
119 default=False,
119 default=False,
120 )
120 )
121 coreconfigitem('annotate', 'ignorewsamount',
121 coreconfigitem('annotate', 'ignorewsamount',
122 default=False,
122 default=False,
123 )
123 )
124 coreconfigitem('annotate', 'ignoreblanklines',
124 coreconfigitem('annotate', 'ignoreblanklines',
125 default=False,
125 default=False,
126 )
126 )
127 coreconfigitem('annotate', 'ignorewseol',
127 coreconfigitem('annotate', 'ignorewseol',
128 default=False,
128 default=False,
129 )
129 )
130 coreconfigitem('annotate', 'nobinary',
130 coreconfigitem('annotate', 'nobinary',
131 default=False,
131 default=False,
132 )
132 )
133 coreconfigitem('annotate', 'noprefix',
133 coreconfigitem('annotate', 'noprefix',
134 default=False,
134 default=False,
135 )
135 )
136 coreconfigitem('auth', 'cookiefile',
136 coreconfigitem('auth', 'cookiefile',
137 default=None,
137 default=None,
138 )
138 )
139 # bookmarks.pushing: internal hack for discovery
139 # bookmarks.pushing: internal hack for discovery
140 coreconfigitem('bookmarks', 'pushing',
140 coreconfigitem('bookmarks', 'pushing',
141 default=list,
141 default=list,
142 )
142 )
143 # bundle.mainreporoot: internal hack for bundlerepo
143 # bundle.mainreporoot: internal hack for bundlerepo
144 coreconfigitem('bundle', 'mainreporoot',
144 coreconfigitem('bundle', 'mainreporoot',
145 default='',
145 default='',
146 )
146 )
147 # bundle.reorder: experimental config
147 # bundle.reorder: experimental config
148 coreconfigitem('bundle', 'reorder',
148 coreconfigitem('bundle', 'reorder',
149 default='auto',
149 default='auto',
150 )
150 )
151 coreconfigitem('censor', 'policy',
151 coreconfigitem('censor', 'policy',
152 default='abort',
152 default='abort',
153 )
153 )
154 coreconfigitem('chgserver', 'idletimeout',
154 coreconfigitem('chgserver', 'idletimeout',
155 default=3600,
155 default=3600,
156 )
156 )
157 coreconfigitem('chgserver', 'skiphash',
157 coreconfigitem('chgserver', 'skiphash',
158 default=False,
158 default=False,
159 )
159 )
160 coreconfigitem('cmdserver', 'log',
160 coreconfigitem('cmdserver', 'log',
161 default=None,
161 default=None,
162 )
162 )
163 coreconfigitem('color', '.*',
163 coreconfigitem('color', '.*',
164 default=None,
164 default=None,
165 generic=True,
165 generic=True,
166 )
166 )
167 coreconfigitem('color', 'mode',
167 coreconfigitem('color', 'mode',
168 default='auto',
168 default='auto',
169 )
169 )
170 coreconfigitem('color', 'pagermode',
170 coreconfigitem('color', 'pagermode',
171 default=dynamicdefault,
171 default=dynamicdefault,
172 )
172 )
173 coreconfigitem('commands', 'status.relative',
173 coreconfigitem('commands', 'status.relative',
174 default=False,
174 default=False,
175 )
175 )
176 coreconfigitem('commands', 'status.skipstates',
176 coreconfigitem('commands', 'status.skipstates',
177 default=[],
177 default=[],
178 )
178 )
179 coreconfigitem('commands', 'status.verbose',
179 coreconfigitem('commands', 'status.verbose',
180 default=False,
180 default=False,
181 )
181 )
182 coreconfigitem('commands', 'update.check',
182 coreconfigitem('commands', 'update.check',
183 default=None,
183 default=None,
184 )
184 )
185 coreconfigitem('commands', 'update.requiredest',
185 coreconfigitem('commands', 'update.requiredest',
186 default=False,
186 default=False,
187 )
187 )
188 coreconfigitem('committemplate', '.*',
188 coreconfigitem('committemplate', '.*',
189 default=None,
189 default=None,
190 generic=True,
190 generic=True,
191 )
191 )
192 coreconfigitem('debug', 'dirstate.delaywrite',
192 coreconfigitem('debug', 'dirstate.delaywrite',
193 default=0,
193 default=0,
194 )
194 )
195 coreconfigitem('defaults', '.*',
195 coreconfigitem('defaults', '.*',
196 default=None,
196 default=None,
197 generic=True,
197 generic=True,
198 )
198 )
199 coreconfigitem('devel', 'all-warnings',
199 coreconfigitem('devel', 'all-warnings',
200 default=False,
200 default=False,
201 )
201 )
202 coreconfigitem('devel', 'bundle2.debug',
202 coreconfigitem('devel', 'bundle2.debug',
203 default=False,
203 default=False,
204 )
204 )
205 coreconfigitem('devel', 'cache-vfs',
205 coreconfigitem('devel', 'cache-vfs',
206 default=None,
206 default=None,
207 )
207 )
208 coreconfigitem('devel', 'check-locks',
208 coreconfigitem('devel', 'check-locks',
209 default=False,
209 default=False,
210 )
210 )
211 coreconfigitem('devel', 'check-relroot',
211 coreconfigitem('devel', 'check-relroot',
212 default=False,
212 default=False,
213 )
213 )
214 coreconfigitem('devel', 'default-date',
214 coreconfigitem('devel', 'default-date',
215 default=None,
215 default=None,
216 )
216 )
217 coreconfigitem('devel', 'deprec-warn',
217 coreconfigitem('devel', 'deprec-warn',
218 default=False,
218 default=False,
219 )
219 )
220 coreconfigitem('devel', 'disableloaddefaultcerts',
220 coreconfigitem('devel', 'disableloaddefaultcerts',
221 default=False,
221 default=False,
222 )
222 )
223 coreconfigitem('devel', 'warn-empty-changegroup',
223 coreconfigitem('devel', 'warn-empty-changegroup',
224 default=False,
224 default=False,
225 )
225 )
226 coreconfigitem('devel', 'legacy.exchange',
226 coreconfigitem('devel', 'legacy.exchange',
227 default=list,
227 default=list,
228 )
228 )
229 coreconfigitem('devel', 'servercafile',
229 coreconfigitem('devel', 'servercafile',
230 default='',
230 default='',
231 )
231 )
232 coreconfigitem('devel', 'serverexactprotocol',
232 coreconfigitem('devel', 'serverexactprotocol',
233 default='',
233 default='',
234 )
234 )
235 coreconfigitem('devel', 'serverrequirecert',
235 coreconfigitem('devel', 'serverrequirecert',
236 default=False,
236 default=False,
237 )
237 )
238 coreconfigitem('devel', 'strip-obsmarkers',
238 coreconfigitem('devel', 'strip-obsmarkers',
239 default=True,
239 default=True,
240 )
240 )
241 coreconfigitem('devel', 'warn-config',
241 coreconfigitem('devel', 'warn-config',
242 default=None,
242 default=None,
243 )
243 )
244 coreconfigitem('devel', 'warn-config-default',
244 coreconfigitem('devel', 'warn-config-default',
245 default=None,
245 default=None,
246 )
246 )
247 coreconfigitem('devel', 'user.obsmarker',
247 coreconfigitem('devel', 'user.obsmarker',
248 default=None,
248 default=None,
249 )
249 )
250 coreconfigitem('diff', 'nodates',
250 coreconfigitem('diff', 'nodates',
251 default=False,
251 default=False,
252 )
252 )
253 coreconfigitem('diff', 'showfunc',
253 coreconfigitem('diff', 'showfunc',
254 default=False,
254 default=False,
255 )
255 )
256 coreconfigitem('diff', 'unified',
256 coreconfigitem('diff', 'unified',
257 default=None,
257 default=None,
258 )
258 )
259 coreconfigitem('diff', 'git',
259 coreconfigitem('diff', 'git',
260 default=False,
260 default=False,
261 )
261 )
262 coreconfigitem('diff', 'ignorews',
262 coreconfigitem('diff', 'ignorews',
263 default=False,
263 default=False,
264 )
264 )
265 coreconfigitem('diff', 'ignorewsamount',
265 coreconfigitem('diff', 'ignorewsamount',
266 default=False,
266 default=False,
267 )
267 )
268 coreconfigitem('diff', 'ignoreblanklines',
268 coreconfigitem('diff', 'ignoreblanklines',
269 default=False,
269 default=False,
270 )
270 )
271 coreconfigitem('diff', 'ignorewseol',
271 coreconfigitem('diff', 'ignorewseol',
272 default=False,
272 default=False,
273 )
273 )
274 coreconfigitem('diff', 'nobinary',
274 coreconfigitem('diff', 'nobinary',
275 default=False,
275 default=False,
276 )
276 )
277 coreconfigitem('diff', 'noprefix',
277 coreconfigitem('diff', 'noprefix',
278 default=False,
278 default=False,
279 )
279 )
280 coreconfigitem('email', 'bcc',
280 coreconfigitem('email', 'bcc',
281 default=None,
281 default=None,
282 )
282 )
283 coreconfigitem('email', 'cc',
283 coreconfigitem('email', 'cc',
284 default=None,
284 default=None,
285 )
285 )
286 coreconfigitem('email', 'charsets',
286 coreconfigitem('email', 'charsets',
287 default=list,
287 default=list,
288 )
288 )
289 coreconfigitem('email', 'from',
289 coreconfigitem('email', 'from',
290 default=None,
290 default=None,
291 )
291 )
292 coreconfigitem('email', 'method',
292 coreconfigitem('email', 'method',
293 default='smtp',
293 default='smtp',
294 )
294 )
295 coreconfigitem('email', 'reply-to',
295 coreconfigitem('email', 'reply-to',
296 default=None,
296 default=None,
297 )
297 )
298 coreconfigitem('experimental', 'allowdivergence',
298 coreconfigitem('experimental', 'allowdivergence',
299 default=False,
299 default=False,
300 )
300 )
301 coreconfigitem('experimental', 'archivemetatemplate',
301 coreconfigitem('experimental', 'archivemetatemplate',
302 default=dynamicdefault,
302 default=dynamicdefault,
303 )
303 )
304 coreconfigitem('experimental', 'bundle-phases',
304 coreconfigitem('experimental', 'bundle-phases',
305 default=False,
305 default=False,
306 )
306 )
307 coreconfigitem('experimental', 'bundle2-advertise',
307 coreconfigitem('experimental', 'bundle2-advertise',
308 default=True,
308 default=True,
309 )
309 )
310 coreconfigitem('experimental', 'bundle2-output-capture',
310 coreconfigitem('experimental', 'bundle2-output-capture',
311 default=False,
311 default=False,
312 )
312 )
313 coreconfigitem('experimental', 'bundle2.pushback',
313 coreconfigitem('experimental', 'bundle2.pushback',
314 default=False,
314 default=False,
315 )
315 )
316 coreconfigitem('experimental', 'bundle2lazylocking',
316 coreconfigitem('experimental', 'bundle2lazylocking',
317 default=False,
317 default=False,
318 )
318 )
319 coreconfigitem('experimental', 'bundlecomplevel',
319 coreconfigitem('experimental', 'bundlecomplevel',
320 default=None,
320 default=None,
321 )
321 )
322 coreconfigitem('experimental', 'changegroup3',
322 coreconfigitem('experimental', 'changegroup3',
323 default=False,
323 default=False,
324 )
324 )
325 coreconfigitem('experimental', 'clientcompressionengines',
325 coreconfigitem('experimental', 'clientcompressionengines',
326 default=list,
326 default=list,
327 )
327 )
328 coreconfigitem('experimental', 'copytrace',
328 coreconfigitem('experimental', 'copytrace',
329 default='on',
329 default='on',
330 )
330 )
331 coreconfigitem('experimental', 'copytrace.sourcecommitlimit',
331 coreconfigitem('experimental', 'copytrace.sourcecommitlimit',
332 default=100,
332 default=100,
333 )
333 )
334 coreconfigitem('experimental', 'crecordtest',
334 coreconfigitem('experimental', 'crecordtest',
335 default=None,
335 default=None,
336 )
336 )
337 coreconfigitem('experimental', 'editortmpinhg',
337 coreconfigitem('experimental', 'editortmpinhg',
338 default=False,
338 default=False,
339 )
339 )
340 coreconfigitem('experimental', 'maxdeltachainspan',
340 coreconfigitem('experimental', 'maxdeltachainspan',
341 default=-1,
341 default=-1,
342 )
342 )
343 coreconfigitem('experimental', 'mmapindexthreshold',
343 coreconfigitem('experimental', 'mmapindexthreshold',
344 default=None,
344 default=None,
345 )
345 )
346 coreconfigitem('experimental', 'nonnormalparanoidcheck',
346 coreconfigitem('experimental', 'nonnormalparanoidcheck',
347 default=False,
347 default=False,
348 )
348 )
349 coreconfigitem('experimental', 'stabilization',
349 coreconfigitem('experimental', 'stabilization',
350 default=list,
350 default=list,
351 alias=[('experimental', 'evolution')],
351 alias=[('experimental', 'evolution')],
352 )
352 )
353 coreconfigitem('experimental', 'stabilization.bundle-obsmarker',
353 coreconfigitem('experimental', 'stabilization.bundle-obsmarker',
354 default=False,
354 default=False,
355 alias=[('experimental', 'evolution.bundle-obsmarker')],
355 alias=[('experimental', 'evolution.bundle-obsmarker')],
356 )
356 )
357 coreconfigitem('experimental', 'stabilization.track-operation',
357 coreconfigitem('experimental', 'stabilization.track-operation',
358 default=True,
358 default=True,
359 alias=[('experimental', 'evolution.track-operation')]
359 alias=[('experimental', 'evolution.track-operation')]
360 )
360 )
361 coreconfigitem('experimental', 'exportableenviron',
361 coreconfigitem('experimental', 'exportableenviron',
362 default=list,
362 default=list,
363 )
363 )
364 coreconfigitem('experimental', 'extendedheader.index',
364 coreconfigitem('experimental', 'extendedheader.index',
365 default=None,
365 default=None,
366 )
366 )
367 coreconfigitem('experimental', 'extendedheader.similarity',
367 coreconfigitem('experimental', 'extendedheader.similarity',
368 default=False,
368 default=False,
369 )
369 )
370 coreconfigitem('experimental', 'format.compression',
370 coreconfigitem('experimental', 'format.compression',
371 default='zlib',
371 default='zlib',
372 )
372 )
373 coreconfigitem('experimental', 'graphshorten',
373 coreconfigitem('experimental', 'graphshorten',
374 default=False,
374 default=False,
375 )
375 )
376 coreconfigitem('experimental', 'graphstyle.parent',
376 coreconfigitem('experimental', 'graphstyle.parent',
377 default=dynamicdefault,
377 default=dynamicdefault,
378 )
378 )
379 coreconfigitem('experimental', 'graphstyle.missing',
379 coreconfigitem('experimental', 'graphstyle.missing',
380 default=dynamicdefault,
380 default=dynamicdefault,
381 )
381 )
382 coreconfigitem('experimental', 'graphstyle.grandparent',
382 coreconfigitem('experimental', 'graphstyle.grandparent',
383 default=dynamicdefault,
383 default=dynamicdefault,
384 )
384 )
385 coreconfigitem('experimental', 'hook-track-tags',
385 coreconfigitem('experimental', 'hook-track-tags',
386 default=False,
386 default=False,
387 )
387 )
388 coreconfigitem('experimental', 'httppostargs',
388 coreconfigitem('experimental', 'httppostargs',
389 default=False,
389 default=False,
390 )
390 )
391 coreconfigitem('experimental', 'manifestv2',
391 coreconfigitem('experimental', 'manifestv2',
392 default=False,
392 default=False,
393 )
393 )
394 coreconfigitem('experimental', 'mergedriver',
394 coreconfigitem('experimental', 'mergedriver',
395 default=None,
395 default=None,
396 )
396 )
397 coreconfigitem('experimental', 'obsmarkers-exchange-debug',
397 coreconfigitem('experimental', 'obsmarkers-exchange-debug',
398 default=False,
398 default=False,
399 )
399 )
400 coreconfigitem('experimental', 'rebase.multidest',
400 coreconfigitem('experimental', 'rebase.multidest',
401 default=False,
401 default=False,
402 )
402 )
403 coreconfigitem('experimental', 'revertalternateinteractivemode',
403 coreconfigitem('experimental', 'revertalternateinteractivemode',
404 default=True,
404 default=True,
405 )
405 )
406 coreconfigitem('experimental', 'revlogv2',
406 coreconfigitem('experimental', 'revlogv2',
407 default=None,
407 default=None,
408 )
408 )
409 coreconfigitem('experimental', 'spacemovesdown',
409 coreconfigitem('experimental', 'spacemovesdown',
410 default=False,
410 default=False,
411 )
411 )
412 coreconfigitem('experimental', 'treemanifest',
412 coreconfigitem('experimental', 'treemanifest',
413 default=False,
413 default=False,
414 )
414 )
415 # Deprecated, remove after 4.4 release
415 # Deprecated, remove after 4.4 release
416 coreconfigitem('experimental', 'updatecheck',
416 coreconfigitem('experimental', 'updatecheck',
417 default=None,
417 default=None,
418 )
418 )
419 coreconfigitem('extensions', '.*',
419 coreconfigitem('extensions', '.*',
420 default=None,
420 default=None,
421 generic=True,
421 generic=True,
422 )
422 )
423 coreconfigitem('extdata', '.*',
423 coreconfigitem('extdata', '.*',
424 default=None,
424 default=None,
425 generic=True,
425 generic=True,
426 )
426 )
427 coreconfigitem('format', 'aggressivemergedeltas',
427 coreconfigitem('format', 'aggressivemergedeltas',
428 default=False,
428 default=False,
429 )
429 )
430 coreconfigitem('format', 'chunkcachesize',
430 coreconfigitem('format', 'chunkcachesize',
431 default=None,
431 default=None,
432 )
432 )
433 coreconfigitem('format', 'dotencode',
433 coreconfigitem('format', 'dotencode',
434 default=True,
434 default=True,
435 )
435 )
436 coreconfigitem('format', 'generaldelta',
436 coreconfigitem('format', 'generaldelta',
437 default=False,
437 default=False,
438 )
438 )
439 coreconfigitem('format', 'manifestcachesize',
439 coreconfigitem('format', 'manifestcachesize',
440 default=None,
440 default=None,
441 )
441 )
442 coreconfigitem('format', 'maxchainlen',
442 coreconfigitem('format', 'maxchainlen',
443 default=None,
443 default=None,
444 )
444 )
445 coreconfigitem('format', 'obsstore-version',
445 coreconfigitem('format', 'obsstore-version',
446 default=None,
446 default=None,
447 )
447 )
448 coreconfigitem('format', 'usefncache',
448 coreconfigitem('format', 'usefncache',
449 default=True,
449 default=True,
450 )
450 )
451 coreconfigitem('format', 'usegeneraldelta',
451 coreconfigitem('format', 'usegeneraldelta',
452 default=True,
452 default=True,
453 )
453 )
454 coreconfigitem('format', 'usestore',
454 coreconfigitem('format', 'usestore',
455 default=True,
455 default=True,
456 )
456 )
457 coreconfigitem('hooks', '.*',
457 coreconfigitem('hooks', '.*',
458 default=dynamicdefault,
458 default=dynamicdefault,
459 generic=True,
459 generic=True,
460 )
460 )
461 coreconfigitem('hgweb-paths', '.*',
461 coreconfigitem('hgweb-paths', '.*',
462 default=list,
462 default=list,
463 generic=True,
463 generic=True,
464 )
464 )
465 coreconfigitem('hostfingerprints', '.*',
465 coreconfigitem('hostfingerprints', '.*',
466 default=list,
466 default=list,
467 generic=True,
467 generic=True,
468 )
468 )
469 coreconfigitem('hostsecurity', 'ciphers',
469 coreconfigitem('hostsecurity', 'ciphers',
470 default=None,
470 default=None,
471 )
471 )
472 coreconfigitem('hostsecurity', 'disabletls10warning',
472 coreconfigitem('hostsecurity', 'disabletls10warning',
473 default=False,
473 default=False,
474 )
474 )
475 coreconfigitem('hostsecurity', 'minimumprotocol',
475 coreconfigitem('hostsecurity', 'minimumprotocol',
476 default=dynamicdefault,
476 default=dynamicdefault,
477 )
477 )
478 coreconfigitem('hostsecurity', '.*:minimumprotocol$',
479 default=dynamicdefault,
480 generic=True,
481 )
478 coreconfigitem('http_proxy', 'always',
482 coreconfigitem('http_proxy', 'always',
479 default=False,
483 default=False,
480 )
484 )
481 coreconfigitem('http_proxy', 'host',
485 coreconfigitem('http_proxy', 'host',
482 default=None,
486 default=None,
483 )
487 )
484 coreconfigitem('http_proxy', 'no',
488 coreconfigitem('http_proxy', 'no',
485 default=list,
489 default=list,
486 )
490 )
487 coreconfigitem('http_proxy', 'passwd',
491 coreconfigitem('http_proxy', 'passwd',
488 default=None,
492 default=None,
489 )
493 )
490 coreconfigitem('http_proxy', 'user',
494 coreconfigitem('http_proxy', 'user',
491 default=None,
495 default=None,
492 )
496 )
493 coreconfigitem('logtoprocess', 'commandexception',
497 coreconfigitem('logtoprocess', 'commandexception',
494 default=None,
498 default=None,
495 )
499 )
496 coreconfigitem('logtoprocess', 'commandfinish',
500 coreconfigitem('logtoprocess', 'commandfinish',
497 default=None,
501 default=None,
498 )
502 )
499 coreconfigitem('logtoprocess', 'command',
503 coreconfigitem('logtoprocess', 'command',
500 default=None,
504 default=None,
501 )
505 )
502 coreconfigitem('logtoprocess', 'develwarn',
506 coreconfigitem('logtoprocess', 'develwarn',
503 default=None,
507 default=None,
504 )
508 )
505 coreconfigitem('logtoprocess', 'uiblocked',
509 coreconfigitem('logtoprocess', 'uiblocked',
506 default=None,
510 default=None,
507 )
511 )
508 coreconfigitem('merge', 'checkunknown',
512 coreconfigitem('merge', 'checkunknown',
509 default='abort',
513 default='abort',
510 )
514 )
511 coreconfigitem('merge', 'checkignored',
515 coreconfigitem('merge', 'checkignored',
512 default='abort',
516 default='abort',
513 )
517 )
514 coreconfigitem('merge', 'followcopies',
518 coreconfigitem('merge', 'followcopies',
515 default=True,
519 default=True,
516 )
520 )
517 coreconfigitem('merge', 'preferancestor',
521 coreconfigitem('merge', 'preferancestor',
518 default=lambda: ['*'],
522 default=lambda: ['*'],
519 )
523 )
520 coreconfigitem('pager', 'attend-.*',
524 coreconfigitem('pager', 'attend-.*',
521 default=dynamicdefault,
525 default=dynamicdefault,
522 generic=True,
526 generic=True,
523 )
527 )
524 coreconfigitem('pager', 'ignore',
528 coreconfigitem('pager', 'ignore',
525 default=list,
529 default=list,
526 )
530 )
527 coreconfigitem('pager', 'pager',
531 coreconfigitem('pager', 'pager',
528 default=dynamicdefault,
532 default=dynamicdefault,
529 )
533 )
530 coreconfigitem('patch', 'eol',
534 coreconfigitem('patch', 'eol',
531 default='strict',
535 default='strict',
532 )
536 )
533 coreconfigitem('patch', 'fuzz',
537 coreconfigitem('patch', 'fuzz',
534 default=2,
538 default=2,
535 )
539 )
536 coreconfigitem('paths', 'default',
540 coreconfigitem('paths', 'default',
537 default=None,
541 default=None,
538 )
542 )
539 coreconfigitem('paths', 'default-push',
543 coreconfigitem('paths', 'default-push',
540 default=None,
544 default=None,
541 )
545 )
542 coreconfigitem('paths', '.*',
546 coreconfigitem('paths', '.*',
543 default=None,
547 default=None,
544 generic=True,
548 generic=True,
545 )
549 )
546 coreconfigitem('phases', 'checksubrepos',
550 coreconfigitem('phases', 'checksubrepos',
547 default='follow',
551 default='follow',
548 )
552 )
549 coreconfigitem('phases', 'new-commit',
553 coreconfigitem('phases', 'new-commit',
550 default='draft',
554 default='draft',
551 )
555 )
552 coreconfigitem('phases', 'publish',
556 coreconfigitem('phases', 'publish',
553 default=True,
557 default=True,
554 )
558 )
555 coreconfigitem('profiling', 'enabled',
559 coreconfigitem('profiling', 'enabled',
556 default=False,
560 default=False,
557 )
561 )
558 coreconfigitem('profiling', 'format',
562 coreconfigitem('profiling', 'format',
559 default='text',
563 default='text',
560 )
564 )
561 coreconfigitem('profiling', 'freq',
565 coreconfigitem('profiling', 'freq',
562 default=1000,
566 default=1000,
563 )
567 )
564 coreconfigitem('profiling', 'limit',
568 coreconfigitem('profiling', 'limit',
565 default=30,
569 default=30,
566 )
570 )
567 coreconfigitem('profiling', 'nested',
571 coreconfigitem('profiling', 'nested',
568 default=0,
572 default=0,
569 )
573 )
570 coreconfigitem('profiling', 'output',
574 coreconfigitem('profiling', 'output',
571 default=None,
575 default=None,
572 )
576 )
573 coreconfigitem('profiling', 'showmax',
577 coreconfigitem('profiling', 'showmax',
574 default=0.999,
578 default=0.999,
575 )
579 )
576 coreconfigitem('profiling', 'showmin',
580 coreconfigitem('profiling', 'showmin',
577 default=dynamicdefault,
581 default=dynamicdefault,
578 )
582 )
579 coreconfigitem('profiling', 'sort',
583 coreconfigitem('profiling', 'sort',
580 default='inlinetime',
584 default='inlinetime',
581 )
585 )
582 coreconfigitem('profiling', 'statformat',
586 coreconfigitem('profiling', 'statformat',
583 default='hotpath',
587 default='hotpath',
584 )
588 )
585 coreconfigitem('profiling', 'type',
589 coreconfigitem('profiling', 'type',
586 default='stat',
590 default='stat',
587 )
591 )
588 coreconfigitem('progress', 'assume-tty',
592 coreconfigitem('progress', 'assume-tty',
589 default=False,
593 default=False,
590 )
594 )
591 coreconfigitem('progress', 'changedelay',
595 coreconfigitem('progress', 'changedelay',
592 default=1,
596 default=1,
593 )
597 )
594 coreconfigitem('progress', 'clear-complete',
598 coreconfigitem('progress', 'clear-complete',
595 default=True,
599 default=True,
596 )
600 )
597 coreconfigitem('progress', 'debug',
601 coreconfigitem('progress', 'debug',
598 default=False,
602 default=False,
599 )
603 )
600 coreconfigitem('progress', 'delay',
604 coreconfigitem('progress', 'delay',
601 default=3,
605 default=3,
602 )
606 )
603 coreconfigitem('progress', 'disable',
607 coreconfigitem('progress', 'disable',
604 default=False,
608 default=False,
605 )
609 )
606 coreconfigitem('progress', 'estimateinterval',
610 coreconfigitem('progress', 'estimateinterval',
607 default=60.0,
611 default=60.0,
608 )
612 )
609 coreconfigitem('progress', 'format',
613 coreconfigitem('progress', 'format',
610 default=lambda: ['topic', 'bar', 'number', 'estimate'],
614 default=lambda: ['topic', 'bar', 'number', 'estimate'],
611 )
615 )
612 coreconfigitem('progress', 'refresh',
616 coreconfigitem('progress', 'refresh',
613 default=0.1,
617 default=0.1,
614 )
618 )
615 coreconfigitem('progress', 'width',
619 coreconfigitem('progress', 'width',
616 default=dynamicdefault,
620 default=dynamicdefault,
617 )
621 )
618 coreconfigitem('push', 'pushvars.server',
622 coreconfigitem('push', 'pushvars.server',
619 default=False,
623 default=False,
620 )
624 )
621 coreconfigitem('server', 'bundle1',
625 coreconfigitem('server', 'bundle1',
622 default=True,
626 default=True,
623 )
627 )
624 coreconfigitem('server', 'bundle1gd',
628 coreconfigitem('server', 'bundle1gd',
625 default=None,
629 default=None,
626 )
630 )
627 coreconfigitem('server', 'bundle1.pull',
631 coreconfigitem('server', 'bundle1.pull',
628 default=None,
632 default=None,
629 )
633 )
630 coreconfigitem('server', 'bundle1gd.pull',
634 coreconfigitem('server', 'bundle1gd.pull',
631 default=None,
635 default=None,
632 )
636 )
633 coreconfigitem('server', 'bundle1.push',
637 coreconfigitem('server', 'bundle1.push',
634 default=None,
638 default=None,
635 )
639 )
636 coreconfigitem('server', 'bundle1gd.push',
640 coreconfigitem('server', 'bundle1gd.push',
637 default=None,
641 default=None,
638 )
642 )
639 coreconfigitem('server', 'compressionengines',
643 coreconfigitem('server', 'compressionengines',
640 default=list,
644 default=list,
641 )
645 )
642 coreconfigitem('server', 'concurrent-push-mode',
646 coreconfigitem('server', 'concurrent-push-mode',
643 default='strict',
647 default='strict',
644 )
648 )
645 coreconfigitem('server', 'disablefullbundle',
649 coreconfigitem('server', 'disablefullbundle',
646 default=False,
650 default=False,
647 )
651 )
648 coreconfigitem('server', 'maxhttpheaderlen',
652 coreconfigitem('server', 'maxhttpheaderlen',
649 default=1024,
653 default=1024,
650 )
654 )
651 coreconfigitem('server', 'preferuncompressed',
655 coreconfigitem('server', 'preferuncompressed',
652 default=False,
656 default=False,
653 )
657 )
654 coreconfigitem('server', 'uncompressed',
658 coreconfigitem('server', 'uncompressed',
655 default=True,
659 default=True,
656 )
660 )
657 coreconfigitem('server', 'uncompressedallowsecret',
661 coreconfigitem('server', 'uncompressedallowsecret',
658 default=False,
662 default=False,
659 )
663 )
660 coreconfigitem('server', 'validate',
664 coreconfigitem('server', 'validate',
661 default=False,
665 default=False,
662 )
666 )
663 coreconfigitem('server', 'zliblevel',
667 coreconfigitem('server', 'zliblevel',
664 default=-1,
668 default=-1,
665 )
669 )
666 coreconfigitem('smtp', 'host',
670 coreconfigitem('smtp', 'host',
667 default=None,
671 default=None,
668 )
672 )
669 coreconfigitem('smtp', 'local_hostname',
673 coreconfigitem('smtp', 'local_hostname',
670 default=None,
674 default=None,
671 )
675 )
672 coreconfigitem('smtp', 'password',
676 coreconfigitem('smtp', 'password',
673 default=None,
677 default=None,
674 )
678 )
675 coreconfigitem('smtp', 'port',
679 coreconfigitem('smtp', 'port',
676 default=dynamicdefault,
680 default=dynamicdefault,
677 )
681 )
678 coreconfigitem('smtp', 'tls',
682 coreconfigitem('smtp', 'tls',
679 default='none',
683 default='none',
680 )
684 )
681 coreconfigitem('smtp', 'username',
685 coreconfigitem('smtp', 'username',
682 default=None,
686 default=None,
683 )
687 )
684 coreconfigitem('sparse', 'missingwarning',
688 coreconfigitem('sparse', 'missingwarning',
685 default=True,
689 default=True,
686 )
690 )
687 coreconfigitem('templates', '.*',
691 coreconfigitem('templates', '.*',
688 default=None,
692 default=None,
689 generic=True,
693 generic=True,
690 )
694 )
691 coreconfigitem('trusted', 'groups',
695 coreconfigitem('trusted', 'groups',
692 default=list,
696 default=list,
693 )
697 )
694 coreconfigitem('trusted', 'users',
698 coreconfigitem('trusted', 'users',
695 default=list,
699 default=list,
696 )
700 )
697 coreconfigitem('ui', '_usedassubrepo',
701 coreconfigitem('ui', '_usedassubrepo',
698 default=False,
702 default=False,
699 )
703 )
700 coreconfigitem('ui', 'allowemptycommit',
704 coreconfigitem('ui', 'allowemptycommit',
701 default=False,
705 default=False,
702 )
706 )
703 coreconfigitem('ui', 'archivemeta',
707 coreconfigitem('ui', 'archivemeta',
704 default=True,
708 default=True,
705 )
709 )
706 coreconfigitem('ui', 'askusername',
710 coreconfigitem('ui', 'askusername',
707 default=False,
711 default=False,
708 )
712 )
709 coreconfigitem('ui', 'clonebundlefallback',
713 coreconfigitem('ui', 'clonebundlefallback',
710 default=False,
714 default=False,
711 )
715 )
712 coreconfigitem('ui', 'clonebundleprefers',
716 coreconfigitem('ui', 'clonebundleprefers',
713 default=list,
717 default=list,
714 )
718 )
715 coreconfigitem('ui', 'clonebundles',
719 coreconfigitem('ui', 'clonebundles',
716 default=True,
720 default=True,
717 )
721 )
718 coreconfigitem('ui', 'color',
722 coreconfigitem('ui', 'color',
719 default='auto',
723 default='auto',
720 )
724 )
721 coreconfigitem('ui', 'commitsubrepos',
725 coreconfigitem('ui', 'commitsubrepos',
722 default=False,
726 default=False,
723 )
727 )
724 coreconfigitem('ui', 'debug',
728 coreconfigitem('ui', 'debug',
725 default=False,
729 default=False,
726 )
730 )
727 coreconfigitem('ui', 'debugger',
731 coreconfigitem('ui', 'debugger',
728 default=None,
732 default=None,
729 )
733 )
730 coreconfigitem('ui', 'fallbackencoding',
734 coreconfigitem('ui', 'fallbackencoding',
731 default=None,
735 default=None,
732 )
736 )
733 coreconfigitem('ui', 'forcecwd',
737 coreconfigitem('ui', 'forcecwd',
734 default=None,
738 default=None,
735 )
739 )
736 coreconfigitem('ui', 'forcemerge',
740 coreconfigitem('ui', 'forcemerge',
737 default=None,
741 default=None,
738 )
742 )
739 coreconfigitem('ui', 'formatdebug',
743 coreconfigitem('ui', 'formatdebug',
740 default=False,
744 default=False,
741 )
745 )
742 coreconfigitem('ui', 'formatjson',
746 coreconfigitem('ui', 'formatjson',
743 default=False,
747 default=False,
744 )
748 )
745 coreconfigitem('ui', 'formatted',
749 coreconfigitem('ui', 'formatted',
746 default=None,
750 default=None,
747 )
751 )
748 coreconfigitem('ui', 'graphnodetemplate',
752 coreconfigitem('ui', 'graphnodetemplate',
749 default=None,
753 default=None,
750 )
754 )
751 coreconfigitem('ui', 'http2debuglevel',
755 coreconfigitem('ui', 'http2debuglevel',
752 default=None,
756 default=None,
753 )
757 )
754 coreconfigitem('ui', 'interactive',
758 coreconfigitem('ui', 'interactive',
755 default=None,
759 default=None,
756 )
760 )
757 coreconfigitem('ui', 'interface',
761 coreconfigitem('ui', 'interface',
758 default=None,
762 default=None,
759 )
763 )
760 coreconfigitem('ui', 'interface.chunkselector',
764 coreconfigitem('ui', 'interface.chunkselector',
761 default=None,
765 default=None,
762 )
766 )
763 coreconfigitem('ui', 'logblockedtimes',
767 coreconfigitem('ui', 'logblockedtimes',
764 default=False,
768 default=False,
765 )
769 )
766 coreconfigitem('ui', 'logtemplate',
770 coreconfigitem('ui', 'logtemplate',
767 default=None,
771 default=None,
768 )
772 )
769 coreconfigitem('ui', 'merge',
773 coreconfigitem('ui', 'merge',
770 default=None,
774 default=None,
771 )
775 )
772 coreconfigitem('ui', 'mergemarkers',
776 coreconfigitem('ui', 'mergemarkers',
773 default='basic',
777 default='basic',
774 )
778 )
775 coreconfigitem('ui', 'mergemarkertemplate',
779 coreconfigitem('ui', 'mergemarkertemplate',
776 default=('{node|short} '
780 default=('{node|short} '
777 '{ifeq(tags, "tip", "", '
781 '{ifeq(tags, "tip", "", '
778 'ifeq(tags, "", "", "{tags} "))}'
782 'ifeq(tags, "", "", "{tags} "))}'
779 '{if(bookmarks, "{bookmarks} ")}'
783 '{if(bookmarks, "{bookmarks} ")}'
780 '{ifeq(branch, "default", "", "{branch} ")}'
784 '{ifeq(branch, "default", "", "{branch} ")}'
781 '- {author|user}: {desc|firstline}')
785 '- {author|user}: {desc|firstline}')
782 )
786 )
783 coreconfigitem('ui', 'nontty',
787 coreconfigitem('ui', 'nontty',
784 default=False,
788 default=False,
785 )
789 )
786 coreconfigitem('ui', 'origbackuppath',
790 coreconfigitem('ui', 'origbackuppath',
787 default=None,
791 default=None,
788 )
792 )
789 coreconfigitem('ui', 'paginate',
793 coreconfigitem('ui', 'paginate',
790 default=True,
794 default=True,
791 )
795 )
792 coreconfigitem('ui', 'patch',
796 coreconfigitem('ui', 'patch',
793 default=None,
797 default=None,
794 )
798 )
795 coreconfigitem('ui', 'portablefilenames',
799 coreconfigitem('ui', 'portablefilenames',
796 default='warn',
800 default='warn',
797 )
801 )
798 coreconfigitem('ui', 'promptecho',
802 coreconfigitem('ui', 'promptecho',
799 default=False,
803 default=False,
800 )
804 )
801 coreconfigitem('ui', 'quiet',
805 coreconfigitem('ui', 'quiet',
802 default=False,
806 default=False,
803 )
807 )
804 coreconfigitem('ui', 'quietbookmarkmove',
808 coreconfigitem('ui', 'quietbookmarkmove',
805 default=False,
809 default=False,
806 )
810 )
807 coreconfigitem('ui', 'remotecmd',
811 coreconfigitem('ui', 'remotecmd',
808 default='hg',
812 default='hg',
809 )
813 )
810 coreconfigitem('ui', 'report_untrusted',
814 coreconfigitem('ui', 'report_untrusted',
811 default=True,
815 default=True,
812 )
816 )
813 coreconfigitem('ui', 'rollback',
817 coreconfigitem('ui', 'rollback',
814 default=True,
818 default=True,
815 )
819 )
816 coreconfigitem('ui', 'slash',
820 coreconfigitem('ui', 'slash',
817 default=False,
821 default=False,
818 )
822 )
819 coreconfigitem('ui', 'ssh',
823 coreconfigitem('ui', 'ssh',
820 default='ssh',
824 default='ssh',
821 )
825 )
822 coreconfigitem('ui', 'statuscopies',
826 coreconfigitem('ui', 'statuscopies',
823 default=False,
827 default=False,
824 )
828 )
825 coreconfigitem('ui', 'strict',
829 coreconfigitem('ui', 'strict',
826 default=False,
830 default=False,
827 )
831 )
828 coreconfigitem('ui', 'style',
832 coreconfigitem('ui', 'style',
829 default='',
833 default='',
830 )
834 )
831 coreconfigitem('ui', 'supportcontact',
835 coreconfigitem('ui', 'supportcontact',
832 default=None,
836 default=None,
833 )
837 )
834 coreconfigitem('ui', 'textwidth',
838 coreconfigitem('ui', 'textwidth',
835 default=78,
839 default=78,
836 )
840 )
837 coreconfigitem('ui', 'timeout',
841 coreconfigitem('ui', 'timeout',
838 default='600',
842 default='600',
839 )
843 )
840 coreconfigitem('ui', 'traceback',
844 coreconfigitem('ui', 'traceback',
841 default=False,
845 default=False,
842 )
846 )
843 coreconfigitem('ui', 'tweakdefaults',
847 coreconfigitem('ui', 'tweakdefaults',
844 default=False,
848 default=False,
845 )
849 )
846 coreconfigitem('ui', 'usehttp2',
850 coreconfigitem('ui', 'usehttp2',
847 default=False,
851 default=False,
848 )
852 )
849 coreconfigitem('ui', 'username',
853 coreconfigitem('ui', 'username',
850 alias=[('ui', 'user')]
854 alias=[('ui', 'user')]
851 )
855 )
852 coreconfigitem('ui', 'verbose',
856 coreconfigitem('ui', 'verbose',
853 default=False,
857 default=False,
854 )
858 )
855 coreconfigitem('verify', 'skipflags',
859 coreconfigitem('verify', 'skipflags',
856 default=None,
860 default=None,
857 )
861 )
858 coreconfigitem('web', 'allowbz2',
862 coreconfigitem('web', 'allowbz2',
859 default=False,
863 default=False,
860 )
864 )
861 coreconfigitem('web', 'allowgz',
865 coreconfigitem('web', 'allowgz',
862 default=False,
866 default=False,
863 )
867 )
864 coreconfigitem('web', 'allowpull',
868 coreconfigitem('web', 'allowpull',
865 default=True,
869 default=True,
866 )
870 )
867 coreconfigitem('web', 'allow_push',
871 coreconfigitem('web', 'allow_push',
868 default=list,
872 default=list,
869 )
873 )
870 coreconfigitem('web', 'allowzip',
874 coreconfigitem('web', 'allowzip',
871 default=False,
875 default=False,
872 )
876 )
873 coreconfigitem('web', 'cache',
877 coreconfigitem('web', 'cache',
874 default=True,
878 default=True,
875 )
879 )
876 coreconfigitem('web', 'contact',
880 coreconfigitem('web', 'contact',
877 default=None,
881 default=None,
878 )
882 )
879 coreconfigitem('web', 'deny_push',
883 coreconfigitem('web', 'deny_push',
880 default=list,
884 default=list,
881 )
885 )
882 coreconfigitem('web', 'guessmime',
886 coreconfigitem('web', 'guessmime',
883 default=False,
887 default=False,
884 )
888 )
885 coreconfigitem('web', 'hidden',
889 coreconfigitem('web', 'hidden',
886 default=False,
890 default=False,
887 )
891 )
888 coreconfigitem('web', 'labels',
892 coreconfigitem('web', 'labels',
889 default=list,
893 default=list,
890 )
894 )
891 coreconfigitem('web', 'logoimg',
895 coreconfigitem('web', 'logoimg',
892 default='hglogo.png',
896 default='hglogo.png',
893 )
897 )
894 coreconfigitem('web', 'logourl',
898 coreconfigitem('web', 'logourl',
895 default='https://mercurial-scm.org/',
899 default='https://mercurial-scm.org/',
896 )
900 )
897 coreconfigitem('web', 'accesslog',
901 coreconfigitem('web', 'accesslog',
898 default='-',
902 default='-',
899 )
903 )
900 coreconfigitem('web', 'address',
904 coreconfigitem('web', 'address',
901 default='',
905 default='',
902 )
906 )
903 coreconfigitem('web', 'allow_archive',
907 coreconfigitem('web', 'allow_archive',
904 default=list,
908 default=list,
905 )
909 )
906 coreconfigitem('web', 'allow_read',
910 coreconfigitem('web', 'allow_read',
907 default=list,
911 default=list,
908 )
912 )
909 coreconfigitem('web', 'baseurl',
913 coreconfigitem('web', 'baseurl',
910 default=None,
914 default=None,
911 )
915 )
912 coreconfigitem('web', 'cacerts',
916 coreconfigitem('web', 'cacerts',
913 default=None,
917 default=None,
914 )
918 )
915 coreconfigitem('web', 'certificate',
919 coreconfigitem('web', 'certificate',
916 default=None,
920 default=None,
917 )
921 )
918 coreconfigitem('web', 'collapse',
922 coreconfigitem('web', 'collapse',
919 default=False,
923 default=False,
920 )
924 )
921 coreconfigitem('web', 'csp',
925 coreconfigitem('web', 'csp',
922 default=None,
926 default=None,
923 )
927 )
924 coreconfigitem('web', 'deny_read',
928 coreconfigitem('web', 'deny_read',
925 default=list,
929 default=list,
926 )
930 )
927 coreconfigitem('web', 'descend',
931 coreconfigitem('web', 'descend',
928 default=True,
932 default=True,
929 )
933 )
930 coreconfigitem('web', 'description',
934 coreconfigitem('web', 'description',
931 default="",
935 default="",
932 )
936 )
933 coreconfigitem('web', 'encoding',
937 coreconfigitem('web', 'encoding',
934 default=lambda: encoding.encoding,
938 default=lambda: encoding.encoding,
935 )
939 )
936 coreconfigitem('web', 'errorlog',
940 coreconfigitem('web', 'errorlog',
937 default='-',
941 default='-',
938 )
942 )
939 coreconfigitem('web', 'ipv6',
943 coreconfigitem('web', 'ipv6',
940 default=False,
944 default=False,
941 )
945 )
942 coreconfigitem('web', 'maxchanges',
946 coreconfigitem('web', 'maxchanges',
943 default=10,
947 default=10,
944 )
948 )
945 coreconfigitem('web', 'maxfiles',
949 coreconfigitem('web', 'maxfiles',
946 default=10,
950 default=10,
947 )
951 )
948 coreconfigitem('web', 'maxshortchanges',
952 coreconfigitem('web', 'maxshortchanges',
949 default=60,
953 default=60,
950 )
954 )
951 coreconfigitem('web', 'motd',
955 coreconfigitem('web', 'motd',
952 default='',
956 default='',
953 )
957 )
954 coreconfigitem('web', 'name',
958 coreconfigitem('web', 'name',
955 default=dynamicdefault,
959 default=dynamicdefault,
956 )
960 )
957 coreconfigitem('web', 'port',
961 coreconfigitem('web', 'port',
958 default=8000,
962 default=8000,
959 )
963 )
960 coreconfigitem('web', 'prefix',
964 coreconfigitem('web', 'prefix',
961 default='',
965 default='',
962 )
966 )
963 coreconfigitem('web', 'push_ssl',
967 coreconfigitem('web', 'push_ssl',
964 default=True,
968 default=True,
965 )
969 )
966 coreconfigitem('web', 'refreshinterval',
970 coreconfigitem('web', 'refreshinterval',
967 default=20,
971 default=20,
968 )
972 )
969 coreconfigitem('web', 'staticurl',
973 coreconfigitem('web', 'staticurl',
970 default=None,
974 default=None,
971 )
975 )
972 coreconfigitem('web', 'stripes',
976 coreconfigitem('web', 'stripes',
973 default=1,
977 default=1,
974 )
978 )
975 coreconfigitem('web', 'style',
979 coreconfigitem('web', 'style',
976 default='paper',
980 default='paper',
977 )
981 )
978 coreconfigitem('web', 'templates',
982 coreconfigitem('web', 'templates',
979 default=None,
983 default=None,
980 )
984 )
981 coreconfigitem('web', 'view',
985 coreconfigitem('web', 'view',
982 default='served',
986 default='served',
983 )
987 )
984 coreconfigitem('worker', 'backgroundclose',
988 coreconfigitem('worker', 'backgroundclose',
985 default=dynamicdefault,
989 default=dynamicdefault,
986 )
990 )
987 # Windows defaults to a limit of 512 open files. A buffer of 128
991 # Windows defaults to a limit of 512 open files. A buffer of 128
988 # should give us enough headway.
992 # should give us enough headway.
989 coreconfigitem('worker', 'backgroundclosemaxqueue',
993 coreconfigitem('worker', 'backgroundclosemaxqueue',
990 default=384,
994 default=384,
991 )
995 )
992 coreconfigitem('worker', 'backgroundcloseminfilecount',
996 coreconfigitem('worker', 'backgroundcloseminfilecount',
993 default=2048,
997 default=2048,
994 )
998 )
995 coreconfigitem('worker', 'backgroundclosethreadcount',
999 coreconfigitem('worker', 'backgroundclosethreadcount',
996 default=4,
1000 default=4,
997 )
1001 )
998 coreconfigitem('worker', 'numcpus',
1002 coreconfigitem('worker', 'numcpus',
999 default=None,
1003 default=None,
1000 )
1004 )
General Comments 0
You need to be logged in to leave comments. Login now