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