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