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