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