##// END OF EJS Templates
nodemap: move and update the commend about persistence being experimental...
marmoute -
r45298:3cfcbb21 default
parent child Browse files
Show More
@@ -1,1582 +1,1573 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 # * decide for a "status" of the persistent nodemap and associated location
411 # - part of the store next the revlog itself (new requirements)
412 # - part of the cache directory
413 # - part of an `index` directory
414 # (https://www.mercurial-scm.org/wiki/ComputedIndexPlan)
415 # * do we want to use this for more than just changelog? if so we need:
416 # - simpler "pending" logic for them
417 # - double check the memory story (we dont want to keep all revlog in memory)
418 # - think about the naming scheme if we are in "cache"
419 # * increment the version format to "1" and freeze it.
420 coreconfigitem(
408 coreconfigitem(
421 b'devel', b'persistent-nodemap', default=False,
409 b'devel', b'persistent-nodemap', default=False,
422 )
410 )
423 coreconfigitem(
411 coreconfigitem(
424 b'devel', b'servercafile', default=b'',
412 b'devel', b'servercafile', default=b'',
425 )
413 )
426 coreconfigitem(
414 coreconfigitem(
427 b'devel', b'serverexactprotocol', default=b'',
415 b'devel', b'serverexactprotocol', default=b'',
428 )
416 )
429 coreconfigitem(
417 coreconfigitem(
430 b'devel', b'serverrequirecert', default=False,
418 b'devel', b'serverrequirecert', default=False,
431 )
419 )
432 coreconfigitem(
420 coreconfigitem(
433 b'devel', b'strip-obsmarkers', default=True,
421 b'devel', b'strip-obsmarkers', default=True,
434 )
422 )
435 coreconfigitem(
423 coreconfigitem(
436 b'devel', b'warn-config', default=None,
424 b'devel', b'warn-config', default=None,
437 )
425 )
438 coreconfigitem(
426 coreconfigitem(
439 b'devel', b'warn-config-default', default=None,
427 b'devel', b'warn-config-default', default=None,
440 )
428 )
441 coreconfigitem(
429 coreconfigitem(
442 b'devel', b'user.obsmarker', default=None,
430 b'devel', b'user.obsmarker', default=None,
443 )
431 )
444 coreconfigitem(
432 coreconfigitem(
445 b'devel', b'warn-config-unknown', default=None,
433 b'devel', b'warn-config-unknown', default=None,
446 )
434 )
447 coreconfigitem(
435 coreconfigitem(
448 b'devel', b'debug.copies', default=False,
436 b'devel', b'debug.copies', default=False,
449 )
437 )
450 coreconfigitem(
438 coreconfigitem(
451 b'devel', b'debug.extensions', default=False,
439 b'devel', b'debug.extensions', default=False,
452 )
440 )
453 coreconfigitem(
441 coreconfigitem(
454 b'devel', b'debug.repo-filters', default=False,
442 b'devel', b'debug.repo-filters', default=False,
455 )
443 )
456 coreconfigitem(
444 coreconfigitem(
457 b'devel', b'debug.peer-request', default=False,
445 b'devel', b'debug.peer-request', default=False,
458 )
446 )
459 coreconfigitem(
447 coreconfigitem(
460 b'devel', b'discovery.randomize', default=True,
448 b'devel', b'discovery.randomize', default=True,
461 )
449 )
462 _registerdiffopts(section=b'diff')
450 _registerdiffopts(section=b'diff')
463 coreconfigitem(
451 coreconfigitem(
464 b'email', b'bcc', default=None,
452 b'email', b'bcc', default=None,
465 )
453 )
466 coreconfigitem(
454 coreconfigitem(
467 b'email', b'cc', default=None,
455 b'email', b'cc', default=None,
468 )
456 )
469 coreconfigitem(
457 coreconfigitem(
470 b'email', b'charsets', default=list,
458 b'email', b'charsets', default=list,
471 )
459 )
472 coreconfigitem(
460 coreconfigitem(
473 b'email', b'from', default=None,
461 b'email', b'from', default=None,
474 )
462 )
475 coreconfigitem(
463 coreconfigitem(
476 b'email', b'method', default=b'smtp',
464 b'email', b'method', default=b'smtp',
477 )
465 )
478 coreconfigitem(
466 coreconfigitem(
479 b'email', b'reply-to', default=None,
467 b'email', b'reply-to', default=None,
480 )
468 )
481 coreconfigitem(
469 coreconfigitem(
482 b'email', b'to', default=None,
470 b'email', b'to', default=None,
483 )
471 )
484 coreconfigitem(
472 coreconfigitem(
485 b'experimental', b'archivemetatemplate', default=dynamicdefault,
473 b'experimental', b'archivemetatemplate', default=dynamicdefault,
486 )
474 )
487 coreconfigitem(
475 coreconfigitem(
488 b'experimental', b'auto-publish', default=b'publish',
476 b'experimental', b'auto-publish', default=b'publish',
489 )
477 )
490 coreconfigitem(
478 coreconfigitem(
491 b'experimental', b'bundle-phases', default=False,
479 b'experimental', b'bundle-phases', default=False,
492 )
480 )
493 coreconfigitem(
481 coreconfigitem(
494 b'experimental', b'bundle2-advertise', default=True,
482 b'experimental', b'bundle2-advertise', default=True,
495 )
483 )
496 coreconfigitem(
484 coreconfigitem(
497 b'experimental', b'bundle2-output-capture', default=False,
485 b'experimental', b'bundle2-output-capture', default=False,
498 )
486 )
499 coreconfigitem(
487 coreconfigitem(
500 b'experimental', b'bundle2.pushback', default=False,
488 b'experimental', b'bundle2.pushback', default=False,
501 )
489 )
502 coreconfigitem(
490 coreconfigitem(
503 b'experimental', b'bundle2lazylocking', default=False,
491 b'experimental', b'bundle2lazylocking', default=False,
504 )
492 )
505 coreconfigitem(
493 coreconfigitem(
506 b'experimental', b'bundlecomplevel', default=None,
494 b'experimental', b'bundlecomplevel', default=None,
507 )
495 )
508 coreconfigitem(
496 coreconfigitem(
509 b'experimental', b'bundlecomplevel.bzip2', default=None,
497 b'experimental', b'bundlecomplevel.bzip2', default=None,
510 )
498 )
511 coreconfigitem(
499 coreconfigitem(
512 b'experimental', b'bundlecomplevel.gzip', default=None,
500 b'experimental', b'bundlecomplevel.gzip', default=None,
513 )
501 )
514 coreconfigitem(
502 coreconfigitem(
515 b'experimental', b'bundlecomplevel.none', default=None,
503 b'experimental', b'bundlecomplevel.none', default=None,
516 )
504 )
517 coreconfigitem(
505 coreconfigitem(
518 b'experimental', b'bundlecomplevel.zstd', default=None,
506 b'experimental', b'bundlecomplevel.zstd', default=None,
519 )
507 )
520 coreconfigitem(
508 coreconfigitem(
521 b'experimental', b'changegroup3', default=False,
509 b'experimental', b'changegroup3', default=False,
522 )
510 )
523 coreconfigitem(
511 coreconfigitem(
524 b'experimental', b'cleanup-as-archived', default=False,
512 b'experimental', b'cleanup-as-archived', default=False,
525 )
513 )
526 coreconfigitem(
514 coreconfigitem(
527 b'experimental', b'clientcompressionengines', default=list,
515 b'experimental', b'clientcompressionengines', default=list,
528 )
516 )
529 coreconfigitem(
517 coreconfigitem(
530 b'experimental', b'copytrace', default=b'on',
518 b'experimental', b'copytrace', default=b'on',
531 )
519 )
532 coreconfigitem(
520 coreconfigitem(
533 b'experimental', b'copytrace.movecandidateslimit', default=100,
521 b'experimental', b'copytrace.movecandidateslimit', default=100,
534 )
522 )
535 coreconfigitem(
523 coreconfigitem(
536 b'experimental', b'copytrace.sourcecommitlimit', default=100,
524 b'experimental', b'copytrace.sourcecommitlimit', default=100,
537 )
525 )
538 coreconfigitem(
526 coreconfigitem(
539 b'experimental', b'copies.read-from', default=b"filelog-only",
527 b'experimental', b'copies.read-from', default=b"filelog-only",
540 )
528 )
541 coreconfigitem(
529 coreconfigitem(
542 b'experimental', b'copies.write-to', default=b'filelog-only',
530 b'experimental', b'copies.write-to', default=b'filelog-only',
543 )
531 )
544 coreconfigitem(
532 coreconfigitem(
545 b'experimental', b'crecordtest', default=None,
533 b'experimental', b'crecordtest', default=None,
546 )
534 )
547 coreconfigitem(
535 coreconfigitem(
548 b'experimental', b'directaccess', default=False,
536 b'experimental', b'directaccess', default=False,
549 )
537 )
550 coreconfigitem(
538 coreconfigitem(
551 b'experimental', b'directaccess.revnums', default=False,
539 b'experimental', b'directaccess.revnums', default=False,
552 )
540 )
553 coreconfigitem(
541 coreconfigitem(
554 b'experimental', b'editortmpinhg', default=False,
542 b'experimental', b'editortmpinhg', default=False,
555 )
543 )
556 coreconfigitem(
544 coreconfigitem(
557 b'experimental', b'evolution', default=list,
545 b'experimental', b'evolution', default=list,
558 )
546 )
559 coreconfigitem(
547 coreconfigitem(
560 b'experimental',
548 b'experimental',
561 b'evolution.allowdivergence',
549 b'evolution.allowdivergence',
562 default=False,
550 default=False,
563 alias=[(b'experimental', b'allowdivergence')],
551 alias=[(b'experimental', b'allowdivergence')],
564 )
552 )
565 coreconfigitem(
553 coreconfigitem(
566 b'experimental', b'evolution.allowunstable', default=None,
554 b'experimental', b'evolution.allowunstable', default=None,
567 )
555 )
568 coreconfigitem(
556 coreconfigitem(
569 b'experimental', b'evolution.createmarkers', default=None,
557 b'experimental', b'evolution.createmarkers', default=None,
570 )
558 )
571 coreconfigitem(
559 coreconfigitem(
572 b'experimental',
560 b'experimental',
573 b'evolution.effect-flags',
561 b'evolution.effect-flags',
574 default=True,
562 default=True,
575 alias=[(b'experimental', b'effect-flags')],
563 alias=[(b'experimental', b'effect-flags')],
576 )
564 )
577 coreconfigitem(
565 coreconfigitem(
578 b'experimental', b'evolution.exchange', default=None,
566 b'experimental', b'evolution.exchange', default=None,
579 )
567 )
580 coreconfigitem(
568 coreconfigitem(
581 b'experimental', b'evolution.bundle-obsmarker', default=False,
569 b'experimental', b'evolution.bundle-obsmarker', default=False,
582 )
570 )
583 coreconfigitem(
571 coreconfigitem(
584 b'experimental', b'log.topo', default=False,
572 b'experimental', b'log.topo', default=False,
585 )
573 )
586 coreconfigitem(
574 coreconfigitem(
587 b'experimental', b'evolution.report-instabilities', default=True,
575 b'experimental', b'evolution.report-instabilities', default=True,
588 )
576 )
589 coreconfigitem(
577 coreconfigitem(
590 b'experimental', b'evolution.track-operation', default=True,
578 b'experimental', b'evolution.track-operation', default=True,
591 )
579 )
592 # repo-level config to exclude a revset visibility
580 # repo-level config to exclude a revset visibility
593 #
581 #
594 # The target use case is to use `share` to expose different subset of the same
582 # The target use case is to use `share` to expose different subset of the same
595 # repository, especially server side. See also `server.view`.
583 # repository, especially server side. See also `server.view`.
596 coreconfigitem(
584 coreconfigitem(
597 b'experimental', b'extra-filter-revs', default=None,
585 b'experimental', b'extra-filter-revs', default=None,
598 )
586 )
599 coreconfigitem(
587 coreconfigitem(
600 b'experimental', b'maxdeltachainspan', default=-1,
588 b'experimental', b'maxdeltachainspan', default=-1,
601 )
589 )
602 coreconfigitem(
590 coreconfigitem(
603 b'experimental', b'mergetempdirprefix', default=None,
591 b'experimental', b'mergetempdirprefix', default=None,
604 )
592 )
605 coreconfigitem(
593 coreconfigitem(
606 b'experimental', b'mmapindexthreshold', default=None,
594 b'experimental', b'mmapindexthreshold', default=None,
607 )
595 )
608 coreconfigitem(
596 coreconfigitem(
609 b'experimental', b'narrow', default=False,
597 b'experimental', b'narrow', default=False,
610 )
598 )
611 coreconfigitem(
599 coreconfigitem(
612 b'experimental', b'nonnormalparanoidcheck', default=False,
600 b'experimental', b'nonnormalparanoidcheck', default=False,
613 )
601 )
614 coreconfigitem(
602 coreconfigitem(
615 b'experimental', b'exportableenviron', default=list,
603 b'experimental', b'exportableenviron', default=list,
616 )
604 )
617 coreconfigitem(
605 coreconfigitem(
618 b'experimental', b'extendedheader.index', default=None,
606 b'experimental', b'extendedheader.index', default=None,
619 )
607 )
620 coreconfigitem(
608 coreconfigitem(
621 b'experimental', b'extendedheader.similarity', default=False,
609 b'experimental', b'extendedheader.similarity', default=False,
622 )
610 )
623 coreconfigitem(
611 coreconfigitem(
624 b'experimental', b'graphshorten', default=False,
612 b'experimental', b'graphshorten', default=False,
625 )
613 )
626 coreconfigitem(
614 coreconfigitem(
627 b'experimental', b'graphstyle.parent', default=dynamicdefault,
615 b'experimental', b'graphstyle.parent', default=dynamicdefault,
628 )
616 )
629 coreconfigitem(
617 coreconfigitem(
630 b'experimental', b'graphstyle.missing', default=dynamicdefault,
618 b'experimental', b'graphstyle.missing', default=dynamicdefault,
631 )
619 )
632 coreconfigitem(
620 coreconfigitem(
633 b'experimental', b'graphstyle.grandparent', default=dynamicdefault,
621 b'experimental', b'graphstyle.grandparent', default=dynamicdefault,
634 )
622 )
635 coreconfigitem(
623 coreconfigitem(
636 b'experimental', b'hook-track-tags', default=False,
624 b'experimental', b'hook-track-tags', default=False,
637 )
625 )
638 coreconfigitem(
626 coreconfigitem(
639 b'experimental', b'httppeer.advertise-v2', default=False,
627 b'experimental', b'httppeer.advertise-v2', default=False,
640 )
628 )
641 coreconfigitem(
629 coreconfigitem(
642 b'experimental', b'httppeer.v2-encoder-order', default=None,
630 b'experimental', b'httppeer.v2-encoder-order', default=None,
643 )
631 )
644 coreconfigitem(
632 coreconfigitem(
645 b'experimental', b'httppostargs', default=False,
633 b'experimental', b'httppostargs', default=False,
646 )
634 )
647 coreconfigitem(
635 coreconfigitem(
648 b'experimental', b'mergedriver', default=None,
636 b'experimental', b'mergedriver', default=None,
649 )
637 )
650 coreconfigitem(b'experimental', b'nointerrupt', default=False)
638 coreconfigitem(b'experimental', b'nointerrupt', default=False)
651 coreconfigitem(b'experimental', b'nointerrupt-interactiveonly', default=True)
639 coreconfigitem(b'experimental', b'nointerrupt-interactiveonly', default=True)
652
640
653 coreconfigitem(
641 coreconfigitem(
654 b'experimental', b'obsmarkers-exchange-debug', default=False,
642 b'experimental', b'obsmarkers-exchange-debug', default=False,
655 )
643 )
656 coreconfigitem(
644 coreconfigitem(
657 b'experimental', b'remotenames', default=False,
645 b'experimental', b'remotenames', default=False,
658 )
646 )
659 coreconfigitem(
647 coreconfigitem(
660 b'experimental', b'removeemptydirs', default=True,
648 b'experimental', b'removeemptydirs', default=True,
661 )
649 )
662 coreconfigitem(
650 coreconfigitem(
663 b'experimental', b'revert.interactive.select-to-keep', default=False,
651 b'experimental', b'revert.interactive.select-to-keep', default=False,
664 )
652 )
665 coreconfigitem(
653 coreconfigitem(
666 b'experimental', b'revisions.prefixhexnode', default=False,
654 b'experimental', b'revisions.prefixhexnode', default=False,
667 )
655 )
668 coreconfigitem(
656 coreconfigitem(
669 b'experimental', b'revlogv2', default=None,
657 b'experimental', b'revlogv2', default=None,
670 )
658 )
671 coreconfigitem(
659 coreconfigitem(
672 b'experimental', b'revisions.disambiguatewithin', default=None,
660 b'experimental', b'revisions.disambiguatewithin', default=None,
673 )
661 )
674 coreconfigitem(
662 coreconfigitem(
675 b'experimental', b'rust.index', default=False,
663 b'experimental', b'rust.index', default=False,
676 )
664 )
677 coreconfigitem(
665 coreconfigitem(
678 b'experimental', b'exp-persistent-nodemap.mmap', default=True,
666 b'experimental', b'exp-persistent-nodemap.mmap', default=True,
679 )
667 )
680 coreconfigitem(
668 coreconfigitem(
681 b'experimental', b'exp-persistent-nodemap.mode', default=b'compat',
669 b'experimental', b'exp-persistent-nodemap.mode', default=b'compat',
682 )
670 )
683 coreconfigitem(
671 coreconfigitem(
684 b'experimental', b'server.filesdata.recommended-batch-size', default=50000,
672 b'experimental', b'server.filesdata.recommended-batch-size', default=50000,
685 )
673 )
686 coreconfigitem(
674 coreconfigitem(
687 b'experimental',
675 b'experimental',
688 b'server.manifestdata.recommended-batch-size',
676 b'server.manifestdata.recommended-batch-size',
689 default=100000,
677 default=100000,
690 )
678 )
691 coreconfigitem(
679 coreconfigitem(
692 b'experimental', b'server.stream-narrow-clones', default=False,
680 b'experimental', b'server.stream-narrow-clones', default=False,
693 )
681 )
694 coreconfigitem(
682 coreconfigitem(
695 b'experimental', b'single-head-per-branch', default=False,
683 b'experimental', b'single-head-per-branch', default=False,
696 )
684 )
697 coreconfigitem(
685 coreconfigitem(
698 b'experimental',
686 b'experimental',
699 b'single-head-per-branch:account-closed-heads',
687 b'single-head-per-branch:account-closed-heads',
700 default=False,
688 default=False,
701 )
689 )
702 coreconfigitem(
690 coreconfigitem(
703 b'experimental', b'sshserver.support-v2', default=False,
691 b'experimental', b'sshserver.support-v2', default=False,
704 )
692 )
705 coreconfigitem(
693 coreconfigitem(
706 b'experimental', b'sparse-read', default=False,
694 b'experimental', b'sparse-read', default=False,
707 )
695 )
708 coreconfigitem(
696 coreconfigitem(
709 b'experimental', b'sparse-read.density-threshold', default=0.50,
697 b'experimental', b'sparse-read.density-threshold', default=0.50,
710 )
698 )
711 coreconfigitem(
699 coreconfigitem(
712 b'experimental', b'sparse-read.min-gap-size', default=b'65K',
700 b'experimental', b'sparse-read.min-gap-size', default=b'65K',
713 )
701 )
714 coreconfigitem(
702 coreconfigitem(
715 b'experimental', b'treemanifest', default=False,
703 b'experimental', b'treemanifest', default=False,
716 )
704 )
717 coreconfigitem(
705 coreconfigitem(
718 b'experimental', b'update.atomic-file', default=False,
706 b'experimental', b'update.atomic-file', default=False,
719 )
707 )
720 coreconfigitem(
708 coreconfigitem(
721 b'experimental', b'sshpeer.advertise-v2', default=False,
709 b'experimental', b'sshpeer.advertise-v2', default=False,
722 )
710 )
723 coreconfigitem(
711 coreconfigitem(
724 b'experimental', b'web.apiserver', default=False,
712 b'experimental', b'web.apiserver', default=False,
725 )
713 )
726 coreconfigitem(
714 coreconfigitem(
727 b'experimental', b'web.api.http-v2', default=False,
715 b'experimental', b'web.api.http-v2', default=False,
728 )
716 )
729 coreconfigitem(
717 coreconfigitem(
730 b'experimental', b'web.api.debugreflect', default=False,
718 b'experimental', b'web.api.debugreflect', default=False,
731 )
719 )
732 coreconfigitem(
720 coreconfigitem(
733 b'experimental', b'worker.wdir-get-thread-safe', default=False,
721 b'experimental', b'worker.wdir-get-thread-safe', default=False,
734 )
722 )
735 coreconfigitem(
723 coreconfigitem(
736 b'experimental', b'worker.repository-upgrade', default=False,
724 b'experimental', b'worker.repository-upgrade', default=False,
737 )
725 )
738 coreconfigitem(
726 coreconfigitem(
739 b'experimental', b'xdiff', default=False,
727 b'experimental', b'xdiff', default=False,
740 )
728 )
741 coreconfigitem(
729 coreconfigitem(
742 b'extensions', b'.*', default=None, generic=True,
730 b'extensions', b'.*', default=None, generic=True,
743 )
731 )
744 coreconfigitem(
732 coreconfigitem(
745 b'extdata', b'.*', default=None, generic=True,
733 b'extdata', b'.*', default=None, generic=True,
746 )
734 )
747 coreconfigitem(
735 coreconfigitem(
748 b'format', b'bookmarks-in-store', default=False,
736 b'format', b'bookmarks-in-store', default=False,
749 )
737 )
750 coreconfigitem(
738 coreconfigitem(
751 b'format', b'chunkcachesize', default=None, experimental=True,
739 b'format', b'chunkcachesize', default=None, experimental=True,
752 )
740 )
753 coreconfigitem(
741 coreconfigitem(
754 b'format', b'dotencode', default=True,
742 b'format', b'dotencode', default=True,
755 )
743 )
756 coreconfigitem(
744 coreconfigitem(
757 b'format', b'generaldelta', default=False, experimental=True,
745 b'format', b'generaldelta', default=False, experimental=True,
758 )
746 )
759 coreconfigitem(
747 coreconfigitem(
760 b'format', b'manifestcachesize', default=None, experimental=True,
748 b'format', b'manifestcachesize', default=None, experimental=True,
761 )
749 )
762 coreconfigitem(
750 coreconfigitem(
763 b'format', b'maxchainlen', default=dynamicdefault, experimental=True,
751 b'format', b'maxchainlen', default=dynamicdefault, experimental=True,
764 )
752 )
765 coreconfigitem(
753 coreconfigitem(
766 b'format', b'obsstore-version', default=None,
754 b'format', b'obsstore-version', default=None,
767 )
755 )
768 coreconfigitem(
756 coreconfigitem(
769 b'format', b'sparse-revlog', default=True,
757 b'format', b'sparse-revlog', default=True,
770 )
758 )
771 coreconfigitem(
759 coreconfigitem(
772 b'format',
760 b'format',
773 b'revlog-compression',
761 b'revlog-compression',
774 default=lambda: [b'zlib'],
762 default=lambda: [b'zlib'],
775 alias=[(b'experimental', b'format.compression')],
763 alias=[(b'experimental', b'format.compression')],
776 )
764 )
777 coreconfigitem(
765 coreconfigitem(
778 b'format', b'usefncache', default=True,
766 b'format', b'usefncache', default=True,
779 )
767 )
780 coreconfigitem(
768 coreconfigitem(
781 b'format', b'usegeneraldelta', default=True,
769 b'format', b'usegeneraldelta', default=True,
782 )
770 )
783 coreconfigitem(
771 coreconfigitem(
784 b'format', b'usestore', default=True,
772 b'format', b'usestore', default=True,
785 )
773 )
774 # Right now, the only efficient implement of the nodemap logic is in Rust, so
775 # the persistent nodemap feature needs to stay experimental as long as the Rust
776 # extensions are an experimental feature.
786 coreconfigitem(
777 coreconfigitem(
787 b'format', b'use-persistent-nodemap', default=False, experimental=True
778 b'format', b'use-persistent-nodemap', default=False, experimental=True
788 )
779 )
789 coreconfigitem(
780 coreconfigitem(
790 b'format',
781 b'format',
791 b'exp-use-copies-side-data-changeset',
782 b'exp-use-copies-side-data-changeset',
792 default=False,
783 default=False,
793 experimental=True,
784 experimental=True,
794 )
785 )
795 coreconfigitem(
786 coreconfigitem(
796 b'format', b'exp-use-side-data', default=False, experimental=True,
787 b'format', b'exp-use-side-data', default=False, experimental=True,
797 )
788 )
798 coreconfigitem(
789 coreconfigitem(
799 b'format', b'internal-phase', default=False, experimental=True,
790 b'format', b'internal-phase', default=False, experimental=True,
800 )
791 )
801 coreconfigitem(
792 coreconfigitem(
802 b'fsmonitor', b'warn_when_unused', default=True,
793 b'fsmonitor', b'warn_when_unused', default=True,
803 )
794 )
804 coreconfigitem(
795 coreconfigitem(
805 b'fsmonitor', b'warn_update_file_count', default=50000,
796 b'fsmonitor', b'warn_update_file_count', default=50000,
806 )
797 )
807 coreconfigitem(
798 coreconfigitem(
808 b'help', br'hidden-command\..*', default=False, generic=True,
799 b'help', br'hidden-command\..*', default=False, generic=True,
809 )
800 )
810 coreconfigitem(
801 coreconfigitem(
811 b'help', br'hidden-topic\..*', default=False, generic=True,
802 b'help', br'hidden-topic\..*', default=False, generic=True,
812 )
803 )
813 coreconfigitem(
804 coreconfigitem(
814 b'hooks', b'.*', default=dynamicdefault, generic=True,
805 b'hooks', b'.*', default=dynamicdefault, generic=True,
815 )
806 )
816 coreconfigitem(
807 coreconfigitem(
817 b'hgweb-paths', b'.*', default=list, generic=True,
808 b'hgweb-paths', b'.*', default=list, generic=True,
818 )
809 )
819 coreconfigitem(
810 coreconfigitem(
820 b'hostfingerprints', b'.*', default=list, generic=True,
811 b'hostfingerprints', b'.*', default=list, generic=True,
821 )
812 )
822 coreconfigitem(
813 coreconfigitem(
823 b'hostsecurity', b'ciphers', default=None,
814 b'hostsecurity', b'ciphers', default=None,
824 )
815 )
825 coreconfigitem(
816 coreconfigitem(
826 b'hostsecurity', b'disabletls10warning', default=False,
817 b'hostsecurity', b'disabletls10warning', default=False,
827 )
818 )
828 coreconfigitem(
819 coreconfigitem(
829 b'hostsecurity', b'minimumprotocol', default=dynamicdefault,
820 b'hostsecurity', b'minimumprotocol', default=dynamicdefault,
830 )
821 )
831 coreconfigitem(
822 coreconfigitem(
832 b'hostsecurity',
823 b'hostsecurity',
833 b'.*:minimumprotocol$',
824 b'.*:minimumprotocol$',
834 default=dynamicdefault,
825 default=dynamicdefault,
835 generic=True,
826 generic=True,
836 )
827 )
837 coreconfigitem(
828 coreconfigitem(
838 b'hostsecurity', b'.*:ciphers$', default=dynamicdefault, generic=True,
829 b'hostsecurity', b'.*:ciphers$', default=dynamicdefault, generic=True,
839 )
830 )
840 coreconfigitem(
831 coreconfigitem(
841 b'hostsecurity', b'.*:fingerprints$', default=list, generic=True,
832 b'hostsecurity', b'.*:fingerprints$', default=list, generic=True,
842 )
833 )
843 coreconfigitem(
834 coreconfigitem(
844 b'hostsecurity', b'.*:verifycertsfile$', default=None, generic=True,
835 b'hostsecurity', b'.*:verifycertsfile$', default=None, generic=True,
845 )
836 )
846
837
847 coreconfigitem(
838 coreconfigitem(
848 b'http_proxy', b'always', default=False,
839 b'http_proxy', b'always', default=False,
849 )
840 )
850 coreconfigitem(
841 coreconfigitem(
851 b'http_proxy', b'host', default=None,
842 b'http_proxy', b'host', default=None,
852 )
843 )
853 coreconfigitem(
844 coreconfigitem(
854 b'http_proxy', b'no', default=list,
845 b'http_proxy', b'no', default=list,
855 )
846 )
856 coreconfigitem(
847 coreconfigitem(
857 b'http_proxy', b'passwd', default=None,
848 b'http_proxy', b'passwd', default=None,
858 )
849 )
859 coreconfigitem(
850 coreconfigitem(
860 b'http_proxy', b'user', default=None,
851 b'http_proxy', b'user', default=None,
861 )
852 )
862
853
863 coreconfigitem(
854 coreconfigitem(
864 b'http', b'timeout', default=None,
855 b'http', b'timeout', default=None,
865 )
856 )
866
857
867 coreconfigitem(
858 coreconfigitem(
868 b'logtoprocess', b'commandexception', default=None,
859 b'logtoprocess', b'commandexception', default=None,
869 )
860 )
870 coreconfigitem(
861 coreconfigitem(
871 b'logtoprocess', b'commandfinish', default=None,
862 b'logtoprocess', b'commandfinish', default=None,
872 )
863 )
873 coreconfigitem(
864 coreconfigitem(
874 b'logtoprocess', b'command', default=None,
865 b'logtoprocess', b'command', default=None,
875 )
866 )
876 coreconfigitem(
867 coreconfigitem(
877 b'logtoprocess', b'develwarn', default=None,
868 b'logtoprocess', b'develwarn', default=None,
878 )
869 )
879 coreconfigitem(
870 coreconfigitem(
880 b'logtoprocess', b'uiblocked', default=None,
871 b'logtoprocess', b'uiblocked', default=None,
881 )
872 )
882 coreconfigitem(
873 coreconfigitem(
883 b'merge', b'checkunknown', default=b'abort',
874 b'merge', b'checkunknown', default=b'abort',
884 )
875 )
885 coreconfigitem(
876 coreconfigitem(
886 b'merge', b'checkignored', default=b'abort',
877 b'merge', b'checkignored', default=b'abort',
887 )
878 )
888 coreconfigitem(
879 coreconfigitem(
889 b'experimental', b'merge.checkpathconflicts', default=False,
880 b'experimental', b'merge.checkpathconflicts', default=False,
890 )
881 )
891 coreconfigitem(
882 coreconfigitem(
892 b'merge', b'followcopies', default=True,
883 b'merge', b'followcopies', default=True,
893 )
884 )
894 coreconfigitem(
885 coreconfigitem(
895 b'merge', b'on-failure', default=b'continue',
886 b'merge', b'on-failure', default=b'continue',
896 )
887 )
897 coreconfigitem(
888 coreconfigitem(
898 b'merge', b'preferancestor', default=lambda: [b'*'], experimental=True,
889 b'merge', b'preferancestor', default=lambda: [b'*'], experimental=True,
899 )
890 )
900 coreconfigitem(
891 coreconfigitem(
901 b'merge', b'strict-capability-check', default=False,
892 b'merge', b'strict-capability-check', default=False,
902 )
893 )
903 coreconfigitem(
894 coreconfigitem(
904 b'merge-tools', b'.*', default=None, generic=True,
895 b'merge-tools', b'.*', default=None, generic=True,
905 )
896 )
906 coreconfigitem(
897 coreconfigitem(
907 b'merge-tools',
898 b'merge-tools',
908 br'.*\.args$',
899 br'.*\.args$',
909 default=b"$local $base $other",
900 default=b"$local $base $other",
910 generic=True,
901 generic=True,
911 priority=-1,
902 priority=-1,
912 )
903 )
913 coreconfigitem(
904 coreconfigitem(
914 b'merge-tools', br'.*\.binary$', default=False, generic=True, priority=-1,
905 b'merge-tools', br'.*\.binary$', default=False, generic=True, priority=-1,
915 )
906 )
916 coreconfigitem(
907 coreconfigitem(
917 b'merge-tools', br'.*\.check$', default=list, generic=True, priority=-1,
908 b'merge-tools', br'.*\.check$', default=list, generic=True, priority=-1,
918 )
909 )
919 coreconfigitem(
910 coreconfigitem(
920 b'merge-tools',
911 b'merge-tools',
921 br'.*\.checkchanged$',
912 br'.*\.checkchanged$',
922 default=False,
913 default=False,
923 generic=True,
914 generic=True,
924 priority=-1,
915 priority=-1,
925 )
916 )
926 coreconfigitem(
917 coreconfigitem(
927 b'merge-tools',
918 b'merge-tools',
928 br'.*\.executable$',
919 br'.*\.executable$',
929 default=dynamicdefault,
920 default=dynamicdefault,
930 generic=True,
921 generic=True,
931 priority=-1,
922 priority=-1,
932 )
923 )
933 coreconfigitem(
924 coreconfigitem(
934 b'merge-tools', br'.*\.fixeol$', default=False, generic=True, priority=-1,
925 b'merge-tools', br'.*\.fixeol$', default=False, generic=True, priority=-1,
935 )
926 )
936 coreconfigitem(
927 coreconfigitem(
937 b'merge-tools', br'.*\.gui$', default=False, generic=True, priority=-1,
928 b'merge-tools', br'.*\.gui$', default=False, generic=True, priority=-1,
938 )
929 )
939 coreconfigitem(
930 coreconfigitem(
940 b'merge-tools',
931 b'merge-tools',
941 br'.*\.mergemarkers$',
932 br'.*\.mergemarkers$',
942 default=b'basic',
933 default=b'basic',
943 generic=True,
934 generic=True,
944 priority=-1,
935 priority=-1,
945 )
936 )
946 coreconfigitem(
937 coreconfigitem(
947 b'merge-tools',
938 b'merge-tools',
948 br'.*\.mergemarkertemplate$',
939 br'.*\.mergemarkertemplate$',
949 default=dynamicdefault, # take from ui.mergemarkertemplate
940 default=dynamicdefault, # take from ui.mergemarkertemplate
950 generic=True,
941 generic=True,
951 priority=-1,
942 priority=-1,
952 )
943 )
953 coreconfigitem(
944 coreconfigitem(
954 b'merge-tools', br'.*\.priority$', default=0, generic=True, priority=-1,
945 b'merge-tools', br'.*\.priority$', default=0, generic=True, priority=-1,
955 )
946 )
956 coreconfigitem(
947 coreconfigitem(
957 b'merge-tools',
948 b'merge-tools',
958 br'.*\.premerge$',
949 br'.*\.premerge$',
959 default=dynamicdefault,
950 default=dynamicdefault,
960 generic=True,
951 generic=True,
961 priority=-1,
952 priority=-1,
962 )
953 )
963 coreconfigitem(
954 coreconfigitem(
964 b'merge-tools', br'.*\.symlink$', default=False, generic=True, priority=-1,
955 b'merge-tools', br'.*\.symlink$', default=False, generic=True, priority=-1,
965 )
956 )
966 coreconfigitem(
957 coreconfigitem(
967 b'pager', b'attend-.*', default=dynamicdefault, generic=True,
958 b'pager', b'attend-.*', default=dynamicdefault, generic=True,
968 )
959 )
969 coreconfigitem(
960 coreconfigitem(
970 b'pager', b'ignore', default=list,
961 b'pager', b'ignore', default=list,
971 )
962 )
972 coreconfigitem(
963 coreconfigitem(
973 b'pager', b'pager', default=dynamicdefault,
964 b'pager', b'pager', default=dynamicdefault,
974 )
965 )
975 coreconfigitem(
966 coreconfigitem(
976 b'patch', b'eol', default=b'strict',
967 b'patch', b'eol', default=b'strict',
977 )
968 )
978 coreconfigitem(
969 coreconfigitem(
979 b'patch', b'fuzz', default=2,
970 b'patch', b'fuzz', default=2,
980 )
971 )
981 coreconfigitem(
972 coreconfigitem(
982 b'paths', b'default', default=None,
973 b'paths', b'default', default=None,
983 )
974 )
984 coreconfigitem(
975 coreconfigitem(
985 b'paths', b'default-push', default=None,
976 b'paths', b'default-push', default=None,
986 )
977 )
987 coreconfigitem(
978 coreconfigitem(
988 b'paths', b'.*', default=None, generic=True,
979 b'paths', b'.*', default=None, generic=True,
989 )
980 )
990 coreconfigitem(
981 coreconfigitem(
991 b'phases', b'checksubrepos', default=b'follow',
982 b'phases', b'checksubrepos', default=b'follow',
992 )
983 )
993 coreconfigitem(
984 coreconfigitem(
994 b'phases', b'new-commit', default=b'draft',
985 b'phases', b'new-commit', default=b'draft',
995 )
986 )
996 coreconfigitem(
987 coreconfigitem(
997 b'phases', b'publish', default=True,
988 b'phases', b'publish', default=True,
998 )
989 )
999 coreconfigitem(
990 coreconfigitem(
1000 b'profiling', b'enabled', default=False,
991 b'profiling', b'enabled', default=False,
1001 )
992 )
1002 coreconfigitem(
993 coreconfigitem(
1003 b'profiling', b'format', default=b'text',
994 b'profiling', b'format', default=b'text',
1004 )
995 )
1005 coreconfigitem(
996 coreconfigitem(
1006 b'profiling', b'freq', default=1000,
997 b'profiling', b'freq', default=1000,
1007 )
998 )
1008 coreconfigitem(
999 coreconfigitem(
1009 b'profiling', b'limit', default=30,
1000 b'profiling', b'limit', default=30,
1010 )
1001 )
1011 coreconfigitem(
1002 coreconfigitem(
1012 b'profiling', b'nested', default=0,
1003 b'profiling', b'nested', default=0,
1013 )
1004 )
1014 coreconfigitem(
1005 coreconfigitem(
1015 b'profiling', b'output', default=None,
1006 b'profiling', b'output', default=None,
1016 )
1007 )
1017 coreconfigitem(
1008 coreconfigitem(
1018 b'profiling', b'showmax', default=0.999,
1009 b'profiling', b'showmax', default=0.999,
1019 )
1010 )
1020 coreconfigitem(
1011 coreconfigitem(
1021 b'profiling', b'showmin', default=dynamicdefault,
1012 b'profiling', b'showmin', default=dynamicdefault,
1022 )
1013 )
1023 coreconfigitem(
1014 coreconfigitem(
1024 b'profiling', b'showtime', default=True,
1015 b'profiling', b'showtime', default=True,
1025 )
1016 )
1026 coreconfigitem(
1017 coreconfigitem(
1027 b'profiling', b'sort', default=b'inlinetime',
1018 b'profiling', b'sort', default=b'inlinetime',
1028 )
1019 )
1029 coreconfigitem(
1020 coreconfigitem(
1030 b'profiling', b'statformat', default=b'hotpath',
1021 b'profiling', b'statformat', default=b'hotpath',
1031 )
1022 )
1032 coreconfigitem(
1023 coreconfigitem(
1033 b'profiling', b'time-track', default=dynamicdefault,
1024 b'profiling', b'time-track', default=dynamicdefault,
1034 )
1025 )
1035 coreconfigitem(
1026 coreconfigitem(
1036 b'profiling', b'type', default=b'stat',
1027 b'profiling', b'type', default=b'stat',
1037 )
1028 )
1038 coreconfigitem(
1029 coreconfigitem(
1039 b'progress', b'assume-tty', default=False,
1030 b'progress', b'assume-tty', default=False,
1040 )
1031 )
1041 coreconfigitem(
1032 coreconfigitem(
1042 b'progress', b'changedelay', default=1,
1033 b'progress', b'changedelay', default=1,
1043 )
1034 )
1044 coreconfigitem(
1035 coreconfigitem(
1045 b'progress', b'clear-complete', default=True,
1036 b'progress', b'clear-complete', default=True,
1046 )
1037 )
1047 coreconfigitem(
1038 coreconfigitem(
1048 b'progress', b'debug', default=False,
1039 b'progress', b'debug', default=False,
1049 )
1040 )
1050 coreconfigitem(
1041 coreconfigitem(
1051 b'progress', b'delay', default=3,
1042 b'progress', b'delay', default=3,
1052 )
1043 )
1053 coreconfigitem(
1044 coreconfigitem(
1054 b'progress', b'disable', default=False,
1045 b'progress', b'disable', default=False,
1055 )
1046 )
1056 coreconfigitem(
1047 coreconfigitem(
1057 b'progress', b'estimateinterval', default=60.0,
1048 b'progress', b'estimateinterval', default=60.0,
1058 )
1049 )
1059 coreconfigitem(
1050 coreconfigitem(
1060 b'progress',
1051 b'progress',
1061 b'format',
1052 b'format',
1062 default=lambda: [b'topic', b'bar', b'number', b'estimate'],
1053 default=lambda: [b'topic', b'bar', b'number', b'estimate'],
1063 )
1054 )
1064 coreconfigitem(
1055 coreconfigitem(
1065 b'progress', b'refresh', default=0.1,
1056 b'progress', b'refresh', default=0.1,
1066 )
1057 )
1067 coreconfigitem(
1058 coreconfigitem(
1068 b'progress', b'width', default=dynamicdefault,
1059 b'progress', b'width', default=dynamicdefault,
1069 )
1060 )
1070 coreconfigitem(
1061 coreconfigitem(
1071 b'pull', b'confirm', default=False,
1062 b'pull', b'confirm', default=False,
1072 )
1063 )
1073 coreconfigitem(
1064 coreconfigitem(
1074 b'push', b'pushvars.server', default=False,
1065 b'push', b'pushvars.server', default=False,
1075 )
1066 )
1076 coreconfigitem(
1067 coreconfigitem(
1077 b'rewrite',
1068 b'rewrite',
1078 b'backup-bundle',
1069 b'backup-bundle',
1079 default=True,
1070 default=True,
1080 alias=[(b'ui', b'history-editing-backup')],
1071 alias=[(b'ui', b'history-editing-backup')],
1081 )
1072 )
1082 coreconfigitem(
1073 coreconfigitem(
1083 b'rewrite', b'update-timestamp', default=False,
1074 b'rewrite', b'update-timestamp', default=False,
1084 )
1075 )
1085 coreconfigitem(
1076 coreconfigitem(
1086 b'storage', b'new-repo-backend', default=b'revlogv1', experimental=True,
1077 b'storage', b'new-repo-backend', default=b'revlogv1', experimental=True,
1087 )
1078 )
1088 coreconfigitem(
1079 coreconfigitem(
1089 b'storage',
1080 b'storage',
1090 b'revlog.optimize-delta-parent-choice',
1081 b'revlog.optimize-delta-parent-choice',
1091 default=True,
1082 default=True,
1092 alias=[(b'format', b'aggressivemergedeltas')],
1083 alias=[(b'format', b'aggressivemergedeltas')],
1093 )
1084 )
1094 coreconfigitem(
1085 coreconfigitem(
1095 b'storage', b'revlog.reuse-external-delta', default=True,
1086 b'storage', b'revlog.reuse-external-delta', default=True,
1096 )
1087 )
1097 coreconfigitem(
1088 coreconfigitem(
1098 b'storage', b'revlog.reuse-external-delta-parent', default=None,
1089 b'storage', b'revlog.reuse-external-delta-parent', default=None,
1099 )
1090 )
1100 coreconfigitem(
1091 coreconfigitem(
1101 b'storage', b'revlog.zlib.level', default=None,
1092 b'storage', b'revlog.zlib.level', default=None,
1102 )
1093 )
1103 coreconfigitem(
1094 coreconfigitem(
1104 b'storage', b'revlog.zstd.level', default=None,
1095 b'storage', b'revlog.zstd.level', default=None,
1105 )
1096 )
1106 coreconfigitem(
1097 coreconfigitem(
1107 b'server', b'bookmarks-pushkey-compat', default=True,
1098 b'server', b'bookmarks-pushkey-compat', default=True,
1108 )
1099 )
1109 coreconfigitem(
1100 coreconfigitem(
1110 b'server', b'bundle1', default=True,
1101 b'server', b'bundle1', default=True,
1111 )
1102 )
1112 coreconfigitem(
1103 coreconfigitem(
1113 b'server', b'bundle1gd', default=None,
1104 b'server', b'bundle1gd', default=None,
1114 )
1105 )
1115 coreconfigitem(
1106 coreconfigitem(
1116 b'server', b'bundle1.pull', default=None,
1107 b'server', b'bundle1.pull', default=None,
1117 )
1108 )
1118 coreconfigitem(
1109 coreconfigitem(
1119 b'server', b'bundle1gd.pull', default=None,
1110 b'server', b'bundle1gd.pull', default=None,
1120 )
1111 )
1121 coreconfigitem(
1112 coreconfigitem(
1122 b'server', b'bundle1.push', default=None,
1113 b'server', b'bundle1.push', default=None,
1123 )
1114 )
1124 coreconfigitem(
1115 coreconfigitem(
1125 b'server', b'bundle1gd.push', default=None,
1116 b'server', b'bundle1gd.push', default=None,
1126 )
1117 )
1127 coreconfigitem(
1118 coreconfigitem(
1128 b'server',
1119 b'server',
1129 b'bundle2.stream',
1120 b'bundle2.stream',
1130 default=True,
1121 default=True,
1131 alias=[(b'experimental', b'bundle2.stream')],
1122 alias=[(b'experimental', b'bundle2.stream')],
1132 )
1123 )
1133 coreconfigitem(
1124 coreconfigitem(
1134 b'server', b'compressionengines', default=list,
1125 b'server', b'compressionengines', default=list,
1135 )
1126 )
1136 coreconfigitem(
1127 coreconfigitem(
1137 b'server', b'concurrent-push-mode', default=b'check-related',
1128 b'server', b'concurrent-push-mode', default=b'check-related',
1138 )
1129 )
1139 coreconfigitem(
1130 coreconfigitem(
1140 b'server', b'disablefullbundle', default=False,
1131 b'server', b'disablefullbundle', default=False,
1141 )
1132 )
1142 coreconfigitem(
1133 coreconfigitem(
1143 b'server', b'maxhttpheaderlen', default=1024,
1134 b'server', b'maxhttpheaderlen', default=1024,
1144 )
1135 )
1145 coreconfigitem(
1136 coreconfigitem(
1146 b'server', b'pullbundle', default=False,
1137 b'server', b'pullbundle', default=False,
1147 )
1138 )
1148 coreconfigitem(
1139 coreconfigitem(
1149 b'server', b'preferuncompressed', default=False,
1140 b'server', b'preferuncompressed', default=False,
1150 )
1141 )
1151 coreconfigitem(
1142 coreconfigitem(
1152 b'server', b'streamunbundle', default=False,
1143 b'server', b'streamunbundle', default=False,
1153 )
1144 )
1154 coreconfigitem(
1145 coreconfigitem(
1155 b'server', b'uncompressed', default=True,
1146 b'server', b'uncompressed', default=True,
1156 )
1147 )
1157 coreconfigitem(
1148 coreconfigitem(
1158 b'server', b'uncompressedallowsecret', default=False,
1149 b'server', b'uncompressedallowsecret', default=False,
1159 )
1150 )
1160 coreconfigitem(
1151 coreconfigitem(
1161 b'server', b'view', default=b'served',
1152 b'server', b'view', default=b'served',
1162 )
1153 )
1163 coreconfigitem(
1154 coreconfigitem(
1164 b'server', b'validate', default=False,
1155 b'server', b'validate', default=False,
1165 )
1156 )
1166 coreconfigitem(
1157 coreconfigitem(
1167 b'server', b'zliblevel', default=-1,
1158 b'server', b'zliblevel', default=-1,
1168 )
1159 )
1169 coreconfigitem(
1160 coreconfigitem(
1170 b'server', b'zstdlevel', default=3,
1161 b'server', b'zstdlevel', default=3,
1171 )
1162 )
1172 coreconfigitem(
1163 coreconfigitem(
1173 b'share', b'pool', default=None,
1164 b'share', b'pool', default=None,
1174 )
1165 )
1175 coreconfigitem(
1166 coreconfigitem(
1176 b'share', b'poolnaming', default=b'identity',
1167 b'share', b'poolnaming', default=b'identity',
1177 )
1168 )
1178 coreconfigitem(
1169 coreconfigitem(
1179 b'shelve', b'maxbackups', default=10,
1170 b'shelve', b'maxbackups', default=10,
1180 )
1171 )
1181 coreconfigitem(
1172 coreconfigitem(
1182 b'smtp', b'host', default=None,
1173 b'smtp', b'host', default=None,
1183 )
1174 )
1184 coreconfigitem(
1175 coreconfigitem(
1185 b'smtp', b'local_hostname', default=None,
1176 b'smtp', b'local_hostname', default=None,
1186 )
1177 )
1187 coreconfigitem(
1178 coreconfigitem(
1188 b'smtp', b'password', default=None,
1179 b'smtp', b'password', default=None,
1189 )
1180 )
1190 coreconfigitem(
1181 coreconfigitem(
1191 b'smtp', b'port', default=dynamicdefault,
1182 b'smtp', b'port', default=dynamicdefault,
1192 )
1183 )
1193 coreconfigitem(
1184 coreconfigitem(
1194 b'smtp', b'tls', default=b'none',
1185 b'smtp', b'tls', default=b'none',
1195 )
1186 )
1196 coreconfigitem(
1187 coreconfigitem(
1197 b'smtp', b'username', default=None,
1188 b'smtp', b'username', default=None,
1198 )
1189 )
1199 coreconfigitem(
1190 coreconfigitem(
1200 b'sparse', b'missingwarning', default=True, experimental=True,
1191 b'sparse', b'missingwarning', default=True, experimental=True,
1201 )
1192 )
1202 coreconfigitem(
1193 coreconfigitem(
1203 b'subrepos',
1194 b'subrepos',
1204 b'allowed',
1195 b'allowed',
1205 default=dynamicdefault, # to make backporting simpler
1196 default=dynamicdefault, # to make backporting simpler
1206 )
1197 )
1207 coreconfigitem(
1198 coreconfigitem(
1208 b'subrepos', b'hg:allowed', default=dynamicdefault,
1199 b'subrepos', b'hg:allowed', default=dynamicdefault,
1209 )
1200 )
1210 coreconfigitem(
1201 coreconfigitem(
1211 b'subrepos', b'git:allowed', default=dynamicdefault,
1202 b'subrepos', b'git:allowed', default=dynamicdefault,
1212 )
1203 )
1213 coreconfigitem(
1204 coreconfigitem(
1214 b'subrepos', b'svn:allowed', default=dynamicdefault,
1205 b'subrepos', b'svn:allowed', default=dynamicdefault,
1215 )
1206 )
1216 coreconfigitem(
1207 coreconfigitem(
1217 b'templates', b'.*', default=None, generic=True,
1208 b'templates', b'.*', default=None, generic=True,
1218 )
1209 )
1219 coreconfigitem(
1210 coreconfigitem(
1220 b'templateconfig', b'.*', default=dynamicdefault, generic=True,
1211 b'templateconfig', b'.*', default=dynamicdefault, generic=True,
1221 )
1212 )
1222 coreconfigitem(
1213 coreconfigitem(
1223 b'trusted', b'groups', default=list,
1214 b'trusted', b'groups', default=list,
1224 )
1215 )
1225 coreconfigitem(
1216 coreconfigitem(
1226 b'trusted', b'users', default=list,
1217 b'trusted', b'users', default=list,
1227 )
1218 )
1228 coreconfigitem(
1219 coreconfigitem(
1229 b'ui', b'_usedassubrepo', default=False,
1220 b'ui', b'_usedassubrepo', default=False,
1230 )
1221 )
1231 coreconfigitem(
1222 coreconfigitem(
1232 b'ui', b'allowemptycommit', default=False,
1223 b'ui', b'allowemptycommit', default=False,
1233 )
1224 )
1234 coreconfigitem(
1225 coreconfigitem(
1235 b'ui', b'archivemeta', default=True,
1226 b'ui', b'archivemeta', default=True,
1236 )
1227 )
1237 coreconfigitem(
1228 coreconfigitem(
1238 b'ui', b'askusername', default=False,
1229 b'ui', b'askusername', default=False,
1239 )
1230 )
1240 coreconfigitem(
1231 coreconfigitem(
1241 b'ui', b'clonebundlefallback', default=False,
1232 b'ui', b'clonebundlefallback', default=False,
1242 )
1233 )
1243 coreconfigitem(
1234 coreconfigitem(
1244 b'ui', b'clonebundleprefers', default=list,
1235 b'ui', b'clonebundleprefers', default=list,
1245 )
1236 )
1246 coreconfigitem(
1237 coreconfigitem(
1247 b'ui', b'clonebundles', default=True,
1238 b'ui', b'clonebundles', default=True,
1248 )
1239 )
1249 coreconfigitem(
1240 coreconfigitem(
1250 b'ui', b'color', default=b'auto',
1241 b'ui', b'color', default=b'auto',
1251 )
1242 )
1252 coreconfigitem(
1243 coreconfigitem(
1253 b'ui', b'commitsubrepos', default=False,
1244 b'ui', b'commitsubrepos', default=False,
1254 )
1245 )
1255 coreconfigitem(
1246 coreconfigitem(
1256 b'ui', b'debug', default=False,
1247 b'ui', b'debug', default=False,
1257 )
1248 )
1258 coreconfigitem(
1249 coreconfigitem(
1259 b'ui', b'debugger', default=None,
1250 b'ui', b'debugger', default=None,
1260 )
1251 )
1261 coreconfigitem(
1252 coreconfigitem(
1262 b'ui', b'editor', default=dynamicdefault,
1253 b'ui', b'editor', default=dynamicdefault,
1263 )
1254 )
1264 coreconfigitem(
1255 coreconfigitem(
1265 b'ui', b'fallbackencoding', default=None,
1256 b'ui', b'fallbackencoding', default=None,
1266 )
1257 )
1267 coreconfigitem(
1258 coreconfigitem(
1268 b'ui', b'forcecwd', default=None,
1259 b'ui', b'forcecwd', default=None,
1269 )
1260 )
1270 coreconfigitem(
1261 coreconfigitem(
1271 b'ui', b'forcemerge', default=None,
1262 b'ui', b'forcemerge', default=None,
1272 )
1263 )
1273 coreconfigitem(
1264 coreconfigitem(
1274 b'ui', b'formatdebug', default=False,
1265 b'ui', b'formatdebug', default=False,
1275 )
1266 )
1276 coreconfigitem(
1267 coreconfigitem(
1277 b'ui', b'formatjson', default=False,
1268 b'ui', b'formatjson', default=False,
1278 )
1269 )
1279 coreconfigitem(
1270 coreconfigitem(
1280 b'ui', b'formatted', default=None,
1271 b'ui', b'formatted', default=None,
1281 )
1272 )
1282 coreconfigitem(
1273 coreconfigitem(
1283 b'ui', b'graphnodetemplate', default=None,
1274 b'ui', b'graphnodetemplate', default=None,
1284 )
1275 )
1285 coreconfigitem(
1276 coreconfigitem(
1286 b'ui', b'interactive', default=None,
1277 b'ui', b'interactive', default=None,
1287 )
1278 )
1288 coreconfigitem(
1279 coreconfigitem(
1289 b'ui', b'interface', default=None,
1280 b'ui', b'interface', default=None,
1290 )
1281 )
1291 coreconfigitem(
1282 coreconfigitem(
1292 b'ui', b'interface.chunkselector', default=None,
1283 b'ui', b'interface.chunkselector', default=None,
1293 )
1284 )
1294 coreconfigitem(
1285 coreconfigitem(
1295 b'ui', b'large-file-limit', default=10000000,
1286 b'ui', b'large-file-limit', default=10000000,
1296 )
1287 )
1297 coreconfigitem(
1288 coreconfigitem(
1298 b'ui', b'logblockedtimes', default=False,
1289 b'ui', b'logblockedtimes', default=False,
1299 )
1290 )
1300 coreconfigitem(
1291 coreconfigitem(
1301 b'ui', b'logtemplate', default=None,
1292 b'ui', b'logtemplate', default=None,
1302 )
1293 )
1303 coreconfigitem(
1294 coreconfigitem(
1304 b'ui', b'merge', default=None,
1295 b'ui', b'merge', default=None,
1305 )
1296 )
1306 coreconfigitem(
1297 coreconfigitem(
1307 b'ui', b'mergemarkers', default=b'basic',
1298 b'ui', b'mergemarkers', default=b'basic',
1308 )
1299 )
1309 coreconfigitem(
1300 coreconfigitem(
1310 b'ui',
1301 b'ui',
1311 b'mergemarkertemplate',
1302 b'mergemarkertemplate',
1312 default=(
1303 default=(
1313 b'{node|short} '
1304 b'{node|short} '
1314 b'{ifeq(tags, "tip", "", '
1305 b'{ifeq(tags, "tip", "", '
1315 b'ifeq(tags, "", "", "{tags} "))}'
1306 b'ifeq(tags, "", "", "{tags} "))}'
1316 b'{if(bookmarks, "{bookmarks} ")}'
1307 b'{if(bookmarks, "{bookmarks} ")}'
1317 b'{ifeq(branch, "default", "", "{branch} ")}'
1308 b'{ifeq(branch, "default", "", "{branch} ")}'
1318 b'- {author|user}: {desc|firstline}'
1309 b'- {author|user}: {desc|firstline}'
1319 ),
1310 ),
1320 )
1311 )
1321 coreconfigitem(
1312 coreconfigitem(
1322 b'ui', b'message-output', default=b'stdio',
1313 b'ui', b'message-output', default=b'stdio',
1323 )
1314 )
1324 coreconfigitem(
1315 coreconfigitem(
1325 b'ui', b'nontty', default=False,
1316 b'ui', b'nontty', default=False,
1326 )
1317 )
1327 coreconfigitem(
1318 coreconfigitem(
1328 b'ui', b'origbackuppath', default=None,
1319 b'ui', b'origbackuppath', default=None,
1329 )
1320 )
1330 coreconfigitem(
1321 coreconfigitem(
1331 b'ui', b'paginate', default=True,
1322 b'ui', b'paginate', default=True,
1332 )
1323 )
1333 coreconfigitem(
1324 coreconfigitem(
1334 b'ui', b'patch', default=None,
1325 b'ui', b'patch', default=None,
1335 )
1326 )
1336 coreconfigitem(
1327 coreconfigitem(
1337 b'ui', b'pre-merge-tool-output-template', default=None,
1328 b'ui', b'pre-merge-tool-output-template', default=None,
1338 )
1329 )
1339 coreconfigitem(
1330 coreconfigitem(
1340 b'ui', b'portablefilenames', default=b'warn',
1331 b'ui', b'portablefilenames', default=b'warn',
1341 )
1332 )
1342 coreconfigitem(
1333 coreconfigitem(
1343 b'ui', b'promptecho', default=False,
1334 b'ui', b'promptecho', default=False,
1344 )
1335 )
1345 coreconfigitem(
1336 coreconfigitem(
1346 b'ui', b'quiet', default=False,
1337 b'ui', b'quiet', default=False,
1347 )
1338 )
1348 coreconfigitem(
1339 coreconfigitem(
1349 b'ui', b'quietbookmarkmove', default=False,
1340 b'ui', b'quietbookmarkmove', default=False,
1350 )
1341 )
1351 coreconfigitem(
1342 coreconfigitem(
1352 b'ui', b'relative-paths', default=b'legacy',
1343 b'ui', b'relative-paths', default=b'legacy',
1353 )
1344 )
1354 coreconfigitem(
1345 coreconfigitem(
1355 b'ui', b'remotecmd', default=b'hg',
1346 b'ui', b'remotecmd', default=b'hg',
1356 )
1347 )
1357 coreconfigitem(
1348 coreconfigitem(
1358 b'ui', b'report_untrusted', default=True,
1349 b'ui', b'report_untrusted', default=True,
1359 )
1350 )
1360 coreconfigitem(
1351 coreconfigitem(
1361 b'ui', b'rollback', default=True,
1352 b'ui', b'rollback', default=True,
1362 )
1353 )
1363 coreconfigitem(
1354 coreconfigitem(
1364 b'ui', b'signal-safe-lock', default=True,
1355 b'ui', b'signal-safe-lock', default=True,
1365 )
1356 )
1366 coreconfigitem(
1357 coreconfigitem(
1367 b'ui', b'slash', default=False,
1358 b'ui', b'slash', default=False,
1368 )
1359 )
1369 coreconfigitem(
1360 coreconfigitem(
1370 b'ui', b'ssh', default=b'ssh',
1361 b'ui', b'ssh', default=b'ssh',
1371 )
1362 )
1372 coreconfigitem(
1363 coreconfigitem(
1373 b'ui', b'ssherrorhint', default=None,
1364 b'ui', b'ssherrorhint', default=None,
1374 )
1365 )
1375 coreconfigitem(
1366 coreconfigitem(
1376 b'ui', b'statuscopies', default=False,
1367 b'ui', b'statuscopies', default=False,
1377 )
1368 )
1378 coreconfigitem(
1369 coreconfigitem(
1379 b'ui', b'strict', default=False,
1370 b'ui', b'strict', default=False,
1380 )
1371 )
1381 coreconfigitem(
1372 coreconfigitem(
1382 b'ui', b'style', default=b'',
1373 b'ui', b'style', default=b'',
1383 )
1374 )
1384 coreconfigitem(
1375 coreconfigitem(
1385 b'ui', b'supportcontact', default=None,
1376 b'ui', b'supportcontact', default=None,
1386 )
1377 )
1387 coreconfigitem(
1378 coreconfigitem(
1388 b'ui', b'textwidth', default=78,
1379 b'ui', b'textwidth', default=78,
1389 )
1380 )
1390 coreconfigitem(
1381 coreconfigitem(
1391 b'ui', b'timeout', default=b'600',
1382 b'ui', b'timeout', default=b'600',
1392 )
1383 )
1393 coreconfigitem(
1384 coreconfigitem(
1394 b'ui', b'timeout.warn', default=0,
1385 b'ui', b'timeout.warn', default=0,
1395 )
1386 )
1396 coreconfigitem(
1387 coreconfigitem(
1397 b'ui', b'traceback', default=False,
1388 b'ui', b'traceback', default=False,
1398 )
1389 )
1399 coreconfigitem(
1390 coreconfigitem(
1400 b'ui', b'tweakdefaults', default=False,
1391 b'ui', b'tweakdefaults', default=False,
1401 )
1392 )
1402 coreconfigitem(b'ui', b'username', alias=[(b'ui', b'user')])
1393 coreconfigitem(b'ui', b'username', alias=[(b'ui', b'user')])
1403 coreconfigitem(
1394 coreconfigitem(
1404 b'ui', b'verbose', default=False,
1395 b'ui', b'verbose', default=False,
1405 )
1396 )
1406 coreconfigitem(
1397 coreconfigitem(
1407 b'verify', b'skipflags', default=None,
1398 b'verify', b'skipflags', default=None,
1408 )
1399 )
1409 coreconfigitem(
1400 coreconfigitem(
1410 b'web', b'allowbz2', default=False,
1401 b'web', b'allowbz2', default=False,
1411 )
1402 )
1412 coreconfigitem(
1403 coreconfigitem(
1413 b'web', b'allowgz', default=False,
1404 b'web', b'allowgz', default=False,
1414 )
1405 )
1415 coreconfigitem(
1406 coreconfigitem(
1416 b'web', b'allow-pull', alias=[(b'web', b'allowpull')], default=True,
1407 b'web', b'allow-pull', alias=[(b'web', b'allowpull')], default=True,
1417 )
1408 )
1418 coreconfigitem(
1409 coreconfigitem(
1419 b'web', b'allow-push', alias=[(b'web', b'allow_push')], default=list,
1410 b'web', b'allow-push', alias=[(b'web', b'allow_push')], default=list,
1420 )
1411 )
1421 coreconfigitem(
1412 coreconfigitem(
1422 b'web', b'allowzip', default=False,
1413 b'web', b'allowzip', default=False,
1423 )
1414 )
1424 coreconfigitem(
1415 coreconfigitem(
1425 b'web', b'archivesubrepos', default=False,
1416 b'web', b'archivesubrepos', default=False,
1426 )
1417 )
1427 coreconfigitem(
1418 coreconfigitem(
1428 b'web', b'cache', default=True,
1419 b'web', b'cache', default=True,
1429 )
1420 )
1430 coreconfigitem(
1421 coreconfigitem(
1431 b'web', b'comparisoncontext', default=5,
1422 b'web', b'comparisoncontext', default=5,
1432 )
1423 )
1433 coreconfigitem(
1424 coreconfigitem(
1434 b'web', b'contact', default=None,
1425 b'web', b'contact', default=None,
1435 )
1426 )
1436 coreconfigitem(
1427 coreconfigitem(
1437 b'web', b'deny_push', default=list,
1428 b'web', b'deny_push', default=list,
1438 )
1429 )
1439 coreconfigitem(
1430 coreconfigitem(
1440 b'web', b'guessmime', default=False,
1431 b'web', b'guessmime', default=False,
1441 )
1432 )
1442 coreconfigitem(
1433 coreconfigitem(
1443 b'web', b'hidden', default=False,
1434 b'web', b'hidden', default=False,
1444 )
1435 )
1445 coreconfigitem(
1436 coreconfigitem(
1446 b'web', b'labels', default=list,
1437 b'web', b'labels', default=list,
1447 )
1438 )
1448 coreconfigitem(
1439 coreconfigitem(
1449 b'web', b'logoimg', default=b'hglogo.png',
1440 b'web', b'logoimg', default=b'hglogo.png',
1450 )
1441 )
1451 coreconfigitem(
1442 coreconfigitem(
1452 b'web', b'logourl', default=b'https://mercurial-scm.org/',
1443 b'web', b'logourl', default=b'https://mercurial-scm.org/',
1453 )
1444 )
1454 coreconfigitem(
1445 coreconfigitem(
1455 b'web', b'accesslog', default=b'-',
1446 b'web', b'accesslog', default=b'-',
1456 )
1447 )
1457 coreconfigitem(
1448 coreconfigitem(
1458 b'web', b'address', default=b'',
1449 b'web', b'address', default=b'',
1459 )
1450 )
1460 coreconfigitem(
1451 coreconfigitem(
1461 b'web', b'allow-archive', alias=[(b'web', b'allow_archive')], default=list,
1452 b'web', b'allow-archive', alias=[(b'web', b'allow_archive')], default=list,
1462 )
1453 )
1463 coreconfigitem(
1454 coreconfigitem(
1464 b'web', b'allow_read', default=list,
1455 b'web', b'allow_read', default=list,
1465 )
1456 )
1466 coreconfigitem(
1457 coreconfigitem(
1467 b'web', b'baseurl', default=None,
1458 b'web', b'baseurl', default=None,
1468 )
1459 )
1469 coreconfigitem(
1460 coreconfigitem(
1470 b'web', b'cacerts', default=None,
1461 b'web', b'cacerts', default=None,
1471 )
1462 )
1472 coreconfigitem(
1463 coreconfigitem(
1473 b'web', b'certificate', default=None,
1464 b'web', b'certificate', default=None,
1474 )
1465 )
1475 coreconfigitem(
1466 coreconfigitem(
1476 b'web', b'collapse', default=False,
1467 b'web', b'collapse', default=False,
1477 )
1468 )
1478 coreconfigitem(
1469 coreconfigitem(
1479 b'web', b'csp', default=None,
1470 b'web', b'csp', default=None,
1480 )
1471 )
1481 coreconfigitem(
1472 coreconfigitem(
1482 b'web', b'deny_read', default=list,
1473 b'web', b'deny_read', default=list,
1483 )
1474 )
1484 coreconfigitem(
1475 coreconfigitem(
1485 b'web', b'descend', default=True,
1476 b'web', b'descend', default=True,
1486 )
1477 )
1487 coreconfigitem(
1478 coreconfigitem(
1488 b'web', b'description', default=b"",
1479 b'web', b'description', default=b"",
1489 )
1480 )
1490 coreconfigitem(
1481 coreconfigitem(
1491 b'web', b'encoding', default=lambda: encoding.encoding,
1482 b'web', b'encoding', default=lambda: encoding.encoding,
1492 )
1483 )
1493 coreconfigitem(
1484 coreconfigitem(
1494 b'web', b'errorlog', default=b'-',
1485 b'web', b'errorlog', default=b'-',
1495 )
1486 )
1496 coreconfigitem(
1487 coreconfigitem(
1497 b'web', b'ipv6', default=False,
1488 b'web', b'ipv6', default=False,
1498 )
1489 )
1499 coreconfigitem(
1490 coreconfigitem(
1500 b'web', b'maxchanges', default=10,
1491 b'web', b'maxchanges', default=10,
1501 )
1492 )
1502 coreconfigitem(
1493 coreconfigitem(
1503 b'web', b'maxfiles', default=10,
1494 b'web', b'maxfiles', default=10,
1504 )
1495 )
1505 coreconfigitem(
1496 coreconfigitem(
1506 b'web', b'maxshortchanges', default=60,
1497 b'web', b'maxshortchanges', default=60,
1507 )
1498 )
1508 coreconfigitem(
1499 coreconfigitem(
1509 b'web', b'motd', default=b'',
1500 b'web', b'motd', default=b'',
1510 )
1501 )
1511 coreconfigitem(
1502 coreconfigitem(
1512 b'web', b'name', default=dynamicdefault,
1503 b'web', b'name', default=dynamicdefault,
1513 )
1504 )
1514 coreconfigitem(
1505 coreconfigitem(
1515 b'web', b'port', default=8000,
1506 b'web', b'port', default=8000,
1516 )
1507 )
1517 coreconfigitem(
1508 coreconfigitem(
1518 b'web', b'prefix', default=b'',
1509 b'web', b'prefix', default=b'',
1519 )
1510 )
1520 coreconfigitem(
1511 coreconfigitem(
1521 b'web', b'push_ssl', default=True,
1512 b'web', b'push_ssl', default=True,
1522 )
1513 )
1523 coreconfigitem(
1514 coreconfigitem(
1524 b'web', b'refreshinterval', default=20,
1515 b'web', b'refreshinterval', default=20,
1525 )
1516 )
1526 coreconfigitem(
1517 coreconfigitem(
1527 b'web', b'server-header', default=None,
1518 b'web', b'server-header', default=None,
1528 )
1519 )
1529 coreconfigitem(
1520 coreconfigitem(
1530 b'web', b'static', default=None,
1521 b'web', b'static', default=None,
1531 )
1522 )
1532 coreconfigitem(
1523 coreconfigitem(
1533 b'web', b'staticurl', default=None,
1524 b'web', b'staticurl', default=None,
1534 )
1525 )
1535 coreconfigitem(
1526 coreconfigitem(
1536 b'web', b'stripes', default=1,
1527 b'web', b'stripes', default=1,
1537 )
1528 )
1538 coreconfigitem(
1529 coreconfigitem(
1539 b'web', b'style', default=b'paper',
1530 b'web', b'style', default=b'paper',
1540 )
1531 )
1541 coreconfigitem(
1532 coreconfigitem(
1542 b'web', b'templates', default=None,
1533 b'web', b'templates', default=None,
1543 )
1534 )
1544 coreconfigitem(
1535 coreconfigitem(
1545 b'web', b'view', default=b'served', experimental=True,
1536 b'web', b'view', default=b'served', experimental=True,
1546 )
1537 )
1547 coreconfigitem(
1538 coreconfigitem(
1548 b'worker', b'backgroundclose', default=dynamicdefault,
1539 b'worker', b'backgroundclose', default=dynamicdefault,
1549 )
1540 )
1550 # Windows defaults to a limit of 512 open files. A buffer of 128
1541 # Windows defaults to a limit of 512 open files. A buffer of 128
1551 # should give us enough headway.
1542 # should give us enough headway.
1552 coreconfigitem(
1543 coreconfigitem(
1553 b'worker', b'backgroundclosemaxqueue', default=384,
1544 b'worker', b'backgroundclosemaxqueue', default=384,
1554 )
1545 )
1555 coreconfigitem(
1546 coreconfigitem(
1556 b'worker', b'backgroundcloseminfilecount', default=2048,
1547 b'worker', b'backgroundcloseminfilecount', default=2048,
1557 )
1548 )
1558 coreconfigitem(
1549 coreconfigitem(
1559 b'worker', b'backgroundclosethreadcount', default=4,
1550 b'worker', b'backgroundclosethreadcount', default=4,
1560 )
1551 )
1561 coreconfigitem(
1552 coreconfigitem(
1562 b'worker', b'enabled', default=True,
1553 b'worker', b'enabled', default=True,
1563 )
1554 )
1564 coreconfigitem(
1555 coreconfigitem(
1565 b'worker', b'numcpus', default=None,
1556 b'worker', b'numcpus', default=None,
1566 )
1557 )
1567
1558
1568 # Rebase related configuration moved to core because other extension are doing
1559 # Rebase related configuration moved to core because other extension are doing
1569 # strange things. For example, shelve import the extensions to reuse some bit
1560 # strange things. For example, shelve import the extensions to reuse some bit
1570 # without formally loading it.
1561 # without formally loading it.
1571 coreconfigitem(
1562 coreconfigitem(
1572 b'commands', b'rebase.requiredest', default=False,
1563 b'commands', b'rebase.requiredest', default=False,
1573 )
1564 )
1574 coreconfigitem(
1565 coreconfigitem(
1575 b'experimental', b'rebaseskipobsolete', default=True,
1566 b'experimental', b'rebaseskipobsolete', default=True,
1576 )
1567 )
1577 coreconfigitem(
1568 coreconfigitem(
1578 b'rebase', b'singletransaction', default=False,
1569 b'rebase', b'singletransaction', default=False,
1579 )
1570 )
1580 coreconfigitem(
1571 coreconfigitem(
1581 b'rebase', b'experimental.inmemory', default=False,
1572 b'rebase', b'experimental.inmemory', default=False,
1582 )
1573 )
General Comments 0
You need to be logged in to leave comments. Login now