##// END OF EJS Templates
configitems: enable pullbundles by default...
Mathias De Mare -
r50472:53e4f44b default
parent child Browse files
Show More
@@ -1,2877 +1,2877 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
8
9 import functools
9 import functools
10 import re
10 import re
11
11
12 from . import (
12 from . import (
13 encoding,
13 encoding,
14 error,
14 error,
15 )
15 )
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 = b"extension '%s' overwrite config item '%s.%s'"
25 msg = b"extension '%s' overwrite config item '%s.%s'"
26 msg %= (extname, section, key)
26 msg %= (extname, section, key)
27 ui.develwarn(msg, config=b'warn-config')
27 ui.develwarn(msg, config=b'warn-config')
28
28
29 knownitems.update(items)
29 knownitems.update(items)
30
30
31
31
32 class configitem:
32 class configitem:
33 """represent a known config item
33 """represent a known config item
34
34
35 :section: the official config section where to find this item,
35 :section: the official config section where to find this item,
36 :name: the official name within the section,
36 :name: the official name within the section,
37 :default: default value for this item,
37 :default: default value for this item,
38 :alias: optional list of tuples as alternatives,
38 :alias: optional list of tuples as alternatives,
39 :generic: this is a generic definition, match name using regular expression.
39 :generic: this is a generic definition, match name using regular expression.
40 """
40 """
41
41
42 def __init__(
42 def __init__(
43 self,
43 self,
44 section,
44 section,
45 name,
45 name,
46 default=None,
46 default=None,
47 alias=(),
47 alias=(),
48 generic=False,
48 generic=False,
49 priority=0,
49 priority=0,
50 experimental=False,
50 experimental=False,
51 ):
51 ):
52 self.section = section
52 self.section = section
53 self.name = name
53 self.name = name
54 self.default = default
54 self.default = default
55 self.alias = list(alias)
55 self.alias = list(alias)
56 self.generic = generic
56 self.generic = generic
57 self.priority = priority
57 self.priority = priority
58 self.experimental = experimental
58 self.experimental = experimental
59 self._re = None
59 self._re = None
60 if generic:
60 if generic:
61 self._re = re.compile(self.name)
61 self._re = re.compile(self.name)
62
62
63
63
64 class itemregister(dict):
64 class itemregister(dict):
65 """A specialized dictionary that can handle wild-card selection"""
65 """A specialized dictionary that can handle wild-card selection"""
66
66
67 def __init__(self):
67 def __init__(self):
68 super(itemregister, self).__init__()
68 super(itemregister, self).__init__()
69 self._generics = set()
69 self._generics = set()
70
70
71 def update(self, other):
71 def update(self, other):
72 super(itemregister, self).update(other)
72 super(itemregister, self).update(other)
73 self._generics.update(other._generics)
73 self._generics.update(other._generics)
74
74
75 def __setitem__(self, key, item):
75 def __setitem__(self, key, item):
76 super(itemregister, self).__setitem__(key, item)
76 super(itemregister, self).__setitem__(key, item)
77 if item.generic:
77 if item.generic:
78 self._generics.add(item)
78 self._generics.add(item)
79
79
80 def get(self, key):
80 def get(self, key):
81 baseitem = super(itemregister, self).get(key)
81 baseitem = super(itemregister, self).get(key)
82 if baseitem is not None and not baseitem.generic:
82 if baseitem is not None and not baseitem.generic:
83 return baseitem
83 return baseitem
84
84
85 # search for a matching generic item
85 # search for a matching generic item
86 generics = sorted(self._generics, key=(lambda x: (x.priority, x.name)))
86 generics = sorted(self._generics, key=(lambda x: (x.priority, x.name)))
87 for item in generics:
87 for item in generics:
88 # we use 'match' instead of 'search' to make the matching simpler
88 # we use 'match' instead of 'search' to make the matching simpler
89 # for people unfamiliar with regular expression. Having the match
89 # for people unfamiliar with regular expression. Having the match
90 # rooted to the start of the string will produce less surprising
90 # rooted to the start of the string will produce less surprising
91 # result for user writing simple regex for sub-attribute.
91 # result for user writing simple regex for sub-attribute.
92 #
92 #
93 # For example using "color\..*" match produces an unsurprising
93 # For example using "color\..*" match produces an unsurprising
94 # result, while using search could suddenly match apparently
94 # result, while using search could suddenly match apparently
95 # unrelated configuration that happens to contains "color."
95 # unrelated configuration that happens to contains "color."
96 # anywhere. This is a tradeoff where we favor requiring ".*" on
96 # anywhere. This is a tradeoff where we favor requiring ".*" on
97 # some match to avoid the need to prefix most pattern with "^".
97 # some match to avoid the need to prefix most pattern with "^".
98 # The "^" seems more error prone.
98 # The "^" seems more error prone.
99 if item._re.match(key):
99 if item._re.match(key):
100 return item
100 return item
101
101
102 return None
102 return None
103
103
104
104
105 coreitems = {}
105 coreitems = {}
106
106
107
107
108 def _register(configtable, *args, **kwargs):
108 def _register(configtable, *args, **kwargs):
109 item = configitem(*args, **kwargs)
109 item = configitem(*args, **kwargs)
110 section = configtable.setdefault(item.section, itemregister())
110 section = configtable.setdefault(item.section, itemregister())
111 if item.name in section:
111 if item.name in section:
112 msg = b"duplicated config item registration for '%s.%s'"
112 msg = b"duplicated config item registration for '%s.%s'"
113 raise error.ProgrammingError(msg % (item.section, item.name))
113 raise error.ProgrammingError(msg % (item.section, item.name))
114 section[item.name] = item
114 section[item.name] = item
115
115
116
116
117 # special value for case where the default is derived from other values
117 # special value for case where the default is derived from other values
118 dynamicdefault = object()
118 dynamicdefault = object()
119
119
120 # Registering actual config items
120 # Registering actual config items
121
121
122
122
123 def getitemregister(configtable):
123 def getitemregister(configtable):
124 f = functools.partial(_register, configtable)
124 f = functools.partial(_register, configtable)
125 # export pseudo enum as configitem.*
125 # export pseudo enum as configitem.*
126 f.dynamicdefault = dynamicdefault
126 f.dynamicdefault = dynamicdefault
127 return f
127 return f
128
128
129
129
130 coreconfigitem = getitemregister(coreitems)
130 coreconfigitem = getitemregister(coreitems)
131
131
132
132
133 def _registerdiffopts(section, configprefix=b''):
133 def _registerdiffopts(section, configprefix=b''):
134 coreconfigitem(
134 coreconfigitem(
135 section,
135 section,
136 configprefix + b'nodates',
136 configprefix + b'nodates',
137 default=False,
137 default=False,
138 )
138 )
139 coreconfigitem(
139 coreconfigitem(
140 section,
140 section,
141 configprefix + b'showfunc',
141 configprefix + b'showfunc',
142 default=False,
142 default=False,
143 )
143 )
144 coreconfigitem(
144 coreconfigitem(
145 section,
145 section,
146 configprefix + b'unified',
146 configprefix + b'unified',
147 default=None,
147 default=None,
148 )
148 )
149 coreconfigitem(
149 coreconfigitem(
150 section,
150 section,
151 configprefix + b'git',
151 configprefix + b'git',
152 default=False,
152 default=False,
153 )
153 )
154 coreconfigitem(
154 coreconfigitem(
155 section,
155 section,
156 configprefix + b'ignorews',
156 configprefix + b'ignorews',
157 default=False,
157 default=False,
158 )
158 )
159 coreconfigitem(
159 coreconfigitem(
160 section,
160 section,
161 configprefix + b'ignorewsamount',
161 configprefix + b'ignorewsamount',
162 default=False,
162 default=False,
163 )
163 )
164 coreconfigitem(
164 coreconfigitem(
165 section,
165 section,
166 configprefix + b'ignoreblanklines',
166 configprefix + b'ignoreblanklines',
167 default=False,
167 default=False,
168 )
168 )
169 coreconfigitem(
169 coreconfigitem(
170 section,
170 section,
171 configprefix + b'ignorewseol',
171 configprefix + b'ignorewseol',
172 default=False,
172 default=False,
173 )
173 )
174 coreconfigitem(
174 coreconfigitem(
175 section,
175 section,
176 configprefix + b'nobinary',
176 configprefix + b'nobinary',
177 default=False,
177 default=False,
178 )
178 )
179 coreconfigitem(
179 coreconfigitem(
180 section,
180 section,
181 configprefix + b'noprefix',
181 configprefix + b'noprefix',
182 default=False,
182 default=False,
183 )
183 )
184 coreconfigitem(
184 coreconfigitem(
185 section,
185 section,
186 configprefix + b'word-diff',
186 configprefix + b'word-diff',
187 default=False,
187 default=False,
188 )
188 )
189
189
190
190
191 coreconfigitem(
191 coreconfigitem(
192 b'alias',
192 b'alias',
193 b'.*',
193 b'.*',
194 default=dynamicdefault,
194 default=dynamicdefault,
195 generic=True,
195 generic=True,
196 )
196 )
197 coreconfigitem(
197 coreconfigitem(
198 b'auth',
198 b'auth',
199 b'cookiefile',
199 b'cookiefile',
200 default=None,
200 default=None,
201 )
201 )
202 _registerdiffopts(section=b'annotate')
202 _registerdiffopts(section=b'annotate')
203 # bookmarks.pushing: internal hack for discovery
203 # bookmarks.pushing: internal hack for discovery
204 coreconfigitem(
204 coreconfigitem(
205 b'bookmarks',
205 b'bookmarks',
206 b'pushing',
206 b'pushing',
207 default=list,
207 default=list,
208 )
208 )
209 # bundle.mainreporoot: internal hack for bundlerepo
209 # bundle.mainreporoot: internal hack for bundlerepo
210 coreconfigitem(
210 coreconfigitem(
211 b'bundle',
211 b'bundle',
212 b'mainreporoot',
212 b'mainreporoot',
213 default=b'',
213 default=b'',
214 )
214 )
215 coreconfigitem(
215 coreconfigitem(
216 b'censor',
216 b'censor',
217 b'policy',
217 b'policy',
218 default=b'abort',
218 default=b'abort',
219 experimental=True,
219 experimental=True,
220 )
220 )
221 coreconfigitem(
221 coreconfigitem(
222 b'chgserver',
222 b'chgserver',
223 b'idletimeout',
223 b'idletimeout',
224 default=3600,
224 default=3600,
225 )
225 )
226 coreconfigitem(
226 coreconfigitem(
227 b'chgserver',
227 b'chgserver',
228 b'skiphash',
228 b'skiphash',
229 default=False,
229 default=False,
230 )
230 )
231 coreconfigitem(
231 coreconfigitem(
232 b'cmdserver',
232 b'cmdserver',
233 b'log',
233 b'log',
234 default=None,
234 default=None,
235 )
235 )
236 coreconfigitem(
236 coreconfigitem(
237 b'cmdserver',
237 b'cmdserver',
238 b'max-log-files',
238 b'max-log-files',
239 default=7,
239 default=7,
240 )
240 )
241 coreconfigitem(
241 coreconfigitem(
242 b'cmdserver',
242 b'cmdserver',
243 b'max-log-size',
243 b'max-log-size',
244 default=b'1 MB',
244 default=b'1 MB',
245 )
245 )
246 coreconfigitem(
246 coreconfigitem(
247 b'cmdserver',
247 b'cmdserver',
248 b'max-repo-cache',
248 b'max-repo-cache',
249 default=0,
249 default=0,
250 experimental=True,
250 experimental=True,
251 )
251 )
252 coreconfigitem(
252 coreconfigitem(
253 b'cmdserver',
253 b'cmdserver',
254 b'message-encodings',
254 b'message-encodings',
255 default=list,
255 default=list,
256 )
256 )
257 coreconfigitem(
257 coreconfigitem(
258 b'cmdserver',
258 b'cmdserver',
259 b'track-log',
259 b'track-log',
260 default=lambda: [b'chgserver', b'cmdserver', b'repocache'],
260 default=lambda: [b'chgserver', b'cmdserver', b'repocache'],
261 )
261 )
262 coreconfigitem(
262 coreconfigitem(
263 b'cmdserver',
263 b'cmdserver',
264 b'shutdown-on-interrupt',
264 b'shutdown-on-interrupt',
265 default=True,
265 default=True,
266 )
266 )
267 coreconfigitem(
267 coreconfigitem(
268 b'color',
268 b'color',
269 b'.*',
269 b'.*',
270 default=None,
270 default=None,
271 generic=True,
271 generic=True,
272 )
272 )
273 coreconfigitem(
273 coreconfigitem(
274 b'color',
274 b'color',
275 b'mode',
275 b'mode',
276 default=b'auto',
276 default=b'auto',
277 )
277 )
278 coreconfigitem(
278 coreconfigitem(
279 b'color',
279 b'color',
280 b'pagermode',
280 b'pagermode',
281 default=dynamicdefault,
281 default=dynamicdefault,
282 )
282 )
283 coreconfigitem(
283 coreconfigitem(
284 b'command-templates',
284 b'command-templates',
285 b'graphnode',
285 b'graphnode',
286 default=None,
286 default=None,
287 alias=[(b'ui', b'graphnodetemplate')],
287 alias=[(b'ui', b'graphnodetemplate')],
288 )
288 )
289 coreconfigitem(
289 coreconfigitem(
290 b'command-templates',
290 b'command-templates',
291 b'log',
291 b'log',
292 default=None,
292 default=None,
293 alias=[(b'ui', b'logtemplate')],
293 alias=[(b'ui', b'logtemplate')],
294 )
294 )
295 coreconfigitem(
295 coreconfigitem(
296 b'command-templates',
296 b'command-templates',
297 b'mergemarker',
297 b'mergemarker',
298 default=(
298 default=(
299 b'{node|short} '
299 b'{node|short} '
300 b'{ifeq(tags, "tip", "", '
300 b'{ifeq(tags, "tip", "", '
301 b'ifeq(tags, "", "", "{tags} "))}'
301 b'ifeq(tags, "", "", "{tags} "))}'
302 b'{if(bookmarks, "{bookmarks} ")}'
302 b'{if(bookmarks, "{bookmarks} ")}'
303 b'{ifeq(branch, "default", "", "{branch} ")}'
303 b'{ifeq(branch, "default", "", "{branch} ")}'
304 b'- {author|user}: {desc|firstline}'
304 b'- {author|user}: {desc|firstline}'
305 ),
305 ),
306 alias=[(b'ui', b'mergemarkertemplate')],
306 alias=[(b'ui', b'mergemarkertemplate')],
307 )
307 )
308 coreconfigitem(
308 coreconfigitem(
309 b'command-templates',
309 b'command-templates',
310 b'pre-merge-tool-output',
310 b'pre-merge-tool-output',
311 default=None,
311 default=None,
312 alias=[(b'ui', b'pre-merge-tool-output-template')],
312 alias=[(b'ui', b'pre-merge-tool-output-template')],
313 )
313 )
314 coreconfigitem(
314 coreconfigitem(
315 b'command-templates',
315 b'command-templates',
316 b'oneline-summary',
316 b'oneline-summary',
317 default=None,
317 default=None,
318 )
318 )
319 coreconfigitem(
319 coreconfigitem(
320 b'command-templates',
320 b'command-templates',
321 b'oneline-summary.*',
321 b'oneline-summary.*',
322 default=dynamicdefault,
322 default=dynamicdefault,
323 generic=True,
323 generic=True,
324 )
324 )
325 _registerdiffopts(section=b'commands', configprefix=b'commit.interactive.')
325 _registerdiffopts(section=b'commands', configprefix=b'commit.interactive.')
326 coreconfigitem(
326 coreconfigitem(
327 b'commands',
327 b'commands',
328 b'commit.post-status',
328 b'commit.post-status',
329 default=False,
329 default=False,
330 )
330 )
331 coreconfigitem(
331 coreconfigitem(
332 b'commands',
332 b'commands',
333 b'grep.all-files',
333 b'grep.all-files',
334 default=False,
334 default=False,
335 experimental=True,
335 experimental=True,
336 )
336 )
337 coreconfigitem(
337 coreconfigitem(
338 b'commands',
338 b'commands',
339 b'merge.require-rev',
339 b'merge.require-rev',
340 default=False,
340 default=False,
341 )
341 )
342 coreconfigitem(
342 coreconfigitem(
343 b'commands',
343 b'commands',
344 b'push.require-revs',
344 b'push.require-revs',
345 default=False,
345 default=False,
346 )
346 )
347 coreconfigitem(
347 coreconfigitem(
348 b'commands',
348 b'commands',
349 b'resolve.confirm',
349 b'resolve.confirm',
350 default=False,
350 default=False,
351 )
351 )
352 coreconfigitem(
352 coreconfigitem(
353 b'commands',
353 b'commands',
354 b'resolve.explicit-re-merge',
354 b'resolve.explicit-re-merge',
355 default=False,
355 default=False,
356 )
356 )
357 coreconfigitem(
357 coreconfigitem(
358 b'commands',
358 b'commands',
359 b'resolve.mark-check',
359 b'resolve.mark-check',
360 default=b'none',
360 default=b'none',
361 )
361 )
362 _registerdiffopts(section=b'commands', configprefix=b'revert.interactive.')
362 _registerdiffopts(section=b'commands', configprefix=b'revert.interactive.')
363 coreconfigitem(
363 coreconfigitem(
364 b'commands',
364 b'commands',
365 b'show.aliasprefix',
365 b'show.aliasprefix',
366 default=list,
366 default=list,
367 )
367 )
368 coreconfigitem(
368 coreconfigitem(
369 b'commands',
369 b'commands',
370 b'status.relative',
370 b'status.relative',
371 default=False,
371 default=False,
372 )
372 )
373 coreconfigitem(
373 coreconfigitem(
374 b'commands',
374 b'commands',
375 b'status.skipstates',
375 b'status.skipstates',
376 default=[],
376 default=[],
377 experimental=True,
377 experimental=True,
378 )
378 )
379 coreconfigitem(
379 coreconfigitem(
380 b'commands',
380 b'commands',
381 b'status.terse',
381 b'status.terse',
382 default=b'',
382 default=b'',
383 )
383 )
384 coreconfigitem(
384 coreconfigitem(
385 b'commands',
385 b'commands',
386 b'status.verbose',
386 b'status.verbose',
387 default=False,
387 default=False,
388 )
388 )
389 coreconfigitem(
389 coreconfigitem(
390 b'commands',
390 b'commands',
391 b'update.check',
391 b'update.check',
392 default=None,
392 default=None,
393 )
393 )
394 coreconfigitem(
394 coreconfigitem(
395 b'commands',
395 b'commands',
396 b'update.requiredest',
396 b'update.requiredest',
397 default=False,
397 default=False,
398 )
398 )
399 coreconfigitem(
399 coreconfigitem(
400 b'committemplate',
400 b'committemplate',
401 b'.*',
401 b'.*',
402 default=None,
402 default=None,
403 generic=True,
403 generic=True,
404 )
404 )
405 coreconfigitem(
405 coreconfigitem(
406 b'convert',
406 b'convert',
407 b'bzr.saverev',
407 b'bzr.saverev',
408 default=True,
408 default=True,
409 )
409 )
410 coreconfigitem(
410 coreconfigitem(
411 b'convert',
411 b'convert',
412 b'cvsps.cache',
412 b'cvsps.cache',
413 default=True,
413 default=True,
414 )
414 )
415 coreconfigitem(
415 coreconfigitem(
416 b'convert',
416 b'convert',
417 b'cvsps.fuzz',
417 b'cvsps.fuzz',
418 default=60,
418 default=60,
419 )
419 )
420 coreconfigitem(
420 coreconfigitem(
421 b'convert',
421 b'convert',
422 b'cvsps.logencoding',
422 b'cvsps.logencoding',
423 default=None,
423 default=None,
424 )
424 )
425 coreconfigitem(
425 coreconfigitem(
426 b'convert',
426 b'convert',
427 b'cvsps.mergefrom',
427 b'cvsps.mergefrom',
428 default=None,
428 default=None,
429 )
429 )
430 coreconfigitem(
430 coreconfigitem(
431 b'convert',
431 b'convert',
432 b'cvsps.mergeto',
432 b'cvsps.mergeto',
433 default=None,
433 default=None,
434 )
434 )
435 coreconfigitem(
435 coreconfigitem(
436 b'convert',
436 b'convert',
437 b'git.committeractions',
437 b'git.committeractions',
438 default=lambda: [b'messagedifferent'],
438 default=lambda: [b'messagedifferent'],
439 )
439 )
440 coreconfigitem(
440 coreconfigitem(
441 b'convert',
441 b'convert',
442 b'git.extrakeys',
442 b'git.extrakeys',
443 default=list,
443 default=list,
444 )
444 )
445 coreconfigitem(
445 coreconfigitem(
446 b'convert',
446 b'convert',
447 b'git.findcopiesharder',
447 b'git.findcopiesharder',
448 default=False,
448 default=False,
449 )
449 )
450 coreconfigitem(
450 coreconfigitem(
451 b'convert',
451 b'convert',
452 b'git.remoteprefix',
452 b'git.remoteprefix',
453 default=b'remote',
453 default=b'remote',
454 )
454 )
455 coreconfigitem(
455 coreconfigitem(
456 b'convert',
456 b'convert',
457 b'git.renamelimit',
457 b'git.renamelimit',
458 default=400,
458 default=400,
459 )
459 )
460 coreconfigitem(
460 coreconfigitem(
461 b'convert',
461 b'convert',
462 b'git.saverev',
462 b'git.saverev',
463 default=True,
463 default=True,
464 )
464 )
465 coreconfigitem(
465 coreconfigitem(
466 b'convert',
466 b'convert',
467 b'git.similarity',
467 b'git.similarity',
468 default=50,
468 default=50,
469 )
469 )
470 coreconfigitem(
470 coreconfigitem(
471 b'convert',
471 b'convert',
472 b'git.skipsubmodules',
472 b'git.skipsubmodules',
473 default=False,
473 default=False,
474 )
474 )
475 coreconfigitem(
475 coreconfigitem(
476 b'convert',
476 b'convert',
477 b'hg.clonebranches',
477 b'hg.clonebranches',
478 default=False,
478 default=False,
479 )
479 )
480 coreconfigitem(
480 coreconfigitem(
481 b'convert',
481 b'convert',
482 b'hg.ignoreerrors',
482 b'hg.ignoreerrors',
483 default=False,
483 default=False,
484 )
484 )
485 coreconfigitem(
485 coreconfigitem(
486 b'convert',
486 b'convert',
487 b'hg.preserve-hash',
487 b'hg.preserve-hash',
488 default=False,
488 default=False,
489 )
489 )
490 coreconfigitem(
490 coreconfigitem(
491 b'convert',
491 b'convert',
492 b'hg.revs',
492 b'hg.revs',
493 default=None,
493 default=None,
494 )
494 )
495 coreconfigitem(
495 coreconfigitem(
496 b'convert',
496 b'convert',
497 b'hg.saverev',
497 b'hg.saverev',
498 default=False,
498 default=False,
499 )
499 )
500 coreconfigitem(
500 coreconfigitem(
501 b'convert',
501 b'convert',
502 b'hg.sourcename',
502 b'hg.sourcename',
503 default=None,
503 default=None,
504 )
504 )
505 coreconfigitem(
505 coreconfigitem(
506 b'convert',
506 b'convert',
507 b'hg.startrev',
507 b'hg.startrev',
508 default=None,
508 default=None,
509 )
509 )
510 coreconfigitem(
510 coreconfigitem(
511 b'convert',
511 b'convert',
512 b'hg.tagsbranch',
512 b'hg.tagsbranch',
513 default=b'default',
513 default=b'default',
514 )
514 )
515 coreconfigitem(
515 coreconfigitem(
516 b'convert',
516 b'convert',
517 b'hg.usebranchnames',
517 b'hg.usebranchnames',
518 default=True,
518 default=True,
519 )
519 )
520 coreconfigitem(
520 coreconfigitem(
521 b'convert',
521 b'convert',
522 b'ignoreancestorcheck',
522 b'ignoreancestorcheck',
523 default=False,
523 default=False,
524 experimental=True,
524 experimental=True,
525 )
525 )
526 coreconfigitem(
526 coreconfigitem(
527 b'convert',
527 b'convert',
528 b'localtimezone',
528 b'localtimezone',
529 default=False,
529 default=False,
530 )
530 )
531 coreconfigitem(
531 coreconfigitem(
532 b'convert',
532 b'convert',
533 b'p4.encoding',
533 b'p4.encoding',
534 default=dynamicdefault,
534 default=dynamicdefault,
535 )
535 )
536 coreconfigitem(
536 coreconfigitem(
537 b'convert',
537 b'convert',
538 b'p4.startrev',
538 b'p4.startrev',
539 default=0,
539 default=0,
540 )
540 )
541 coreconfigitem(
541 coreconfigitem(
542 b'convert',
542 b'convert',
543 b'skiptags',
543 b'skiptags',
544 default=False,
544 default=False,
545 )
545 )
546 coreconfigitem(
546 coreconfigitem(
547 b'convert',
547 b'convert',
548 b'svn.debugsvnlog',
548 b'svn.debugsvnlog',
549 default=True,
549 default=True,
550 )
550 )
551 coreconfigitem(
551 coreconfigitem(
552 b'convert',
552 b'convert',
553 b'svn.trunk',
553 b'svn.trunk',
554 default=None,
554 default=None,
555 )
555 )
556 coreconfigitem(
556 coreconfigitem(
557 b'convert',
557 b'convert',
558 b'svn.tags',
558 b'svn.tags',
559 default=None,
559 default=None,
560 )
560 )
561 coreconfigitem(
561 coreconfigitem(
562 b'convert',
562 b'convert',
563 b'svn.branches',
563 b'svn.branches',
564 default=None,
564 default=None,
565 )
565 )
566 coreconfigitem(
566 coreconfigitem(
567 b'convert',
567 b'convert',
568 b'svn.startrev',
568 b'svn.startrev',
569 default=0,
569 default=0,
570 )
570 )
571 coreconfigitem(
571 coreconfigitem(
572 b'convert',
572 b'convert',
573 b'svn.dangerous-set-commit-dates',
573 b'svn.dangerous-set-commit-dates',
574 default=False,
574 default=False,
575 )
575 )
576 coreconfigitem(
576 coreconfigitem(
577 b'debug',
577 b'debug',
578 b'dirstate.delaywrite',
578 b'dirstate.delaywrite',
579 default=0,
579 default=0,
580 )
580 )
581 coreconfigitem(
581 coreconfigitem(
582 b'debug',
582 b'debug',
583 b'revlog.verifyposition.changelog',
583 b'revlog.verifyposition.changelog',
584 default=b'',
584 default=b'',
585 )
585 )
586 coreconfigitem(
586 coreconfigitem(
587 b'debug',
587 b'debug',
588 b'revlog.debug-delta',
588 b'revlog.debug-delta',
589 default=False,
589 default=False,
590 )
590 )
591 coreconfigitem(
591 coreconfigitem(
592 b'defaults',
592 b'defaults',
593 b'.*',
593 b'.*',
594 default=None,
594 default=None,
595 generic=True,
595 generic=True,
596 )
596 )
597 coreconfigitem(
597 coreconfigitem(
598 b'devel',
598 b'devel',
599 b'all-warnings',
599 b'all-warnings',
600 default=False,
600 default=False,
601 )
601 )
602 coreconfigitem(
602 coreconfigitem(
603 b'devel',
603 b'devel',
604 b'bundle2.debug',
604 b'bundle2.debug',
605 default=False,
605 default=False,
606 )
606 )
607 coreconfigitem(
607 coreconfigitem(
608 b'devel',
608 b'devel',
609 b'bundle.delta',
609 b'bundle.delta',
610 default=b'',
610 default=b'',
611 )
611 )
612 coreconfigitem(
612 coreconfigitem(
613 b'devel',
613 b'devel',
614 b'cache-vfs',
614 b'cache-vfs',
615 default=None,
615 default=None,
616 )
616 )
617 coreconfigitem(
617 coreconfigitem(
618 b'devel',
618 b'devel',
619 b'check-locks',
619 b'check-locks',
620 default=False,
620 default=False,
621 )
621 )
622 coreconfigitem(
622 coreconfigitem(
623 b'devel',
623 b'devel',
624 b'check-relroot',
624 b'check-relroot',
625 default=False,
625 default=False,
626 )
626 )
627 # Track copy information for all file, not just "added" one (very slow)
627 # Track copy information for all file, not just "added" one (very slow)
628 coreconfigitem(
628 coreconfigitem(
629 b'devel',
629 b'devel',
630 b'copy-tracing.trace-all-files',
630 b'copy-tracing.trace-all-files',
631 default=False,
631 default=False,
632 )
632 )
633 coreconfigitem(
633 coreconfigitem(
634 b'devel',
634 b'devel',
635 b'default-date',
635 b'default-date',
636 default=None,
636 default=None,
637 )
637 )
638 coreconfigitem(
638 coreconfigitem(
639 b'devel',
639 b'devel',
640 b'deprec-warn',
640 b'deprec-warn',
641 default=False,
641 default=False,
642 )
642 )
643 coreconfigitem(
643 coreconfigitem(
644 b'devel',
644 b'devel',
645 b'disableloaddefaultcerts',
645 b'disableloaddefaultcerts',
646 default=False,
646 default=False,
647 )
647 )
648 coreconfigitem(
648 coreconfigitem(
649 b'devel',
649 b'devel',
650 b'warn-empty-changegroup',
650 b'warn-empty-changegroup',
651 default=False,
651 default=False,
652 )
652 )
653 coreconfigitem(
653 coreconfigitem(
654 b'devel',
654 b'devel',
655 b'legacy.exchange',
655 b'legacy.exchange',
656 default=list,
656 default=list,
657 )
657 )
658 # When True, revlogs use a special reference version of the nodemap, that is not
658 # When True, revlogs use a special reference version of the nodemap, that is not
659 # performant but is "known" to behave properly.
659 # performant but is "known" to behave properly.
660 coreconfigitem(
660 coreconfigitem(
661 b'devel',
661 b'devel',
662 b'persistent-nodemap',
662 b'persistent-nodemap',
663 default=False,
663 default=False,
664 )
664 )
665 coreconfigitem(
665 coreconfigitem(
666 b'devel',
666 b'devel',
667 b'servercafile',
667 b'servercafile',
668 default=b'',
668 default=b'',
669 )
669 )
670 coreconfigitem(
670 coreconfigitem(
671 b'devel',
671 b'devel',
672 b'serverexactprotocol',
672 b'serverexactprotocol',
673 default=b'',
673 default=b'',
674 )
674 )
675 coreconfigitem(
675 coreconfigitem(
676 b'devel',
676 b'devel',
677 b'serverrequirecert',
677 b'serverrequirecert',
678 default=False,
678 default=False,
679 )
679 )
680 coreconfigitem(
680 coreconfigitem(
681 b'devel',
681 b'devel',
682 b'strip-obsmarkers',
682 b'strip-obsmarkers',
683 default=True,
683 default=True,
684 )
684 )
685 coreconfigitem(
685 coreconfigitem(
686 b'devel',
686 b'devel',
687 b'warn-config',
687 b'warn-config',
688 default=None,
688 default=None,
689 )
689 )
690 coreconfigitem(
690 coreconfigitem(
691 b'devel',
691 b'devel',
692 b'warn-config-default',
692 b'warn-config-default',
693 default=None,
693 default=None,
694 )
694 )
695 coreconfigitem(
695 coreconfigitem(
696 b'devel',
696 b'devel',
697 b'user.obsmarker',
697 b'user.obsmarker',
698 default=None,
698 default=None,
699 )
699 )
700 coreconfigitem(
700 coreconfigitem(
701 b'devel',
701 b'devel',
702 b'warn-config-unknown',
702 b'warn-config-unknown',
703 default=None,
703 default=None,
704 )
704 )
705 coreconfigitem(
705 coreconfigitem(
706 b'devel',
706 b'devel',
707 b'debug.copies',
707 b'debug.copies',
708 default=False,
708 default=False,
709 )
709 )
710 coreconfigitem(
710 coreconfigitem(
711 b'devel',
711 b'devel',
712 b'copy-tracing.multi-thread',
712 b'copy-tracing.multi-thread',
713 default=True,
713 default=True,
714 )
714 )
715 coreconfigitem(
715 coreconfigitem(
716 b'devel',
716 b'devel',
717 b'debug.extensions',
717 b'debug.extensions',
718 default=False,
718 default=False,
719 )
719 )
720 coreconfigitem(
720 coreconfigitem(
721 b'devel',
721 b'devel',
722 b'debug.repo-filters',
722 b'debug.repo-filters',
723 default=False,
723 default=False,
724 )
724 )
725 coreconfigitem(
725 coreconfigitem(
726 b'devel',
726 b'devel',
727 b'debug.peer-request',
727 b'debug.peer-request',
728 default=False,
728 default=False,
729 )
729 )
730 # If discovery.exchange-heads is False, the discovery will not start with
730 # If discovery.exchange-heads is False, the discovery will not start with
731 # remote head fetching and local head querying.
731 # remote head fetching and local head querying.
732 coreconfigitem(
732 coreconfigitem(
733 b'devel',
733 b'devel',
734 b'discovery.exchange-heads',
734 b'discovery.exchange-heads',
735 default=True,
735 default=True,
736 )
736 )
737 # If discovery.grow-sample is False, the sample size used in set discovery will
737 # If discovery.grow-sample is False, the sample size used in set discovery will
738 # not be increased through the process
738 # not be increased through the process
739 coreconfigitem(
739 coreconfigitem(
740 b'devel',
740 b'devel',
741 b'discovery.grow-sample',
741 b'discovery.grow-sample',
742 default=True,
742 default=True,
743 )
743 )
744 # When discovery.grow-sample.dynamic is True, the default, the sample size is
744 # When discovery.grow-sample.dynamic is True, the default, the sample size is
745 # adapted to the shape of the undecided set (it is set to the max of:
745 # adapted to the shape of the undecided set (it is set to the max of:
746 # <target-size>, len(roots(undecided)), len(heads(undecided)
746 # <target-size>, len(roots(undecided)), len(heads(undecided)
747 coreconfigitem(
747 coreconfigitem(
748 b'devel',
748 b'devel',
749 b'discovery.grow-sample.dynamic',
749 b'discovery.grow-sample.dynamic',
750 default=True,
750 default=True,
751 )
751 )
752 # discovery.grow-sample.rate control the rate at which the sample grow
752 # discovery.grow-sample.rate control the rate at which the sample grow
753 coreconfigitem(
753 coreconfigitem(
754 b'devel',
754 b'devel',
755 b'discovery.grow-sample.rate',
755 b'discovery.grow-sample.rate',
756 default=1.05,
756 default=1.05,
757 )
757 )
758 # If discovery.randomize is False, random sampling during discovery are
758 # If discovery.randomize is False, random sampling during discovery are
759 # deterministic. It is meant for integration tests.
759 # deterministic. It is meant for integration tests.
760 coreconfigitem(
760 coreconfigitem(
761 b'devel',
761 b'devel',
762 b'discovery.randomize',
762 b'discovery.randomize',
763 default=True,
763 default=True,
764 )
764 )
765 # Control the initial size of the discovery sample
765 # Control the initial size of the discovery sample
766 coreconfigitem(
766 coreconfigitem(
767 b'devel',
767 b'devel',
768 b'discovery.sample-size',
768 b'discovery.sample-size',
769 default=200,
769 default=200,
770 )
770 )
771 # Control the initial size of the discovery for initial change
771 # Control the initial size of the discovery for initial change
772 coreconfigitem(
772 coreconfigitem(
773 b'devel',
773 b'devel',
774 b'discovery.sample-size.initial',
774 b'discovery.sample-size.initial',
775 default=100,
775 default=100,
776 )
776 )
777 _registerdiffopts(section=b'diff')
777 _registerdiffopts(section=b'diff')
778 coreconfigitem(
778 coreconfigitem(
779 b'diff',
779 b'diff',
780 b'merge',
780 b'merge',
781 default=False,
781 default=False,
782 experimental=True,
782 experimental=True,
783 )
783 )
784 coreconfigitem(
784 coreconfigitem(
785 b'email',
785 b'email',
786 b'bcc',
786 b'bcc',
787 default=None,
787 default=None,
788 )
788 )
789 coreconfigitem(
789 coreconfigitem(
790 b'email',
790 b'email',
791 b'cc',
791 b'cc',
792 default=None,
792 default=None,
793 )
793 )
794 coreconfigitem(
794 coreconfigitem(
795 b'email',
795 b'email',
796 b'charsets',
796 b'charsets',
797 default=list,
797 default=list,
798 )
798 )
799 coreconfigitem(
799 coreconfigitem(
800 b'email',
800 b'email',
801 b'from',
801 b'from',
802 default=None,
802 default=None,
803 )
803 )
804 coreconfigitem(
804 coreconfigitem(
805 b'email',
805 b'email',
806 b'method',
806 b'method',
807 default=b'smtp',
807 default=b'smtp',
808 )
808 )
809 coreconfigitem(
809 coreconfigitem(
810 b'email',
810 b'email',
811 b'reply-to',
811 b'reply-to',
812 default=None,
812 default=None,
813 )
813 )
814 coreconfigitem(
814 coreconfigitem(
815 b'email',
815 b'email',
816 b'to',
816 b'to',
817 default=None,
817 default=None,
818 )
818 )
819 coreconfigitem(
819 coreconfigitem(
820 b'experimental',
820 b'experimental',
821 b'archivemetatemplate',
821 b'archivemetatemplate',
822 default=dynamicdefault,
822 default=dynamicdefault,
823 )
823 )
824 coreconfigitem(
824 coreconfigitem(
825 b'experimental',
825 b'experimental',
826 b'auto-publish',
826 b'auto-publish',
827 default=b'publish',
827 default=b'publish',
828 )
828 )
829 coreconfigitem(
829 coreconfigitem(
830 b'experimental',
830 b'experimental',
831 b'bundle-phases',
831 b'bundle-phases',
832 default=False,
832 default=False,
833 )
833 )
834 coreconfigitem(
834 coreconfigitem(
835 b'experimental',
835 b'experimental',
836 b'bundle2-advertise',
836 b'bundle2-advertise',
837 default=True,
837 default=True,
838 )
838 )
839 coreconfigitem(
839 coreconfigitem(
840 b'experimental',
840 b'experimental',
841 b'bundle2-output-capture',
841 b'bundle2-output-capture',
842 default=False,
842 default=False,
843 )
843 )
844 coreconfigitem(
844 coreconfigitem(
845 b'experimental',
845 b'experimental',
846 b'bundle2.pushback',
846 b'bundle2.pushback',
847 default=False,
847 default=False,
848 )
848 )
849 coreconfigitem(
849 coreconfigitem(
850 b'experimental',
850 b'experimental',
851 b'bundle2lazylocking',
851 b'bundle2lazylocking',
852 default=False,
852 default=False,
853 )
853 )
854 coreconfigitem(
854 coreconfigitem(
855 b'experimental',
855 b'experimental',
856 b'bundlecomplevel',
856 b'bundlecomplevel',
857 default=None,
857 default=None,
858 )
858 )
859 coreconfigitem(
859 coreconfigitem(
860 b'experimental',
860 b'experimental',
861 b'bundlecomplevel.bzip2',
861 b'bundlecomplevel.bzip2',
862 default=None,
862 default=None,
863 )
863 )
864 coreconfigitem(
864 coreconfigitem(
865 b'experimental',
865 b'experimental',
866 b'bundlecomplevel.gzip',
866 b'bundlecomplevel.gzip',
867 default=None,
867 default=None,
868 )
868 )
869 coreconfigitem(
869 coreconfigitem(
870 b'experimental',
870 b'experimental',
871 b'bundlecomplevel.none',
871 b'bundlecomplevel.none',
872 default=None,
872 default=None,
873 )
873 )
874 coreconfigitem(
874 coreconfigitem(
875 b'experimental',
875 b'experimental',
876 b'bundlecomplevel.zstd',
876 b'bundlecomplevel.zstd',
877 default=None,
877 default=None,
878 )
878 )
879 coreconfigitem(
879 coreconfigitem(
880 b'experimental',
880 b'experimental',
881 b'bundlecompthreads',
881 b'bundlecompthreads',
882 default=None,
882 default=None,
883 )
883 )
884 coreconfigitem(
884 coreconfigitem(
885 b'experimental',
885 b'experimental',
886 b'bundlecompthreads.bzip2',
886 b'bundlecompthreads.bzip2',
887 default=None,
887 default=None,
888 )
888 )
889 coreconfigitem(
889 coreconfigitem(
890 b'experimental',
890 b'experimental',
891 b'bundlecompthreads.gzip',
891 b'bundlecompthreads.gzip',
892 default=None,
892 default=None,
893 )
893 )
894 coreconfigitem(
894 coreconfigitem(
895 b'experimental',
895 b'experimental',
896 b'bundlecompthreads.none',
896 b'bundlecompthreads.none',
897 default=None,
897 default=None,
898 )
898 )
899 coreconfigitem(
899 coreconfigitem(
900 b'experimental',
900 b'experimental',
901 b'bundlecompthreads.zstd',
901 b'bundlecompthreads.zstd',
902 default=None,
902 default=None,
903 )
903 )
904 coreconfigitem(
904 coreconfigitem(
905 b'experimental',
905 b'experimental',
906 b'changegroup3',
906 b'changegroup3',
907 default=False,
907 default=False,
908 )
908 )
909 coreconfigitem(
909 coreconfigitem(
910 b'experimental',
910 b'experimental',
911 b'changegroup4',
911 b'changegroup4',
912 default=False,
912 default=False,
913 )
913 )
914 coreconfigitem(
914 coreconfigitem(
915 b'experimental',
915 b'experimental',
916 b'cleanup-as-archived',
916 b'cleanup-as-archived',
917 default=False,
917 default=False,
918 )
918 )
919 coreconfigitem(
919 coreconfigitem(
920 b'experimental',
920 b'experimental',
921 b'clientcompressionengines',
921 b'clientcompressionengines',
922 default=list,
922 default=list,
923 )
923 )
924 coreconfigitem(
924 coreconfigitem(
925 b'experimental',
925 b'experimental',
926 b'copytrace',
926 b'copytrace',
927 default=b'on',
927 default=b'on',
928 )
928 )
929 coreconfigitem(
929 coreconfigitem(
930 b'experimental',
930 b'experimental',
931 b'copytrace.movecandidateslimit',
931 b'copytrace.movecandidateslimit',
932 default=100,
932 default=100,
933 )
933 )
934 coreconfigitem(
934 coreconfigitem(
935 b'experimental',
935 b'experimental',
936 b'copytrace.sourcecommitlimit',
936 b'copytrace.sourcecommitlimit',
937 default=100,
937 default=100,
938 )
938 )
939 coreconfigitem(
939 coreconfigitem(
940 b'experimental',
940 b'experimental',
941 b'copies.read-from',
941 b'copies.read-from',
942 default=b"filelog-only",
942 default=b"filelog-only",
943 )
943 )
944 coreconfigitem(
944 coreconfigitem(
945 b'experimental',
945 b'experimental',
946 b'copies.write-to',
946 b'copies.write-to',
947 default=b'filelog-only',
947 default=b'filelog-only',
948 )
948 )
949 coreconfigitem(
949 coreconfigitem(
950 b'experimental',
950 b'experimental',
951 b'crecordtest',
951 b'crecordtest',
952 default=None,
952 default=None,
953 )
953 )
954 coreconfigitem(
954 coreconfigitem(
955 b'experimental',
955 b'experimental',
956 b'directaccess',
956 b'directaccess',
957 default=False,
957 default=False,
958 )
958 )
959 coreconfigitem(
959 coreconfigitem(
960 b'experimental',
960 b'experimental',
961 b'directaccess.revnums',
961 b'directaccess.revnums',
962 default=False,
962 default=False,
963 )
963 )
964 coreconfigitem(
964 coreconfigitem(
965 b'experimental',
965 b'experimental',
966 b'editortmpinhg',
966 b'editortmpinhg',
967 default=False,
967 default=False,
968 )
968 )
969 coreconfigitem(
969 coreconfigitem(
970 b'experimental',
970 b'experimental',
971 b'evolution',
971 b'evolution',
972 default=list,
972 default=list,
973 )
973 )
974 coreconfigitem(
974 coreconfigitem(
975 b'experimental',
975 b'experimental',
976 b'evolution.allowdivergence',
976 b'evolution.allowdivergence',
977 default=False,
977 default=False,
978 alias=[(b'experimental', b'allowdivergence')],
978 alias=[(b'experimental', b'allowdivergence')],
979 )
979 )
980 coreconfigitem(
980 coreconfigitem(
981 b'experimental',
981 b'experimental',
982 b'evolution.allowunstable',
982 b'evolution.allowunstable',
983 default=None,
983 default=None,
984 )
984 )
985 coreconfigitem(
985 coreconfigitem(
986 b'experimental',
986 b'experimental',
987 b'evolution.createmarkers',
987 b'evolution.createmarkers',
988 default=None,
988 default=None,
989 )
989 )
990 coreconfigitem(
990 coreconfigitem(
991 b'experimental',
991 b'experimental',
992 b'evolution.effect-flags',
992 b'evolution.effect-flags',
993 default=True,
993 default=True,
994 alias=[(b'experimental', b'effect-flags')],
994 alias=[(b'experimental', b'effect-flags')],
995 )
995 )
996 coreconfigitem(
996 coreconfigitem(
997 b'experimental',
997 b'experimental',
998 b'evolution.exchange',
998 b'evolution.exchange',
999 default=None,
999 default=None,
1000 )
1000 )
1001 coreconfigitem(
1001 coreconfigitem(
1002 b'experimental',
1002 b'experimental',
1003 b'evolution.bundle-obsmarker',
1003 b'evolution.bundle-obsmarker',
1004 default=False,
1004 default=False,
1005 )
1005 )
1006 coreconfigitem(
1006 coreconfigitem(
1007 b'experimental',
1007 b'experimental',
1008 b'evolution.bundle-obsmarker:mandatory',
1008 b'evolution.bundle-obsmarker:mandatory',
1009 default=True,
1009 default=True,
1010 )
1010 )
1011 coreconfigitem(
1011 coreconfigitem(
1012 b'experimental',
1012 b'experimental',
1013 b'log.topo',
1013 b'log.topo',
1014 default=False,
1014 default=False,
1015 )
1015 )
1016 coreconfigitem(
1016 coreconfigitem(
1017 b'experimental',
1017 b'experimental',
1018 b'evolution.report-instabilities',
1018 b'evolution.report-instabilities',
1019 default=True,
1019 default=True,
1020 )
1020 )
1021 coreconfigitem(
1021 coreconfigitem(
1022 b'experimental',
1022 b'experimental',
1023 b'evolution.track-operation',
1023 b'evolution.track-operation',
1024 default=True,
1024 default=True,
1025 )
1025 )
1026 # repo-level config to exclude a revset visibility
1026 # repo-level config to exclude a revset visibility
1027 #
1027 #
1028 # The target use case is to use `share` to expose different subset of the same
1028 # The target use case is to use `share` to expose different subset of the same
1029 # repository, especially server side. See also `server.view`.
1029 # repository, especially server side. See also `server.view`.
1030 coreconfigitem(
1030 coreconfigitem(
1031 b'experimental',
1031 b'experimental',
1032 b'extra-filter-revs',
1032 b'extra-filter-revs',
1033 default=None,
1033 default=None,
1034 )
1034 )
1035 coreconfigitem(
1035 coreconfigitem(
1036 b'experimental',
1036 b'experimental',
1037 b'maxdeltachainspan',
1037 b'maxdeltachainspan',
1038 default=-1,
1038 default=-1,
1039 )
1039 )
1040 # tracks files which were undeleted (merge might delete them but we explicitly
1040 # tracks files which were undeleted (merge might delete them but we explicitly
1041 # kept/undeleted them) and creates new filenodes for them
1041 # kept/undeleted them) and creates new filenodes for them
1042 coreconfigitem(
1042 coreconfigitem(
1043 b'experimental',
1043 b'experimental',
1044 b'merge-track-salvaged',
1044 b'merge-track-salvaged',
1045 default=False,
1045 default=False,
1046 )
1046 )
1047 coreconfigitem(
1047 coreconfigitem(
1048 b'experimental',
1048 b'experimental',
1049 b'mmapindexthreshold',
1049 b'mmapindexthreshold',
1050 default=None,
1050 default=None,
1051 )
1051 )
1052 coreconfigitem(
1052 coreconfigitem(
1053 b'experimental',
1053 b'experimental',
1054 b'narrow',
1054 b'narrow',
1055 default=False,
1055 default=False,
1056 )
1056 )
1057 coreconfigitem(
1057 coreconfigitem(
1058 b'experimental',
1058 b'experimental',
1059 b'nonnormalparanoidcheck',
1059 b'nonnormalparanoidcheck',
1060 default=False,
1060 default=False,
1061 )
1061 )
1062 coreconfigitem(
1062 coreconfigitem(
1063 b'experimental',
1063 b'experimental',
1064 b'exportableenviron',
1064 b'exportableenviron',
1065 default=list,
1065 default=list,
1066 )
1066 )
1067 coreconfigitem(
1067 coreconfigitem(
1068 b'experimental',
1068 b'experimental',
1069 b'extendedheader.index',
1069 b'extendedheader.index',
1070 default=None,
1070 default=None,
1071 )
1071 )
1072 coreconfigitem(
1072 coreconfigitem(
1073 b'experimental',
1073 b'experimental',
1074 b'extendedheader.similarity',
1074 b'extendedheader.similarity',
1075 default=False,
1075 default=False,
1076 )
1076 )
1077 coreconfigitem(
1077 coreconfigitem(
1078 b'experimental',
1078 b'experimental',
1079 b'graphshorten',
1079 b'graphshorten',
1080 default=False,
1080 default=False,
1081 )
1081 )
1082 coreconfigitem(
1082 coreconfigitem(
1083 b'experimental',
1083 b'experimental',
1084 b'graphstyle.parent',
1084 b'graphstyle.parent',
1085 default=dynamicdefault,
1085 default=dynamicdefault,
1086 )
1086 )
1087 coreconfigitem(
1087 coreconfigitem(
1088 b'experimental',
1088 b'experimental',
1089 b'graphstyle.missing',
1089 b'graphstyle.missing',
1090 default=dynamicdefault,
1090 default=dynamicdefault,
1091 )
1091 )
1092 coreconfigitem(
1092 coreconfigitem(
1093 b'experimental',
1093 b'experimental',
1094 b'graphstyle.grandparent',
1094 b'graphstyle.grandparent',
1095 default=dynamicdefault,
1095 default=dynamicdefault,
1096 )
1096 )
1097 coreconfigitem(
1097 coreconfigitem(
1098 b'experimental',
1098 b'experimental',
1099 b'hook-track-tags',
1099 b'hook-track-tags',
1100 default=False,
1100 default=False,
1101 )
1101 )
1102 coreconfigitem(
1102 coreconfigitem(
1103 b'experimental',
1103 b'experimental',
1104 b'httppostargs',
1104 b'httppostargs',
1105 default=False,
1105 default=False,
1106 )
1106 )
1107 coreconfigitem(b'experimental', b'nointerrupt', default=False)
1107 coreconfigitem(b'experimental', b'nointerrupt', default=False)
1108 coreconfigitem(b'experimental', b'nointerrupt-interactiveonly', default=True)
1108 coreconfigitem(b'experimental', b'nointerrupt-interactiveonly', default=True)
1109
1109
1110 coreconfigitem(
1110 coreconfigitem(
1111 b'experimental',
1111 b'experimental',
1112 b'obsmarkers-exchange-debug',
1112 b'obsmarkers-exchange-debug',
1113 default=False,
1113 default=False,
1114 )
1114 )
1115 coreconfigitem(
1115 coreconfigitem(
1116 b'experimental',
1116 b'experimental',
1117 b'remotenames',
1117 b'remotenames',
1118 default=False,
1118 default=False,
1119 )
1119 )
1120 coreconfigitem(
1120 coreconfigitem(
1121 b'experimental',
1121 b'experimental',
1122 b'removeemptydirs',
1122 b'removeemptydirs',
1123 default=True,
1123 default=True,
1124 )
1124 )
1125 coreconfigitem(
1125 coreconfigitem(
1126 b'experimental',
1126 b'experimental',
1127 b'revert.interactive.select-to-keep',
1127 b'revert.interactive.select-to-keep',
1128 default=False,
1128 default=False,
1129 )
1129 )
1130 coreconfigitem(
1130 coreconfigitem(
1131 b'experimental',
1131 b'experimental',
1132 b'revisions.prefixhexnode',
1132 b'revisions.prefixhexnode',
1133 default=False,
1133 default=False,
1134 )
1134 )
1135 # "out of experimental" todo list.
1135 # "out of experimental" todo list.
1136 #
1136 #
1137 # * include management of a persistent nodemap in the main docket
1137 # * include management of a persistent nodemap in the main docket
1138 # * enforce a "no-truncate" policy for mmap safety
1138 # * enforce a "no-truncate" policy for mmap safety
1139 # - for censoring operation
1139 # - for censoring operation
1140 # - for stripping operation
1140 # - for stripping operation
1141 # - for rollback operation
1141 # - for rollback operation
1142 # * proper streaming (race free) of the docket file
1142 # * proper streaming (race free) of the docket file
1143 # * track garbage data to evemtually allow rewriting -existing- sidedata.
1143 # * track garbage data to evemtually allow rewriting -existing- sidedata.
1144 # * Exchange-wise, we will also need to do something more efficient than
1144 # * Exchange-wise, we will also need to do something more efficient than
1145 # keeping references to the affected revlogs, especially memory-wise when
1145 # keeping references to the affected revlogs, especially memory-wise when
1146 # rewriting sidedata.
1146 # rewriting sidedata.
1147 # * introduce a proper solution to reduce the number of filelog related files.
1147 # * introduce a proper solution to reduce the number of filelog related files.
1148 # * use caching for reading sidedata (similar to what we do for data).
1148 # * use caching for reading sidedata (similar to what we do for data).
1149 # * no longer set offset=0 if sidedata_size=0 (simplify cutoff computation).
1149 # * no longer set offset=0 if sidedata_size=0 (simplify cutoff computation).
1150 # * Improvement to consider
1150 # * Improvement to consider
1151 # - avoid compression header in chunk using the default compression?
1151 # - avoid compression header in chunk using the default compression?
1152 # - forbid "inline" compression mode entirely?
1152 # - forbid "inline" compression mode entirely?
1153 # - split the data offset and flag field (the 2 bytes save are mostly trouble)
1153 # - split the data offset and flag field (the 2 bytes save are mostly trouble)
1154 # - keep track of uncompressed -chunk- size (to preallocate memory better)
1154 # - keep track of uncompressed -chunk- size (to preallocate memory better)
1155 # - keep track of chain base or size (probably not that useful anymore)
1155 # - keep track of chain base or size (probably not that useful anymore)
1156 coreconfigitem(
1156 coreconfigitem(
1157 b'experimental',
1157 b'experimental',
1158 b'revlogv2',
1158 b'revlogv2',
1159 default=None,
1159 default=None,
1160 )
1160 )
1161 coreconfigitem(
1161 coreconfigitem(
1162 b'experimental',
1162 b'experimental',
1163 b'revisions.disambiguatewithin',
1163 b'revisions.disambiguatewithin',
1164 default=None,
1164 default=None,
1165 )
1165 )
1166 coreconfigitem(
1166 coreconfigitem(
1167 b'experimental',
1167 b'experimental',
1168 b'rust.index',
1168 b'rust.index',
1169 default=False,
1169 default=False,
1170 )
1170 )
1171 coreconfigitem(
1171 coreconfigitem(
1172 b'experimental',
1172 b'experimental',
1173 b'server.filesdata.recommended-batch-size',
1173 b'server.filesdata.recommended-batch-size',
1174 default=50000,
1174 default=50000,
1175 )
1175 )
1176 coreconfigitem(
1176 coreconfigitem(
1177 b'experimental',
1177 b'experimental',
1178 b'server.manifestdata.recommended-batch-size',
1178 b'server.manifestdata.recommended-batch-size',
1179 default=100000,
1179 default=100000,
1180 )
1180 )
1181 coreconfigitem(
1181 coreconfigitem(
1182 b'experimental',
1182 b'experimental',
1183 b'server.stream-narrow-clones',
1183 b'server.stream-narrow-clones',
1184 default=False,
1184 default=False,
1185 )
1185 )
1186 coreconfigitem(
1186 coreconfigitem(
1187 b'experimental',
1187 b'experimental',
1188 b'single-head-per-branch',
1188 b'single-head-per-branch',
1189 default=False,
1189 default=False,
1190 )
1190 )
1191 coreconfigitem(
1191 coreconfigitem(
1192 b'experimental',
1192 b'experimental',
1193 b'single-head-per-branch:account-closed-heads',
1193 b'single-head-per-branch:account-closed-heads',
1194 default=False,
1194 default=False,
1195 )
1195 )
1196 coreconfigitem(
1196 coreconfigitem(
1197 b'experimental',
1197 b'experimental',
1198 b'single-head-per-branch:public-changes-only',
1198 b'single-head-per-branch:public-changes-only',
1199 default=False,
1199 default=False,
1200 )
1200 )
1201 coreconfigitem(
1201 coreconfigitem(
1202 b'experimental',
1202 b'experimental',
1203 b'sparse-read',
1203 b'sparse-read',
1204 default=False,
1204 default=False,
1205 )
1205 )
1206 coreconfigitem(
1206 coreconfigitem(
1207 b'experimental',
1207 b'experimental',
1208 b'sparse-read.density-threshold',
1208 b'sparse-read.density-threshold',
1209 default=0.50,
1209 default=0.50,
1210 )
1210 )
1211 coreconfigitem(
1211 coreconfigitem(
1212 b'experimental',
1212 b'experimental',
1213 b'sparse-read.min-gap-size',
1213 b'sparse-read.min-gap-size',
1214 default=b'65K',
1214 default=b'65K',
1215 )
1215 )
1216 coreconfigitem(
1216 coreconfigitem(
1217 b'experimental',
1217 b'experimental',
1218 b'treemanifest',
1218 b'treemanifest',
1219 default=False,
1219 default=False,
1220 )
1220 )
1221 coreconfigitem(
1221 coreconfigitem(
1222 b'experimental',
1222 b'experimental',
1223 b'update.atomic-file',
1223 b'update.atomic-file',
1224 default=False,
1224 default=False,
1225 )
1225 )
1226 coreconfigitem(
1226 coreconfigitem(
1227 b'experimental',
1227 b'experimental',
1228 b'web.full-garbage-collection-rate',
1228 b'web.full-garbage-collection-rate',
1229 default=1, # still forcing a full collection on each request
1229 default=1, # still forcing a full collection on each request
1230 )
1230 )
1231 coreconfigitem(
1231 coreconfigitem(
1232 b'experimental',
1232 b'experimental',
1233 b'worker.wdir-get-thread-safe',
1233 b'worker.wdir-get-thread-safe',
1234 default=False,
1234 default=False,
1235 )
1235 )
1236 coreconfigitem(
1236 coreconfigitem(
1237 b'experimental',
1237 b'experimental',
1238 b'worker.repository-upgrade',
1238 b'worker.repository-upgrade',
1239 default=False,
1239 default=False,
1240 )
1240 )
1241 coreconfigitem(
1241 coreconfigitem(
1242 b'experimental',
1242 b'experimental',
1243 b'xdiff',
1243 b'xdiff',
1244 default=False,
1244 default=False,
1245 )
1245 )
1246 coreconfigitem(
1246 coreconfigitem(
1247 b'extensions',
1247 b'extensions',
1248 b'[^:]*',
1248 b'[^:]*',
1249 default=None,
1249 default=None,
1250 generic=True,
1250 generic=True,
1251 )
1251 )
1252 coreconfigitem(
1252 coreconfigitem(
1253 b'extensions',
1253 b'extensions',
1254 b'[^:]*:required',
1254 b'[^:]*:required',
1255 default=False,
1255 default=False,
1256 generic=True,
1256 generic=True,
1257 )
1257 )
1258 coreconfigitem(
1258 coreconfigitem(
1259 b'extdata',
1259 b'extdata',
1260 b'.*',
1260 b'.*',
1261 default=None,
1261 default=None,
1262 generic=True,
1262 generic=True,
1263 )
1263 )
1264 coreconfigitem(
1264 coreconfigitem(
1265 b'format',
1265 b'format',
1266 b'bookmarks-in-store',
1266 b'bookmarks-in-store',
1267 default=False,
1267 default=False,
1268 )
1268 )
1269 coreconfigitem(
1269 coreconfigitem(
1270 b'format',
1270 b'format',
1271 b'chunkcachesize',
1271 b'chunkcachesize',
1272 default=None,
1272 default=None,
1273 experimental=True,
1273 experimental=True,
1274 )
1274 )
1275 coreconfigitem(
1275 coreconfigitem(
1276 # Enable this dirstate format *when creating a new repository*.
1276 # Enable this dirstate format *when creating a new repository*.
1277 # Which format to use for existing repos is controlled by .hg/requires
1277 # Which format to use for existing repos is controlled by .hg/requires
1278 b'format',
1278 b'format',
1279 b'use-dirstate-v2',
1279 b'use-dirstate-v2',
1280 default=False,
1280 default=False,
1281 experimental=True,
1281 experimental=True,
1282 alias=[(b'format', b'exp-rc-dirstate-v2')],
1282 alias=[(b'format', b'exp-rc-dirstate-v2')],
1283 )
1283 )
1284 coreconfigitem(
1284 coreconfigitem(
1285 b'format',
1285 b'format',
1286 b'use-dirstate-v2.automatic-upgrade-of-mismatching-repositories',
1286 b'use-dirstate-v2.automatic-upgrade-of-mismatching-repositories',
1287 default=False,
1287 default=False,
1288 experimental=True,
1288 experimental=True,
1289 )
1289 )
1290 coreconfigitem(
1290 coreconfigitem(
1291 b'format',
1291 b'format',
1292 b'use-dirstate-v2.automatic-upgrade-of-mismatching-repositories:quiet',
1292 b'use-dirstate-v2.automatic-upgrade-of-mismatching-repositories:quiet',
1293 default=False,
1293 default=False,
1294 experimental=True,
1294 experimental=True,
1295 )
1295 )
1296 coreconfigitem(
1296 coreconfigitem(
1297 b'format',
1297 b'format',
1298 b'use-dirstate-tracked-hint',
1298 b'use-dirstate-tracked-hint',
1299 default=False,
1299 default=False,
1300 experimental=True,
1300 experimental=True,
1301 )
1301 )
1302 coreconfigitem(
1302 coreconfigitem(
1303 b'format',
1303 b'format',
1304 b'use-dirstate-tracked-hint.version',
1304 b'use-dirstate-tracked-hint.version',
1305 default=1,
1305 default=1,
1306 experimental=True,
1306 experimental=True,
1307 )
1307 )
1308 coreconfigitem(
1308 coreconfigitem(
1309 b'format',
1309 b'format',
1310 b'use-dirstate-tracked-hint.automatic-upgrade-of-mismatching-repositories',
1310 b'use-dirstate-tracked-hint.automatic-upgrade-of-mismatching-repositories',
1311 default=False,
1311 default=False,
1312 experimental=True,
1312 experimental=True,
1313 )
1313 )
1314 coreconfigitem(
1314 coreconfigitem(
1315 b'format',
1315 b'format',
1316 b'use-dirstate-tracked-hint.automatic-upgrade-of-mismatching-repositories:quiet',
1316 b'use-dirstate-tracked-hint.automatic-upgrade-of-mismatching-repositories:quiet',
1317 default=False,
1317 default=False,
1318 experimental=True,
1318 experimental=True,
1319 )
1319 )
1320 coreconfigitem(
1320 coreconfigitem(
1321 b'format',
1321 b'format',
1322 b'dotencode',
1322 b'dotencode',
1323 default=True,
1323 default=True,
1324 )
1324 )
1325 coreconfigitem(
1325 coreconfigitem(
1326 b'format',
1326 b'format',
1327 b'generaldelta',
1327 b'generaldelta',
1328 default=False,
1328 default=False,
1329 experimental=True,
1329 experimental=True,
1330 )
1330 )
1331 coreconfigitem(
1331 coreconfigitem(
1332 b'format',
1332 b'format',
1333 b'manifestcachesize',
1333 b'manifestcachesize',
1334 default=None,
1334 default=None,
1335 experimental=True,
1335 experimental=True,
1336 )
1336 )
1337 coreconfigitem(
1337 coreconfigitem(
1338 b'format',
1338 b'format',
1339 b'maxchainlen',
1339 b'maxchainlen',
1340 default=dynamicdefault,
1340 default=dynamicdefault,
1341 experimental=True,
1341 experimental=True,
1342 )
1342 )
1343 coreconfigitem(
1343 coreconfigitem(
1344 b'format',
1344 b'format',
1345 b'obsstore-version',
1345 b'obsstore-version',
1346 default=None,
1346 default=None,
1347 )
1347 )
1348 coreconfigitem(
1348 coreconfigitem(
1349 b'format',
1349 b'format',
1350 b'sparse-revlog',
1350 b'sparse-revlog',
1351 default=True,
1351 default=True,
1352 )
1352 )
1353 coreconfigitem(
1353 coreconfigitem(
1354 b'format',
1354 b'format',
1355 b'revlog-compression',
1355 b'revlog-compression',
1356 default=lambda: [b'zstd', b'zlib'],
1356 default=lambda: [b'zstd', b'zlib'],
1357 alias=[(b'experimental', b'format.compression')],
1357 alias=[(b'experimental', b'format.compression')],
1358 )
1358 )
1359 # Experimental TODOs:
1359 # Experimental TODOs:
1360 #
1360 #
1361 # * Same as for revlogv2 (but for the reduction of the number of files)
1361 # * Same as for revlogv2 (but for the reduction of the number of files)
1362 # * Actually computing the rank of changesets
1362 # * Actually computing the rank of changesets
1363 # * Improvement to investigate
1363 # * Improvement to investigate
1364 # - storing .hgtags fnode
1364 # - storing .hgtags fnode
1365 # - storing branch related identifier
1365 # - storing branch related identifier
1366
1366
1367 coreconfigitem(
1367 coreconfigitem(
1368 b'format',
1368 b'format',
1369 b'exp-use-changelog-v2',
1369 b'exp-use-changelog-v2',
1370 default=None,
1370 default=None,
1371 experimental=True,
1371 experimental=True,
1372 )
1372 )
1373 coreconfigitem(
1373 coreconfigitem(
1374 b'format',
1374 b'format',
1375 b'usefncache',
1375 b'usefncache',
1376 default=True,
1376 default=True,
1377 )
1377 )
1378 coreconfigitem(
1378 coreconfigitem(
1379 b'format',
1379 b'format',
1380 b'usegeneraldelta',
1380 b'usegeneraldelta',
1381 default=True,
1381 default=True,
1382 )
1382 )
1383 coreconfigitem(
1383 coreconfigitem(
1384 b'format',
1384 b'format',
1385 b'usestore',
1385 b'usestore',
1386 default=True,
1386 default=True,
1387 )
1387 )
1388
1388
1389
1389
1390 def _persistent_nodemap_default():
1390 def _persistent_nodemap_default():
1391 """compute `use-persistent-nodemap` default value
1391 """compute `use-persistent-nodemap` default value
1392
1392
1393 The feature is disabled unless a fast implementation is available.
1393 The feature is disabled unless a fast implementation is available.
1394 """
1394 """
1395 from . import policy
1395 from . import policy
1396
1396
1397 return policy.importrust('revlog') is not None
1397 return policy.importrust('revlog') is not None
1398
1398
1399
1399
1400 coreconfigitem(
1400 coreconfigitem(
1401 b'format',
1401 b'format',
1402 b'use-persistent-nodemap',
1402 b'use-persistent-nodemap',
1403 default=_persistent_nodemap_default,
1403 default=_persistent_nodemap_default,
1404 )
1404 )
1405 coreconfigitem(
1405 coreconfigitem(
1406 b'format',
1406 b'format',
1407 b'exp-use-copies-side-data-changeset',
1407 b'exp-use-copies-side-data-changeset',
1408 default=False,
1408 default=False,
1409 experimental=True,
1409 experimental=True,
1410 )
1410 )
1411 coreconfigitem(
1411 coreconfigitem(
1412 b'format',
1412 b'format',
1413 b'use-share-safe',
1413 b'use-share-safe',
1414 default=True,
1414 default=True,
1415 )
1415 )
1416 coreconfigitem(
1416 coreconfigitem(
1417 b'format',
1417 b'format',
1418 b'use-share-safe.automatic-upgrade-of-mismatching-repositories',
1418 b'use-share-safe.automatic-upgrade-of-mismatching-repositories',
1419 default=False,
1419 default=False,
1420 experimental=True,
1420 experimental=True,
1421 )
1421 )
1422 coreconfigitem(
1422 coreconfigitem(
1423 b'format',
1423 b'format',
1424 b'use-share-safe.automatic-upgrade-of-mismatching-repositories:quiet',
1424 b'use-share-safe.automatic-upgrade-of-mismatching-repositories:quiet',
1425 default=False,
1425 default=False,
1426 experimental=True,
1426 experimental=True,
1427 )
1427 )
1428
1428
1429 # Moving this on by default means we are confident about the scaling of phases.
1429 # Moving this on by default means we are confident about the scaling of phases.
1430 # This is not garanteed to be the case at the time this message is written.
1430 # This is not garanteed to be the case at the time this message is written.
1431 coreconfigitem(
1431 coreconfigitem(
1432 b'format',
1432 b'format',
1433 b'use-internal-phase',
1433 b'use-internal-phase',
1434 default=False,
1434 default=False,
1435 experimental=True,
1435 experimental=True,
1436 )
1436 )
1437 # The interaction between the archived phase and obsolescence markers needs to
1437 # The interaction between the archived phase and obsolescence markers needs to
1438 # be sorted out before wider usage of this are to be considered.
1438 # be sorted out before wider usage of this are to be considered.
1439 #
1439 #
1440 # At the time this message is written, behavior when archiving obsolete
1440 # At the time this message is written, behavior when archiving obsolete
1441 # changeset differ significantly from stripping. As part of stripping, we also
1441 # changeset differ significantly from stripping. As part of stripping, we also
1442 # remove the obsolescence marker associated to the stripped changesets,
1442 # remove the obsolescence marker associated to the stripped changesets,
1443 # revealing the precedecessors changesets when applicable. When archiving, we
1443 # revealing the precedecessors changesets when applicable. When archiving, we
1444 # don't touch the obsolescence markers, keeping everything hidden. This can
1444 # don't touch the obsolescence markers, keeping everything hidden. This can
1445 # result in quite confusing situation for people combining exchanging draft
1445 # result in quite confusing situation for people combining exchanging draft
1446 # with the archived phases. As some markers needed by others may be skipped
1446 # with the archived phases. As some markers needed by others may be skipped
1447 # during exchange.
1447 # during exchange.
1448 coreconfigitem(
1448 coreconfigitem(
1449 b'format',
1449 b'format',
1450 b'exp-archived-phase',
1450 b'exp-archived-phase',
1451 default=False,
1451 default=False,
1452 experimental=True,
1452 experimental=True,
1453 )
1453 )
1454 coreconfigitem(
1454 coreconfigitem(
1455 b'shelve',
1455 b'shelve',
1456 b'store',
1456 b'store',
1457 default=b'internal',
1457 default=b'internal',
1458 experimental=True,
1458 experimental=True,
1459 )
1459 )
1460 coreconfigitem(
1460 coreconfigitem(
1461 b'fsmonitor',
1461 b'fsmonitor',
1462 b'warn_when_unused',
1462 b'warn_when_unused',
1463 default=True,
1463 default=True,
1464 )
1464 )
1465 coreconfigitem(
1465 coreconfigitem(
1466 b'fsmonitor',
1466 b'fsmonitor',
1467 b'warn_update_file_count',
1467 b'warn_update_file_count',
1468 default=50000,
1468 default=50000,
1469 )
1469 )
1470 coreconfigitem(
1470 coreconfigitem(
1471 b'fsmonitor',
1471 b'fsmonitor',
1472 b'warn_update_file_count_rust',
1472 b'warn_update_file_count_rust',
1473 default=400000,
1473 default=400000,
1474 )
1474 )
1475 coreconfigitem(
1475 coreconfigitem(
1476 b'help',
1476 b'help',
1477 br'hidden-command\..*',
1477 br'hidden-command\..*',
1478 default=False,
1478 default=False,
1479 generic=True,
1479 generic=True,
1480 )
1480 )
1481 coreconfigitem(
1481 coreconfigitem(
1482 b'help',
1482 b'help',
1483 br'hidden-topic\..*',
1483 br'hidden-topic\..*',
1484 default=False,
1484 default=False,
1485 generic=True,
1485 generic=True,
1486 )
1486 )
1487 coreconfigitem(
1487 coreconfigitem(
1488 b'hooks',
1488 b'hooks',
1489 b'[^:]*',
1489 b'[^:]*',
1490 default=dynamicdefault,
1490 default=dynamicdefault,
1491 generic=True,
1491 generic=True,
1492 )
1492 )
1493 coreconfigitem(
1493 coreconfigitem(
1494 b'hooks',
1494 b'hooks',
1495 b'.*:run-with-plain',
1495 b'.*:run-with-plain',
1496 default=True,
1496 default=True,
1497 generic=True,
1497 generic=True,
1498 )
1498 )
1499 coreconfigitem(
1499 coreconfigitem(
1500 b'hgweb-paths',
1500 b'hgweb-paths',
1501 b'.*',
1501 b'.*',
1502 default=list,
1502 default=list,
1503 generic=True,
1503 generic=True,
1504 )
1504 )
1505 coreconfigitem(
1505 coreconfigitem(
1506 b'hostfingerprints',
1506 b'hostfingerprints',
1507 b'.*',
1507 b'.*',
1508 default=list,
1508 default=list,
1509 generic=True,
1509 generic=True,
1510 )
1510 )
1511 coreconfigitem(
1511 coreconfigitem(
1512 b'hostsecurity',
1512 b'hostsecurity',
1513 b'ciphers',
1513 b'ciphers',
1514 default=None,
1514 default=None,
1515 )
1515 )
1516 coreconfigitem(
1516 coreconfigitem(
1517 b'hostsecurity',
1517 b'hostsecurity',
1518 b'minimumprotocol',
1518 b'minimumprotocol',
1519 default=dynamicdefault,
1519 default=dynamicdefault,
1520 )
1520 )
1521 coreconfigitem(
1521 coreconfigitem(
1522 b'hostsecurity',
1522 b'hostsecurity',
1523 b'.*:minimumprotocol$',
1523 b'.*:minimumprotocol$',
1524 default=dynamicdefault,
1524 default=dynamicdefault,
1525 generic=True,
1525 generic=True,
1526 )
1526 )
1527 coreconfigitem(
1527 coreconfigitem(
1528 b'hostsecurity',
1528 b'hostsecurity',
1529 b'.*:ciphers$',
1529 b'.*:ciphers$',
1530 default=dynamicdefault,
1530 default=dynamicdefault,
1531 generic=True,
1531 generic=True,
1532 )
1532 )
1533 coreconfigitem(
1533 coreconfigitem(
1534 b'hostsecurity',
1534 b'hostsecurity',
1535 b'.*:fingerprints$',
1535 b'.*:fingerprints$',
1536 default=list,
1536 default=list,
1537 generic=True,
1537 generic=True,
1538 )
1538 )
1539 coreconfigitem(
1539 coreconfigitem(
1540 b'hostsecurity',
1540 b'hostsecurity',
1541 b'.*:verifycertsfile$',
1541 b'.*:verifycertsfile$',
1542 default=None,
1542 default=None,
1543 generic=True,
1543 generic=True,
1544 )
1544 )
1545
1545
1546 coreconfigitem(
1546 coreconfigitem(
1547 b'http_proxy',
1547 b'http_proxy',
1548 b'always',
1548 b'always',
1549 default=False,
1549 default=False,
1550 )
1550 )
1551 coreconfigitem(
1551 coreconfigitem(
1552 b'http_proxy',
1552 b'http_proxy',
1553 b'host',
1553 b'host',
1554 default=None,
1554 default=None,
1555 )
1555 )
1556 coreconfigitem(
1556 coreconfigitem(
1557 b'http_proxy',
1557 b'http_proxy',
1558 b'no',
1558 b'no',
1559 default=list,
1559 default=list,
1560 )
1560 )
1561 coreconfigitem(
1561 coreconfigitem(
1562 b'http_proxy',
1562 b'http_proxy',
1563 b'passwd',
1563 b'passwd',
1564 default=None,
1564 default=None,
1565 )
1565 )
1566 coreconfigitem(
1566 coreconfigitem(
1567 b'http_proxy',
1567 b'http_proxy',
1568 b'user',
1568 b'user',
1569 default=None,
1569 default=None,
1570 )
1570 )
1571
1571
1572 coreconfigitem(
1572 coreconfigitem(
1573 b'http',
1573 b'http',
1574 b'timeout',
1574 b'timeout',
1575 default=None,
1575 default=None,
1576 )
1576 )
1577
1577
1578 coreconfigitem(
1578 coreconfigitem(
1579 b'logtoprocess',
1579 b'logtoprocess',
1580 b'commandexception',
1580 b'commandexception',
1581 default=None,
1581 default=None,
1582 )
1582 )
1583 coreconfigitem(
1583 coreconfigitem(
1584 b'logtoprocess',
1584 b'logtoprocess',
1585 b'commandfinish',
1585 b'commandfinish',
1586 default=None,
1586 default=None,
1587 )
1587 )
1588 coreconfigitem(
1588 coreconfigitem(
1589 b'logtoprocess',
1589 b'logtoprocess',
1590 b'command',
1590 b'command',
1591 default=None,
1591 default=None,
1592 )
1592 )
1593 coreconfigitem(
1593 coreconfigitem(
1594 b'logtoprocess',
1594 b'logtoprocess',
1595 b'develwarn',
1595 b'develwarn',
1596 default=None,
1596 default=None,
1597 )
1597 )
1598 coreconfigitem(
1598 coreconfigitem(
1599 b'logtoprocess',
1599 b'logtoprocess',
1600 b'uiblocked',
1600 b'uiblocked',
1601 default=None,
1601 default=None,
1602 )
1602 )
1603 coreconfigitem(
1603 coreconfigitem(
1604 b'merge',
1604 b'merge',
1605 b'checkunknown',
1605 b'checkunknown',
1606 default=b'abort',
1606 default=b'abort',
1607 )
1607 )
1608 coreconfigitem(
1608 coreconfigitem(
1609 b'merge',
1609 b'merge',
1610 b'checkignored',
1610 b'checkignored',
1611 default=b'abort',
1611 default=b'abort',
1612 )
1612 )
1613 coreconfigitem(
1613 coreconfigitem(
1614 b'experimental',
1614 b'experimental',
1615 b'merge.checkpathconflicts',
1615 b'merge.checkpathconflicts',
1616 default=False,
1616 default=False,
1617 )
1617 )
1618 coreconfigitem(
1618 coreconfigitem(
1619 b'merge',
1619 b'merge',
1620 b'followcopies',
1620 b'followcopies',
1621 default=True,
1621 default=True,
1622 )
1622 )
1623 coreconfigitem(
1623 coreconfigitem(
1624 b'merge',
1624 b'merge',
1625 b'on-failure',
1625 b'on-failure',
1626 default=b'continue',
1626 default=b'continue',
1627 )
1627 )
1628 coreconfigitem(
1628 coreconfigitem(
1629 b'merge',
1629 b'merge',
1630 b'preferancestor',
1630 b'preferancestor',
1631 default=lambda: [b'*'],
1631 default=lambda: [b'*'],
1632 experimental=True,
1632 experimental=True,
1633 )
1633 )
1634 coreconfigitem(
1634 coreconfigitem(
1635 b'merge',
1635 b'merge',
1636 b'strict-capability-check',
1636 b'strict-capability-check',
1637 default=False,
1637 default=False,
1638 )
1638 )
1639 coreconfigitem(
1639 coreconfigitem(
1640 b'merge',
1640 b'merge',
1641 b'disable-partial-tools',
1641 b'disable-partial-tools',
1642 default=False,
1642 default=False,
1643 experimental=True,
1643 experimental=True,
1644 )
1644 )
1645 coreconfigitem(
1645 coreconfigitem(
1646 b'partial-merge-tools',
1646 b'partial-merge-tools',
1647 b'.*',
1647 b'.*',
1648 default=None,
1648 default=None,
1649 generic=True,
1649 generic=True,
1650 experimental=True,
1650 experimental=True,
1651 )
1651 )
1652 coreconfigitem(
1652 coreconfigitem(
1653 b'partial-merge-tools',
1653 b'partial-merge-tools',
1654 br'.*\.patterns',
1654 br'.*\.patterns',
1655 default=dynamicdefault,
1655 default=dynamicdefault,
1656 generic=True,
1656 generic=True,
1657 priority=-1,
1657 priority=-1,
1658 experimental=True,
1658 experimental=True,
1659 )
1659 )
1660 coreconfigitem(
1660 coreconfigitem(
1661 b'partial-merge-tools',
1661 b'partial-merge-tools',
1662 br'.*\.executable$',
1662 br'.*\.executable$',
1663 default=dynamicdefault,
1663 default=dynamicdefault,
1664 generic=True,
1664 generic=True,
1665 priority=-1,
1665 priority=-1,
1666 experimental=True,
1666 experimental=True,
1667 )
1667 )
1668 coreconfigitem(
1668 coreconfigitem(
1669 b'partial-merge-tools',
1669 b'partial-merge-tools',
1670 br'.*\.order',
1670 br'.*\.order',
1671 default=0,
1671 default=0,
1672 generic=True,
1672 generic=True,
1673 priority=-1,
1673 priority=-1,
1674 experimental=True,
1674 experimental=True,
1675 )
1675 )
1676 coreconfigitem(
1676 coreconfigitem(
1677 b'partial-merge-tools',
1677 b'partial-merge-tools',
1678 br'.*\.args',
1678 br'.*\.args',
1679 default=b"$local $base $other",
1679 default=b"$local $base $other",
1680 generic=True,
1680 generic=True,
1681 priority=-1,
1681 priority=-1,
1682 experimental=True,
1682 experimental=True,
1683 )
1683 )
1684 coreconfigitem(
1684 coreconfigitem(
1685 b'partial-merge-tools',
1685 b'partial-merge-tools',
1686 br'.*\.disable',
1686 br'.*\.disable',
1687 default=False,
1687 default=False,
1688 generic=True,
1688 generic=True,
1689 priority=-1,
1689 priority=-1,
1690 experimental=True,
1690 experimental=True,
1691 )
1691 )
1692 coreconfigitem(
1692 coreconfigitem(
1693 b'merge-tools',
1693 b'merge-tools',
1694 b'.*',
1694 b'.*',
1695 default=None,
1695 default=None,
1696 generic=True,
1696 generic=True,
1697 )
1697 )
1698 coreconfigitem(
1698 coreconfigitem(
1699 b'merge-tools',
1699 b'merge-tools',
1700 br'.*\.args$',
1700 br'.*\.args$',
1701 default=b"$local $base $other",
1701 default=b"$local $base $other",
1702 generic=True,
1702 generic=True,
1703 priority=-1,
1703 priority=-1,
1704 )
1704 )
1705 coreconfigitem(
1705 coreconfigitem(
1706 b'merge-tools',
1706 b'merge-tools',
1707 br'.*\.binary$',
1707 br'.*\.binary$',
1708 default=False,
1708 default=False,
1709 generic=True,
1709 generic=True,
1710 priority=-1,
1710 priority=-1,
1711 )
1711 )
1712 coreconfigitem(
1712 coreconfigitem(
1713 b'merge-tools',
1713 b'merge-tools',
1714 br'.*\.check$',
1714 br'.*\.check$',
1715 default=list,
1715 default=list,
1716 generic=True,
1716 generic=True,
1717 priority=-1,
1717 priority=-1,
1718 )
1718 )
1719 coreconfigitem(
1719 coreconfigitem(
1720 b'merge-tools',
1720 b'merge-tools',
1721 br'.*\.checkchanged$',
1721 br'.*\.checkchanged$',
1722 default=False,
1722 default=False,
1723 generic=True,
1723 generic=True,
1724 priority=-1,
1724 priority=-1,
1725 )
1725 )
1726 coreconfigitem(
1726 coreconfigitem(
1727 b'merge-tools',
1727 b'merge-tools',
1728 br'.*\.executable$',
1728 br'.*\.executable$',
1729 default=dynamicdefault,
1729 default=dynamicdefault,
1730 generic=True,
1730 generic=True,
1731 priority=-1,
1731 priority=-1,
1732 )
1732 )
1733 coreconfigitem(
1733 coreconfigitem(
1734 b'merge-tools',
1734 b'merge-tools',
1735 br'.*\.fixeol$',
1735 br'.*\.fixeol$',
1736 default=False,
1736 default=False,
1737 generic=True,
1737 generic=True,
1738 priority=-1,
1738 priority=-1,
1739 )
1739 )
1740 coreconfigitem(
1740 coreconfigitem(
1741 b'merge-tools',
1741 b'merge-tools',
1742 br'.*\.gui$',
1742 br'.*\.gui$',
1743 default=False,
1743 default=False,
1744 generic=True,
1744 generic=True,
1745 priority=-1,
1745 priority=-1,
1746 )
1746 )
1747 coreconfigitem(
1747 coreconfigitem(
1748 b'merge-tools',
1748 b'merge-tools',
1749 br'.*\.mergemarkers$',
1749 br'.*\.mergemarkers$',
1750 default=b'basic',
1750 default=b'basic',
1751 generic=True,
1751 generic=True,
1752 priority=-1,
1752 priority=-1,
1753 )
1753 )
1754 coreconfigitem(
1754 coreconfigitem(
1755 b'merge-tools',
1755 b'merge-tools',
1756 br'.*\.mergemarkertemplate$',
1756 br'.*\.mergemarkertemplate$',
1757 default=dynamicdefault, # take from command-templates.mergemarker
1757 default=dynamicdefault, # take from command-templates.mergemarker
1758 generic=True,
1758 generic=True,
1759 priority=-1,
1759 priority=-1,
1760 )
1760 )
1761 coreconfigitem(
1761 coreconfigitem(
1762 b'merge-tools',
1762 b'merge-tools',
1763 br'.*\.priority$',
1763 br'.*\.priority$',
1764 default=0,
1764 default=0,
1765 generic=True,
1765 generic=True,
1766 priority=-1,
1766 priority=-1,
1767 )
1767 )
1768 coreconfigitem(
1768 coreconfigitem(
1769 b'merge-tools',
1769 b'merge-tools',
1770 br'.*\.premerge$',
1770 br'.*\.premerge$',
1771 default=dynamicdefault,
1771 default=dynamicdefault,
1772 generic=True,
1772 generic=True,
1773 priority=-1,
1773 priority=-1,
1774 )
1774 )
1775 coreconfigitem(
1775 coreconfigitem(
1776 b'merge-tools',
1776 b'merge-tools',
1777 br'.*\.symlink$',
1777 br'.*\.symlink$',
1778 default=False,
1778 default=False,
1779 generic=True,
1779 generic=True,
1780 priority=-1,
1780 priority=-1,
1781 )
1781 )
1782 coreconfigitem(
1782 coreconfigitem(
1783 b'pager',
1783 b'pager',
1784 b'attend-.*',
1784 b'attend-.*',
1785 default=dynamicdefault,
1785 default=dynamicdefault,
1786 generic=True,
1786 generic=True,
1787 )
1787 )
1788 coreconfigitem(
1788 coreconfigitem(
1789 b'pager',
1789 b'pager',
1790 b'ignore',
1790 b'ignore',
1791 default=list,
1791 default=list,
1792 )
1792 )
1793 coreconfigitem(
1793 coreconfigitem(
1794 b'pager',
1794 b'pager',
1795 b'pager',
1795 b'pager',
1796 default=dynamicdefault,
1796 default=dynamicdefault,
1797 )
1797 )
1798 coreconfigitem(
1798 coreconfigitem(
1799 b'patch',
1799 b'patch',
1800 b'eol',
1800 b'eol',
1801 default=b'strict',
1801 default=b'strict',
1802 )
1802 )
1803 coreconfigitem(
1803 coreconfigitem(
1804 b'patch',
1804 b'patch',
1805 b'fuzz',
1805 b'fuzz',
1806 default=2,
1806 default=2,
1807 )
1807 )
1808 coreconfigitem(
1808 coreconfigitem(
1809 b'paths',
1809 b'paths',
1810 b'default',
1810 b'default',
1811 default=None,
1811 default=None,
1812 )
1812 )
1813 coreconfigitem(
1813 coreconfigitem(
1814 b'paths',
1814 b'paths',
1815 b'default-push',
1815 b'default-push',
1816 default=None,
1816 default=None,
1817 )
1817 )
1818 coreconfigitem(
1818 coreconfigitem(
1819 b'paths',
1819 b'paths',
1820 b'.*',
1820 b'.*',
1821 default=None,
1821 default=None,
1822 generic=True,
1822 generic=True,
1823 )
1823 )
1824 coreconfigitem(
1824 coreconfigitem(
1825 b'paths',
1825 b'paths',
1826 b'.*:bookmarks.mode',
1826 b'.*:bookmarks.mode',
1827 default='default',
1827 default='default',
1828 generic=True,
1828 generic=True,
1829 )
1829 )
1830 coreconfigitem(
1830 coreconfigitem(
1831 b'paths',
1831 b'paths',
1832 b'.*:multi-urls',
1832 b'.*:multi-urls',
1833 default=False,
1833 default=False,
1834 generic=True,
1834 generic=True,
1835 )
1835 )
1836 coreconfigitem(
1836 coreconfigitem(
1837 b'paths',
1837 b'paths',
1838 b'.*:pushrev',
1838 b'.*:pushrev',
1839 default=None,
1839 default=None,
1840 generic=True,
1840 generic=True,
1841 )
1841 )
1842 coreconfigitem(
1842 coreconfigitem(
1843 b'paths',
1843 b'paths',
1844 b'.*:pushurl',
1844 b'.*:pushurl',
1845 default=None,
1845 default=None,
1846 generic=True,
1846 generic=True,
1847 )
1847 )
1848 coreconfigitem(
1848 coreconfigitem(
1849 b'phases',
1849 b'phases',
1850 b'checksubrepos',
1850 b'checksubrepos',
1851 default=b'follow',
1851 default=b'follow',
1852 )
1852 )
1853 coreconfigitem(
1853 coreconfigitem(
1854 b'phases',
1854 b'phases',
1855 b'new-commit',
1855 b'new-commit',
1856 default=b'draft',
1856 default=b'draft',
1857 )
1857 )
1858 coreconfigitem(
1858 coreconfigitem(
1859 b'phases',
1859 b'phases',
1860 b'publish',
1860 b'publish',
1861 default=True,
1861 default=True,
1862 )
1862 )
1863 coreconfigitem(
1863 coreconfigitem(
1864 b'profiling',
1864 b'profiling',
1865 b'enabled',
1865 b'enabled',
1866 default=False,
1866 default=False,
1867 )
1867 )
1868 coreconfigitem(
1868 coreconfigitem(
1869 b'profiling',
1869 b'profiling',
1870 b'format',
1870 b'format',
1871 default=b'text',
1871 default=b'text',
1872 )
1872 )
1873 coreconfigitem(
1873 coreconfigitem(
1874 b'profiling',
1874 b'profiling',
1875 b'freq',
1875 b'freq',
1876 default=1000,
1876 default=1000,
1877 )
1877 )
1878 coreconfigitem(
1878 coreconfigitem(
1879 b'profiling',
1879 b'profiling',
1880 b'limit',
1880 b'limit',
1881 default=30,
1881 default=30,
1882 )
1882 )
1883 coreconfigitem(
1883 coreconfigitem(
1884 b'profiling',
1884 b'profiling',
1885 b'nested',
1885 b'nested',
1886 default=0,
1886 default=0,
1887 )
1887 )
1888 coreconfigitem(
1888 coreconfigitem(
1889 b'profiling',
1889 b'profiling',
1890 b'output',
1890 b'output',
1891 default=None,
1891 default=None,
1892 )
1892 )
1893 coreconfigitem(
1893 coreconfigitem(
1894 b'profiling',
1894 b'profiling',
1895 b'showmax',
1895 b'showmax',
1896 default=0.999,
1896 default=0.999,
1897 )
1897 )
1898 coreconfigitem(
1898 coreconfigitem(
1899 b'profiling',
1899 b'profiling',
1900 b'showmin',
1900 b'showmin',
1901 default=dynamicdefault,
1901 default=dynamicdefault,
1902 )
1902 )
1903 coreconfigitem(
1903 coreconfigitem(
1904 b'profiling',
1904 b'profiling',
1905 b'showtime',
1905 b'showtime',
1906 default=True,
1906 default=True,
1907 )
1907 )
1908 coreconfigitem(
1908 coreconfigitem(
1909 b'profiling',
1909 b'profiling',
1910 b'sort',
1910 b'sort',
1911 default=b'inlinetime',
1911 default=b'inlinetime',
1912 )
1912 )
1913 coreconfigitem(
1913 coreconfigitem(
1914 b'profiling',
1914 b'profiling',
1915 b'statformat',
1915 b'statformat',
1916 default=b'hotpath',
1916 default=b'hotpath',
1917 )
1917 )
1918 coreconfigitem(
1918 coreconfigitem(
1919 b'profiling',
1919 b'profiling',
1920 b'time-track',
1920 b'time-track',
1921 default=dynamicdefault,
1921 default=dynamicdefault,
1922 )
1922 )
1923 coreconfigitem(
1923 coreconfigitem(
1924 b'profiling',
1924 b'profiling',
1925 b'type',
1925 b'type',
1926 default=b'stat',
1926 default=b'stat',
1927 )
1927 )
1928 coreconfigitem(
1928 coreconfigitem(
1929 b'progress',
1929 b'progress',
1930 b'assume-tty',
1930 b'assume-tty',
1931 default=False,
1931 default=False,
1932 )
1932 )
1933 coreconfigitem(
1933 coreconfigitem(
1934 b'progress',
1934 b'progress',
1935 b'changedelay',
1935 b'changedelay',
1936 default=1,
1936 default=1,
1937 )
1937 )
1938 coreconfigitem(
1938 coreconfigitem(
1939 b'progress',
1939 b'progress',
1940 b'clear-complete',
1940 b'clear-complete',
1941 default=True,
1941 default=True,
1942 )
1942 )
1943 coreconfigitem(
1943 coreconfigitem(
1944 b'progress',
1944 b'progress',
1945 b'debug',
1945 b'debug',
1946 default=False,
1946 default=False,
1947 )
1947 )
1948 coreconfigitem(
1948 coreconfigitem(
1949 b'progress',
1949 b'progress',
1950 b'delay',
1950 b'delay',
1951 default=3,
1951 default=3,
1952 )
1952 )
1953 coreconfigitem(
1953 coreconfigitem(
1954 b'progress',
1954 b'progress',
1955 b'disable',
1955 b'disable',
1956 default=False,
1956 default=False,
1957 )
1957 )
1958 coreconfigitem(
1958 coreconfigitem(
1959 b'progress',
1959 b'progress',
1960 b'estimateinterval',
1960 b'estimateinterval',
1961 default=60.0,
1961 default=60.0,
1962 )
1962 )
1963 coreconfigitem(
1963 coreconfigitem(
1964 b'progress',
1964 b'progress',
1965 b'format',
1965 b'format',
1966 default=lambda: [b'topic', b'bar', b'number', b'estimate'],
1966 default=lambda: [b'topic', b'bar', b'number', b'estimate'],
1967 )
1967 )
1968 coreconfigitem(
1968 coreconfigitem(
1969 b'progress',
1969 b'progress',
1970 b'refresh',
1970 b'refresh',
1971 default=0.1,
1971 default=0.1,
1972 )
1972 )
1973 coreconfigitem(
1973 coreconfigitem(
1974 b'progress',
1974 b'progress',
1975 b'width',
1975 b'width',
1976 default=dynamicdefault,
1976 default=dynamicdefault,
1977 )
1977 )
1978 coreconfigitem(
1978 coreconfigitem(
1979 b'pull',
1979 b'pull',
1980 b'confirm',
1980 b'confirm',
1981 default=False,
1981 default=False,
1982 )
1982 )
1983 coreconfigitem(
1983 coreconfigitem(
1984 b'push',
1984 b'push',
1985 b'pushvars.server',
1985 b'pushvars.server',
1986 default=False,
1986 default=False,
1987 )
1987 )
1988 coreconfigitem(
1988 coreconfigitem(
1989 b'rewrite',
1989 b'rewrite',
1990 b'backup-bundle',
1990 b'backup-bundle',
1991 default=True,
1991 default=True,
1992 alias=[(b'ui', b'history-editing-backup')],
1992 alias=[(b'ui', b'history-editing-backup')],
1993 )
1993 )
1994 coreconfigitem(
1994 coreconfigitem(
1995 b'rewrite',
1995 b'rewrite',
1996 b'update-timestamp',
1996 b'update-timestamp',
1997 default=False,
1997 default=False,
1998 )
1998 )
1999 coreconfigitem(
1999 coreconfigitem(
2000 b'rewrite',
2000 b'rewrite',
2001 b'empty-successor',
2001 b'empty-successor',
2002 default=b'skip',
2002 default=b'skip',
2003 experimental=True,
2003 experimental=True,
2004 )
2004 )
2005 # experimental as long as format.use-dirstate-v2 is.
2005 # experimental as long as format.use-dirstate-v2 is.
2006 coreconfigitem(
2006 coreconfigitem(
2007 b'storage',
2007 b'storage',
2008 b'dirstate-v2.slow-path',
2008 b'dirstate-v2.slow-path',
2009 default=b"abort",
2009 default=b"abort",
2010 experimental=True,
2010 experimental=True,
2011 )
2011 )
2012 coreconfigitem(
2012 coreconfigitem(
2013 b'storage',
2013 b'storage',
2014 b'new-repo-backend',
2014 b'new-repo-backend',
2015 default=b'revlogv1',
2015 default=b'revlogv1',
2016 experimental=True,
2016 experimental=True,
2017 )
2017 )
2018 coreconfigitem(
2018 coreconfigitem(
2019 b'storage',
2019 b'storage',
2020 b'revlog.optimize-delta-parent-choice',
2020 b'revlog.optimize-delta-parent-choice',
2021 default=True,
2021 default=True,
2022 alias=[(b'format', b'aggressivemergedeltas')],
2022 alias=[(b'format', b'aggressivemergedeltas')],
2023 )
2023 )
2024 coreconfigitem(
2024 coreconfigitem(
2025 b'storage',
2025 b'storage',
2026 b'revlog.issue6528.fix-incoming',
2026 b'revlog.issue6528.fix-incoming',
2027 default=True,
2027 default=True,
2028 )
2028 )
2029 # experimental as long as rust is experimental (or a C version is implemented)
2029 # experimental as long as rust is experimental (or a C version is implemented)
2030 coreconfigitem(
2030 coreconfigitem(
2031 b'storage',
2031 b'storage',
2032 b'revlog.persistent-nodemap.mmap',
2032 b'revlog.persistent-nodemap.mmap',
2033 default=True,
2033 default=True,
2034 )
2034 )
2035 # experimental as long as format.use-persistent-nodemap is.
2035 # experimental as long as format.use-persistent-nodemap is.
2036 coreconfigitem(
2036 coreconfigitem(
2037 b'storage',
2037 b'storage',
2038 b'revlog.persistent-nodemap.slow-path',
2038 b'revlog.persistent-nodemap.slow-path',
2039 default=b"abort",
2039 default=b"abort",
2040 )
2040 )
2041
2041
2042 coreconfigitem(
2042 coreconfigitem(
2043 b'storage',
2043 b'storage',
2044 b'revlog.reuse-external-delta',
2044 b'revlog.reuse-external-delta',
2045 default=True,
2045 default=True,
2046 )
2046 )
2047 coreconfigitem(
2047 coreconfigitem(
2048 b'storage',
2048 b'storage',
2049 b'revlog.reuse-external-delta-parent',
2049 b'revlog.reuse-external-delta-parent',
2050 default=None,
2050 default=None,
2051 )
2051 )
2052 coreconfigitem(
2052 coreconfigitem(
2053 b'storage',
2053 b'storage',
2054 b'revlog.zlib.level',
2054 b'revlog.zlib.level',
2055 default=None,
2055 default=None,
2056 )
2056 )
2057 coreconfigitem(
2057 coreconfigitem(
2058 b'storage',
2058 b'storage',
2059 b'revlog.zstd.level',
2059 b'revlog.zstd.level',
2060 default=None,
2060 default=None,
2061 )
2061 )
2062 coreconfigitem(
2062 coreconfigitem(
2063 b'server',
2063 b'server',
2064 b'bookmarks-pushkey-compat',
2064 b'bookmarks-pushkey-compat',
2065 default=True,
2065 default=True,
2066 )
2066 )
2067 coreconfigitem(
2067 coreconfigitem(
2068 b'server',
2068 b'server',
2069 b'bundle1',
2069 b'bundle1',
2070 default=True,
2070 default=True,
2071 )
2071 )
2072 coreconfigitem(
2072 coreconfigitem(
2073 b'server',
2073 b'server',
2074 b'bundle1gd',
2074 b'bundle1gd',
2075 default=None,
2075 default=None,
2076 )
2076 )
2077 coreconfigitem(
2077 coreconfigitem(
2078 b'server',
2078 b'server',
2079 b'bundle1.pull',
2079 b'bundle1.pull',
2080 default=None,
2080 default=None,
2081 )
2081 )
2082 coreconfigitem(
2082 coreconfigitem(
2083 b'server',
2083 b'server',
2084 b'bundle1gd.pull',
2084 b'bundle1gd.pull',
2085 default=None,
2085 default=None,
2086 )
2086 )
2087 coreconfigitem(
2087 coreconfigitem(
2088 b'server',
2088 b'server',
2089 b'bundle1.push',
2089 b'bundle1.push',
2090 default=None,
2090 default=None,
2091 )
2091 )
2092 coreconfigitem(
2092 coreconfigitem(
2093 b'server',
2093 b'server',
2094 b'bundle1gd.push',
2094 b'bundle1gd.push',
2095 default=None,
2095 default=None,
2096 )
2096 )
2097 coreconfigitem(
2097 coreconfigitem(
2098 b'server',
2098 b'server',
2099 b'bundle2.stream',
2099 b'bundle2.stream',
2100 default=True,
2100 default=True,
2101 alias=[(b'experimental', b'bundle2.stream')],
2101 alias=[(b'experimental', b'bundle2.stream')],
2102 )
2102 )
2103 coreconfigitem(
2103 coreconfigitem(
2104 b'server',
2104 b'server',
2105 b'compressionengines',
2105 b'compressionengines',
2106 default=list,
2106 default=list,
2107 )
2107 )
2108 coreconfigitem(
2108 coreconfigitem(
2109 b'server',
2109 b'server',
2110 b'concurrent-push-mode',
2110 b'concurrent-push-mode',
2111 default=b'check-related',
2111 default=b'check-related',
2112 )
2112 )
2113 coreconfigitem(
2113 coreconfigitem(
2114 b'server',
2114 b'server',
2115 b'disablefullbundle',
2115 b'disablefullbundle',
2116 default=False,
2116 default=False,
2117 )
2117 )
2118 coreconfigitem(
2118 coreconfigitem(
2119 b'server',
2119 b'server',
2120 b'maxhttpheaderlen',
2120 b'maxhttpheaderlen',
2121 default=1024,
2121 default=1024,
2122 )
2122 )
2123 coreconfigitem(
2123 coreconfigitem(
2124 b'server',
2124 b'server',
2125 b'pullbundle',
2125 b'pullbundle',
2126 default=False,
2126 default=True,
2127 )
2127 )
2128 coreconfigitem(
2128 coreconfigitem(
2129 b'server',
2129 b'server',
2130 b'preferuncompressed',
2130 b'preferuncompressed',
2131 default=False,
2131 default=False,
2132 )
2132 )
2133 coreconfigitem(
2133 coreconfigitem(
2134 b'server',
2134 b'server',
2135 b'streamunbundle',
2135 b'streamunbundle',
2136 default=False,
2136 default=False,
2137 )
2137 )
2138 coreconfigitem(
2138 coreconfigitem(
2139 b'server',
2139 b'server',
2140 b'uncompressed',
2140 b'uncompressed',
2141 default=True,
2141 default=True,
2142 )
2142 )
2143 coreconfigitem(
2143 coreconfigitem(
2144 b'server',
2144 b'server',
2145 b'uncompressedallowsecret',
2145 b'uncompressedallowsecret',
2146 default=False,
2146 default=False,
2147 )
2147 )
2148 coreconfigitem(
2148 coreconfigitem(
2149 b'server',
2149 b'server',
2150 b'view',
2150 b'view',
2151 default=b'served',
2151 default=b'served',
2152 )
2152 )
2153 coreconfigitem(
2153 coreconfigitem(
2154 b'server',
2154 b'server',
2155 b'validate',
2155 b'validate',
2156 default=False,
2156 default=False,
2157 )
2157 )
2158 coreconfigitem(
2158 coreconfigitem(
2159 b'server',
2159 b'server',
2160 b'zliblevel',
2160 b'zliblevel',
2161 default=-1,
2161 default=-1,
2162 )
2162 )
2163 coreconfigitem(
2163 coreconfigitem(
2164 b'server',
2164 b'server',
2165 b'zstdlevel',
2165 b'zstdlevel',
2166 default=3,
2166 default=3,
2167 )
2167 )
2168 coreconfigitem(
2168 coreconfigitem(
2169 b'share',
2169 b'share',
2170 b'pool',
2170 b'pool',
2171 default=None,
2171 default=None,
2172 )
2172 )
2173 coreconfigitem(
2173 coreconfigitem(
2174 b'share',
2174 b'share',
2175 b'poolnaming',
2175 b'poolnaming',
2176 default=b'identity',
2176 default=b'identity',
2177 )
2177 )
2178 coreconfigitem(
2178 coreconfigitem(
2179 b'share',
2179 b'share',
2180 b'safe-mismatch.source-not-safe',
2180 b'safe-mismatch.source-not-safe',
2181 default=b'abort',
2181 default=b'abort',
2182 )
2182 )
2183 coreconfigitem(
2183 coreconfigitem(
2184 b'share',
2184 b'share',
2185 b'safe-mismatch.source-safe',
2185 b'safe-mismatch.source-safe',
2186 default=b'abort',
2186 default=b'abort',
2187 )
2187 )
2188 coreconfigitem(
2188 coreconfigitem(
2189 b'share',
2189 b'share',
2190 b'safe-mismatch.source-not-safe.warn',
2190 b'safe-mismatch.source-not-safe.warn',
2191 default=True,
2191 default=True,
2192 )
2192 )
2193 coreconfigitem(
2193 coreconfigitem(
2194 b'share',
2194 b'share',
2195 b'safe-mismatch.source-safe.warn',
2195 b'safe-mismatch.source-safe.warn',
2196 default=True,
2196 default=True,
2197 )
2197 )
2198 coreconfigitem(
2198 coreconfigitem(
2199 b'share',
2199 b'share',
2200 b'safe-mismatch.source-not-safe:verbose-upgrade',
2200 b'safe-mismatch.source-not-safe:verbose-upgrade',
2201 default=True,
2201 default=True,
2202 )
2202 )
2203 coreconfigitem(
2203 coreconfigitem(
2204 b'share',
2204 b'share',
2205 b'safe-mismatch.source-safe:verbose-upgrade',
2205 b'safe-mismatch.source-safe:verbose-upgrade',
2206 default=True,
2206 default=True,
2207 )
2207 )
2208 coreconfigitem(
2208 coreconfigitem(
2209 b'shelve',
2209 b'shelve',
2210 b'maxbackups',
2210 b'maxbackups',
2211 default=10,
2211 default=10,
2212 )
2212 )
2213 coreconfigitem(
2213 coreconfigitem(
2214 b'smtp',
2214 b'smtp',
2215 b'host',
2215 b'host',
2216 default=None,
2216 default=None,
2217 )
2217 )
2218 coreconfigitem(
2218 coreconfigitem(
2219 b'smtp',
2219 b'smtp',
2220 b'local_hostname',
2220 b'local_hostname',
2221 default=None,
2221 default=None,
2222 )
2222 )
2223 coreconfigitem(
2223 coreconfigitem(
2224 b'smtp',
2224 b'smtp',
2225 b'password',
2225 b'password',
2226 default=None,
2226 default=None,
2227 )
2227 )
2228 coreconfigitem(
2228 coreconfigitem(
2229 b'smtp',
2229 b'smtp',
2230 b'port',
2230 b'port',
2231 default=dynamicdefault,
2231 default=dynamicdefault,
2232 )
2232 )
2233 coreconfigitem(
2233 coreconfigitem(
2234 b'smtp',
2234 b'smtp',
2235 b'tls',
2235 b'tls',
2236 default=b'none',
2236 default=b'none',
2237 )
2237 )
2238 coreconfigitem(
2238 coreconfigitem(
2239 b'smtp',
2239 b'smtp',
2240 b'username',
2240 b'username',
2241 default=None,
2241 default=None,
2242 )
2242 )
2243 coreconfigitem(
2243 coreconfigitem(
2244 b'sparse',
2244 b'sparse',
2245 b'missingwarning',
2245 b'missingwarning',
2246 default=True,
2246 default=True,
2247 experimental=True,
2247 experimental=True,
2248 )
2248 )
2249 coreconfigitem(
2249 coreconfigitem(
2250 b'subrepos',
2250 b'subrepos',
2251 b'allowed',
2251 b'allowed',
2252 default=dynamicdefault, # to make backporting simpler
2252 default=dynamicdefault, # to make backporting simpler
2253 )
2253 )
2254 coreconfigitem(
2254 coreconfigitem(
2255 b'subrepos',
2255 b'subrepos',
2256 b'hg:allowed',
2256 b'hg:allowed',
2257 default=dynamicdefault,
2257 default=dynamicdefault,
2258 )
2258 )
2259 coreconfigitem(
2259 coreconfigitem(
2260 b'subrepos',
2260 b'subrepos',
2261 b'git:allowed',
2261 b'git:allowed',
2262 default=dynamicdefault,
2262 default=dynamicdefault,
2263 )
2263 )
2264 coreconfigitem(
2264 coreconfigitem(
2265 b'subrepos',
2265 b'subrepos',
2266 b'svn:allowed',
2266 b'svn:allowed',
2267 default=dynamicdefault,
2267 default=dynamicdefault,
2268 )
2268 )
2269 coreconfigitem(
2269 coreconfigitem(
2270 b'templates',
2270 b'templates',
2271 b'.*',
2271 b'.*',
2272 default=None,
2272 default=None,
2273 generic=True,
2273 generic=True,
2274 )
2274 )
2275 coreconfigitem(
2275 coreconfigitem(
2276 b'templateconfig',
2276 b'templateconfig',
2277 b'.*',
2277 b'.*',
2278 default=dynamicdefault,
2278 default=dynamicdefault,
2279 generic=True,
2279 generic=True,
2280 )
2280 )
2281 coreconfigitem(
2281 coreconfigitem(
2282 b'trusted',
2282 b'trusted',
2283 b'groups',
2283 b'groups',
2284 default=list,
2284 default=list,
2285 )
2285 )
2286 coreconfigitem(
2286 coreconfigitem(
2287 b'trusted',
2287 b'trusted',
2288 b'users',
2288 b'users',
2289 default=list,
2289 default=list,
2290 )
2290 )
2291 coreconfigitem(
2291 coreconfigitem(
2292 b'ui',
2292 b'ui',
2293 b'_usedassubrepo',
2293 b'_usedassubrepo',
2294 default=False,
2294 default=False,
2295 )
2295 )
2296 coreconfigitem(
2296 coreconfigitem(
2297 b'ui',
2297 b'ui',
2298 b'allowemptycommit',
2298 b'allowemptycommit',
2299 default=False,
2299 default=False,
2300 )
2300 )
2301 coreconfigitem(
2301 coreconfigitem(
2302 b'ui',
2302 b'ui',
2303 b'archivemeta',
2303 b'archivemeta',
2304 default=True,
2304 default=True,
2305 )
2305 )
2306 coreconfigitem(
2306 coreconfigitem(
2307 b'ui',
2307 b'ui',
2308 b'askusername',
2308 b'askusername',
2309 default=False,
2309 default=False,
2310 )
2310 )
2311 coreconfigitem(
2311 coreconfigitem(
2312 b'ui',
2312 b'ui',
2313 b'available-memory',
2313 b'available-memory',
2314 default=None,
2314 default=None,
2315 )
2315 )
2316
2316
2317 coreconfigitem(
2317 coreconfigitem(
2318 b'ui',
2318 b'ui',
2319 b'clonebundlefallback',
2319 b'clonebundlefallback',
2320 default=False,
2320 default=False,
2321 )
2321 )
2322 coreconfigitem(
2322 coreconfigitem(
2323 b'ui',
2323 b'ui',
2324 b'clonebundleprefers',
2324 b'clonebundleprefers',
2325 default=list,
2325 default=list,
2326 )
2326 )
2327 coreconfigitem(
2327 coreconfigitem(
2328 b'ui',
2328 b'ui',
2329 b'clonebundles',
2329 b'clonebundles',
2330 default=True,
2330 default=True,
2331 )
2331 )
2332 coreconfigitem(
2332 coreconfigitem(
2333 b'ui',
2333 b'ui',
2334 b'color',
2334 b'color',
2335 default=b'auto',
2335 default=b'auto',
2336 )
2336 )
2337 coreconfigitem(
2337 coreconfigitem(
2338 b'ui',
2338 b'ui',
2339 b'commitsubrepos',
2339 b'commitsubrepos',
2340 default=False,
2340 default=False,
2341 )
2341 )
2342 coreconfigitem(
2342 coreconfigitem(
2343 b'ui',
2343 b'ui',
2344 b'debug',
2344 b'debug',
2345 default=False,
2345 default=False,
2346 )
2346 )
2347 coreconfigitem(
2347 coreconfigitem(
2348 b'ui',
2348 b'ui',
2349 b'debugger',
2349 b'debugger',
2350 default=None,
2350 default=None,
2351 )
2351 )
2352 coreconfigitem(
2352 coreconfigitem(
2353 b'ui',
2353 b'ui',
2354 b'editor',
2354 b'editor',
2355 default=dynamicdefault,
2355 default=dynamicdefault,
2356 )
2356 )
2357 coreconfigitem(
2357 coreconfigitem(
2358 b'ui',
2358 b'ui',
2359 b'detailed-exit-code',
2359 b'detailed-exit-code',
2360 default=False,
2360 default=False,
2361 experimental=True,
2361 experimental=True,
2362 )
2362 )
2363 coreconfigitem(
2363 coreconfigitem(
2364 b'ui',
2364 b'ui',
2365 b'fallbackencoding',
2365 b'fallbackencoding',
2366 default=None,
2366 default=None,
2367 )
2367 )
2368 coreconfigitem(
2368 coreconfigitem(
2369 b'ui',
2369 b'ui',
2370 b'forcecwd',
2370 b'forcecwd',
2371 default=None,
2371 default=None,
2372 )
2372 )
2373 coreconfigitem(
2373 coreconfigitem(
2374 b'ui',
2374 b'ui',
2375 b'forcemerge',
2375 b'forcemerge',
2376 default=None,
2376 default=None,
2377 )
2377 )
2378 coreconfigitem(
2378 coreconfigitem(
2379 b'ui',
2379 b'ui',
2380 b'formatdebug',
2380 b'formatdebug',
2381 default=False,
2381 default=False,
2382 )
2382 )
2383 coreconfigitem(
2383 coreconfigitem(
2384 b'ui',
2384 b'ui',
2385 b'formatjson',
2385 b'formatjson',
2386 default=False,
2386 default=False,
2387 )
2387 )
2388 coreconfigitem(
2388 coreconfigitem(
2389 b'ui',
2389 b'ui',
2390 b'formatted',
2390 b'formatted',
2391 default=None,
2391 default=None,
2392 )
2392 )
2393 coreconfigitem(
2393 coreconfigitem(
2394 b'ui',
2394 b'ui',
2395 b'interactive',
2395 b'interactive',
2396 default=None,
2396 default=None,
2397 )
2397 )
2398 coreconfigitem(
2398 coreconfigitem(
2399 b'ui',
2399 b'ui',
2400 b'interface',
2400 b'interface',
2401 default=None,
2401 default=None,
2402 )
2402 )
2403 coreconfigitem(
2403 coreconfigitem(
2404 b'ui',
2404 b'ui',
2405 b'interface.chunkselector',
2405 b'interface.chunkselector',
2406 default=None,
2406 default=None,
2407 )
2407 )
2408 coreconfigitem(
2408 coreconfigitem(
2409 b'ui',
2409 b'ui',
2410 b'large-file-limit',
2410 b'large-file-limit',
2411 default=10 * (2 ** 20),
2411 default=10 * (2 ** 20),
2412 )
2412 )
2413 coreconfigitem(
2413 coreconfigitem(
2414 b'ui',
2414 b'ui',
2415 b'logblockedtimes',
2415 b'logblockedtimes',
2416 default=False,
2416 default=False,
2417 )
2417 )
2418 coreconfigitem(
2418 coreconfigitem(
2419 b'ui',
2419 b'ui',
2420 b'merge',
2420 b'merge',
2421 default=None,
2421 default=None,
2422 )
2422 )
2423 coreconfigitem(
2423 coreconfigitem(
2424 b'ui',
2424 b'ui',
2425 b'mergemarkers',
2425 b'mergemarkers',
2426 default=b'basic',
2426 default=b'basic',
2427 )
2427 )
2428 coreconfigitem(
2428 coreconfigitem(
2429 b'ui',
2429 b'ui',
2430 b'message-output',
2430 b'message-output',
2431 default=b'stdio',
2431 default=b'stdio',
2432 )
2432 )
2433 coreconfigitem(
2433 coreconfigitem(
2434 b'ui',
2434 b'ui',
2435 b'nontty',
2435 b'nontty',
2436 default=False,
2436 default=False,
2437 )
2437 )
2438 coreconfigitem(
2438 coreconfigitem(
2439 b'ui',
2439 b'ui',
2440 b'origbackuppath',
2440 b'origbackuppath',
2441 default=None,
2441 default=None,
2442 )
2442 )
2443 coreconfigitem(
2443 coreconfigitem(
2444 b'ui',
2444 b'ui',
2445 b'paginate',
2445 b'paginate',
2446 default=True,
2446 default=True,
2447 )
2447 )
2448 coreconfigitem(
2448 coreconfigitem(
2449 b'ui',
2449 b'ui',
2450 b'patch',
2450 b'patch',
2451 default=None,
2451 default=None,
2452 )
2452 )
2453 coreconfigitem(
2453 coreconfigitem(
2454 b'ui',
2454 b'ui',
2455 b'portablefilenames',
2455 b'portablefilenames',
2456 default=b'warn',
2456 default=b'warn',
2457 )
2457 )
2458 coreconfigitem(
2458 coreconfigitem(
2459 b'ui',
2459 b'ui',
2460 b'promptecho',
2460 b'promptecho',
2461 default=False,
2461 default=False,
2462 )
2462 )
2463 coreconfigitem(
2463 coreconfigitem(
2464 b'ui',
2464 b'ui',
2465 b'quiet',
2465 b'quiet',
2466 default=False,
2466 default=False,
2467 )
2467 )
2468 coreconfigitem(
2468 coreconfigitem(
2469 b'ui',
2469 b'ui',
2470 b'quietbookmarkmove',
2470 b'quietbookmarkmove',
2471 default=False,
2471 default=False,
2472 )
2472 )
2473 coreconfigitem(
2473 coreconfigitem(
2474 b'ui',
2474 b'ui',
2475 b'relative-paths',
2475 b'relative-paths',
2476 default=b'legacy',
2476 default=b'legacy',
2477 )
2477 )
2478 coreconfigitem(
2478 coreconfigitem(
2479 b'ui',
2479 b'ui',
2480 b'remotecmd',
2480 b'remotecmd',
2481 default=b'hg',
2481 default=b'hg',
2482 )
2482 )
2483 coreconfigitem(
2483 coreconfigitem(
2484 b'ui',
2484 b'ui',
2485 b'report_untrusted',
2485 b'report_untrusted',
2486 default=True,
2486 default=True,
2487 )
2487 )
2488 coreconfigitem(
2488 coreconfigitem(
2489 b'ui',
2489 b'ui',
2490 b'rollback',
2490 b'rollback',
2491 default=True,
2491 default=True,
2492 )
2492 )
2493 coreconfigitem(
2493 coreconfigitem(
2494 b'ui',
2494 b'ui',
2495 b'signal-safe-lock',
2495 b'signal-safe-lock',
2496 default=True,
2496 default=True,
2497 )
2497 )
2498 coreconfigitem(
2498 coreconfigitem(
2499 b'ui',
2499 b'ui',
2500 b'slash',
2500 b'slash',
2501 default=False,
2501 default=False,
2502 )
2502 )
2503 coreconfigitem(
2503 coreconfigitem(
2504 b'ui',
2504 b'ui',
2505 b'ssh',
2505 b'ssh',
2506 default=b'ssh',
2506 default=b'ssh',
2507 )
2507 )
2508 coreconfigitem(
2508 coreconfigitem(
2509 b'ui',
2509 b'ui',
2510 b'ssherrorhint',
2510 b'ssherrorhint',
2511 default=None,
2511 default=None,
2512 )
2512 )
2513 coreconfigitem(
2513 coreconfigitem(
2514 b'ui',
2514 b'ui',
2515 b'statuscopies',
2515 b'statuscopies',
2516 default=False,
2516 default=False,
2517 )
2517 )
2518 coreconfigitem(
2518 coreconfigitem(
2519 b'ui',
2519 b'ui',
2520 b'strict',
2520 b'strict',
2521 default=False,
2521 default=False,
2522 )
2522 )
2523 coreconfigitem(
2523 coreconfigitem(
2524 b'ui',
2524 b'ui',
2525 b'style',
2525 b'style',
2526 default=b'',
2526 default=b'',
2527 )
2527 )
2528 coreconfigitem(
2528 coreconfigitem(
2529 b'ui',
2529 b'ui',
2530 b'supportcontact',
2530 b'supportcontact',
2531 default=None,
2531 default=None,
2532 )
2532 )
2533 coreconfigitem(
2533 coreconfigitem(
2534 b'ui',
2534 b'ui',
2535 b'textwidth',
2535 b'textwidth',
2536 default=78,
2536 default=78,
2537 )
2537 )
2538 coreconfigitem(
2538 coreconfigitem(
2539 b'ui',
2539 b'ui',
2540 b'timeout',
2540 b'timeout',
2541 default=b'600',
2541 default=b'600',
2542 )
2542 )
2543 coreconfigitem(
2543 coreconfigitem(
2544 b'ui',
2544 b'ui',
2545 b'timeout.warn',
2545 b'timeout.warn',
2546 default=0,
2546 default=0,
2547 )
2547 )
2548 coreconfigitem(
2548 coreconfigitem(
2549 b'ui',
2549 b'ui',
2550 b'timestamp-output',
2550 b'timestamp-output',
2551 default=False,
2551 default=False,
2552 )
2552 )
2553 coreconfigitem(
2553 coreconfigitem(
2554 b'ui',
2554 b'ui',
2555 b'traceback',
2555 b'traceback',
2556 default=False,
2556 default=False,
2557 )
2557 )
2558 coreconfigitem(
2558 coreconfigitem(
2559 b'ui',
2559 b'ui',
2560 b'tweakdefaults',
2560 b'tweakdefaults',
2561 default=False,
2561 default=False,
2562 )
2562 )
2563 coreconfigitem(b'ui', b'username', alias=[(b'ui', b'user')])
2563 coreconfigitem(b'ui', b'username', alias=[(b'ui', b'user')])
2564 coreconfigitem(
2564 coreconfigitem(
2565 b'ui',
2565 b'ui',
2566 b'verbose',
2566 b'verbose',
2567 default=False,
2567 default=False,
2568 )
2568 )
2569 coreconfigitem(
2569 coreconfigitem(
2570 b'verify',
2570 b'verify',
2571 b'skipflags',
2571 b'skipflags',
2572 default=0,
2572 default=0,
2573 )
2573 )
2574 coreconfigitem(
2574 coreconfigitem(
2575 b'web',
2575 b'web',
2576 b'allowbz2',
2576 b'allowbz2',
2577 default=False,
2577 default=False,
2578 )
2578 )
2579 coreconfigitem(
2579 coreconfigitem(
2580 b'web',
2580 b'web',
2581 b'allowgz',
2581 b'allowgz',
2582 default=False,
2582 default=False,
2583 )
2583 )
2584 coreconfigitem(
2584 coreconfigitem(
2585 b'web',
2585 b'web',
2586 b'allow-pull',
2586 b'allow-pull',
2587 alias=[(b'web', b'allowpull')],
2587 alias=[(b'web', b'allowpull')],
2588 default=True,
2588 default=True,
2589 )
2589 )
2590 coreconfigitem(
2590 coreconfigitem(
2591 b'web',
2591 b'web',
2592 b'allow-push',
2592 b'allow-push',
2593 alias=[(b'web', b'allow_push')],
2593 alias=[(b'web', b'allow_push')],
2594 default=list,
2594 default=list,
2595 )
2595 )
2596 coreconfigitem(
2596 coreconfigitem(
2597 b'web',
2597 b'web',
2598 b'allowzip',
2598 b'allowzip',
2599 default=False,
2599 default=False,
2600 )
2600 )
2601 coreconfigitem(
2601 coreconfigitem(
2602 b'web',
2602 b'web',
2603 b'archivesubrepos',
2603 b'archivesubrepos',
2604 default=False,
2604 default=False,
2605 )
2605 )
2606 coreconfigitem(
2606 coreconfigitem(
2607 b'web',
2607 b'web',
2608 b'cache',
2608 b'cache',
2609 default=True,
2609 default=True,
2610 )
2610 )
2611 coreconfigitem(
2611 coreconfigitem(
2612 b'web',
2612 b'web',
2613 b'comparisoncontext',
2613 b'comparisoncontext',
2614 default=5,
2614 default=5,
2615 )
2615 )
2616 coreconfigitem(
2616 coreconfigitem(
2617 b'web',
2617 b'web',
2618 b'contact',
2618 b'contact',
2619 default=None,
2619 default=None,
2620 )
2620 )
2621 coreconfigitem(
2621 coreconfigitem(
2622 b'web',
2622 b'web',
2623 b'deny_push',
2623 b'deny_push',
2624 default=list,
2624 default=list,
2625 )
2625 )
2626 coreconfigitem(
2626 coreconfigitem(
2627 b'web',
2627 b'web',
2628 b'guessmime',
2628 b'guessmime',
2629 default=False,
2629 default=False,
2630 )
2630 )
2631 coreconfigitem(
2631 coreconfigitem(
2632 b'web',
2632 b'web',
2633 b'hidden',
2633 b'hidden',
2634 default=False,
2634 default=False,
2635 )
2635 )
2636 coreconfigitem(
2636 coreconfigitem(
2637 b'web',
2637 b'web',
2638 b'labels',
2638 b'labels',
2639 default=list,
2639 default=list,
2640 )
2640 )
2641 coreconfigitem(
2641 coreconfigitem(
2642 b'web',
2642 b'web',
2643 b'logoimg',
2643 b'logoimg',
2644 default=b'hglogo.png',
2644 default=b'hglogo.png',
2645 )
2645 )
2646 coreconfigitem(
2646 coreconfigitem(
2647 b'web',
2647 b'web',
2648 b'logourl',
2648 b'logourl',
2649 default=b'https://mercurial-scm.org/',
2649 default=b'https://mercurial-scm.org/',
2650 )
2650 )
2651 coreconfigitem(
2651 coreconfigitem(
2652 b'web',
2652 b'web',
2653 b'accesslog',
2653 b'accesslog',
2654 default=b'-',
2654 default=b'-',
2655 )
2655 )
2656 coreconfigitem(
2656 coreconfigitem(
2657 b'web',
2657 b'web',
2658 b'address',
2658 b'address',
2659 default=b'',
2659 default=b'',
2660 )
2660 )
2661 coreconfigitem(
2661 coreconfigitem(
2662 b'web',
2662 b'web',
2663 b'allow-archive',
2663 b'allow-archive',
2664 alias=[(b'web', b'allow_archive')],
2664 alias=[(b'web', b'allow_archive')],
2665 default=list,
2665 default=list,
2666 )
2666 )
2667 coreconfigitem(
2667 coreconfigitem(
2668 b'web',
2668 b'web',
2669 b'allow_read',
2669 b'allow_read',
2670 default=list,
2670 default=list,
2671 )
2671 )
2672 coreconfigitem(
2672 coreconfigitem(
2673 b'web',
2673 b'web',
2674 b'baseurl',
2674 b'baseurl',
2675 default=None,
2675 default=None,
2676 )
2676 )
2677 coreconfigitem(
2677 coreconfigitem(
2678 b'web',
2678 b'web',
2679 b'cacerts',
2679 b'cacerts',
2680 default=None,
2680 default=None,
2681 )
2681 )
2682 coreconfigitem(
2682 coreconfigitem(
2683 b'web',
2683 b'web',
2684 b'certificate',
2684 b'certificate',
2685 default=None,
2685 default=None,
2686 )
2686 )
2687 coreconfigitem(
2687 coreconfigitem(
2688 b'web',
2688 b'web',
2689 b'collapse',
2689 b'collapse',
2690 default=False,
2690 default=False,
2691 )
2691 )
2692 coreconfigitem(
2692 coreconfigitem(
2693 b'web',
2693 b'web',
2694 b'csp',
2694 b'csp',
2695 default=None,
2695 default=None,
2696 )
2696 )
2697 coreconfigitem(
2697 coreconfigitem(
2698 b'web',
2698 b'web',
2699 b'deny_read',
2699 b'deny_read',
2700 default=list,
2700 default=list,
2701 )
2701 )
2702 coreconfigitem(
2702 coreconfigitem(
2703 b'web',
2703 b'web',
2704 b'descend',
2704 b'descend',
2705 default=True,
2705 default=True,
2706 )
2706 )
2707 coreconfigitem(
2707 coreconfigitem(
2708 b'web',
2708 b'web',
2709 b'description',
2709 b'description',
2710 default=b"",
2710 default=b"",
2711 )
2711 )
2712 coreconfigitem(
2712 coreconfigitem(
2713 b'web',
2713 b'web',
2714 b'encoding',
2714 b'encoding',
2715 default=lambda: encoding.encoding,
2715 default=lambda: encoding.encoding,
2716 )
2716 )
2717 coreconfigitem(
2717 coreconfigitem(
2718 b'web',
2718 b'web',
2719 b'errorlog',
2719 b'errorlog',
2720 default=b'-',
2720 default=b'-',
2721 )
2721 )
2722 coreconfigitem(
2722 coreconfigitem(
2723 b'web',
2723 b'web',
2724 b'ipv6',
2724 b'ipv6',
2725 default=False,
2725 default=False,
2726 )
2726 )
2727 coreconfigitem(
2727 coreconfigitem(
2728 b'web',
2728 b'web',
2729 b'maxchanges',
2729 b'maxchanges',
2730 default=10,
2730 default=10,
2731 )
2731 )
2732 coreconfigitem(
2732 coreconfigitem(
2733 b'web',
2733 b'web',
2734 b'maxfiles',
2734 b'maxfiles',
2735 default=10,
2735 default=10,
2736 )
2736 )
2737 coreconfigitem(
2737 coreconfigitem(
2738 b'web',
2738 b'web',
2739 b'maxshortchanges',
2739 b'maxshortchanges',
2740 default=60,
2740 default=60,
2741 )
2741 )
2742 coreconfigitem(
2742 coreconfigitem(
2743 b'web',
2743 b'web',
2744 b'motd',
2744 b'motd',
2745 default=b'',
2745 default=b'',
2746 )
2746 )
2747 coreconfigitem(
2747 coreconfigitem(
2748 b'web',
2748 b'web',
2749 b'name',
2749 b'name',
2750 default=dynamicdefault,
2750 default=dynamicdefault,
2751 )
2751 )
2752 coreconfigitem(
2752 coreconfigitem(
2753 b'web',
2753 b'web',
2754 b'port',
2754 b'port',
2755 default=8000,
2755 default=8000,
2756 )
2756 )
2757 coreconfigitem(
2757 coreconfigitem(
2758 b'web',
2758 b'web',
2759 b'prefix',
2759 b'prefix',
2760 default=b'',
2760 default=b'',
2761 )
2761 )
2762 coreconfigitem(
2762 coreconfigitem(
2763 b'web',
2763 b'web',
2764 b'push_ssl',
2764 b'push_ssl',
2765 default=True,
2765 default=True,
2766 )
2766 )
2767 coreconfigitem(
2767 coreconfigitem(
2768 b'web',
2768 b'web',
2769 b'refreshinterval',
2769 b'refreshinterval',
2770 default=20,
2770 default=20,
2771 )
2771 )
2772 coreconfigitem(
2772 coreconfigitem(
2773 b'web',
2773 b'web',
2774 b'server-header',
2774 b'server-header',
2775 default=None,
2775 default=None,
2776 )
2776 )
2777 coreconfigitem(
2777 coreconfigitem(
2778 b'web',
2778 b'web',
2779 b'static',
2779 b'static',
2780 default=None,
2780 default=None,
2781 )
2781 )
2782 coreconfigitem(
2782 coreconfigitem(
2783 b'web',
2783 b'web',
2784 b'staticurl',
2784 b'staticurl',
2785 default=None,
2785 default=None,
2786 )
2786 )
2787 coreconfigitem(
2787 coreconfigitem(
2788 b'web',
2788 b'web',
2789 b'stripes',
2789 b'stripes',
2790 default=1,
2790 default=1,
2791 )
2791 )
2792 coreconfigitem(
2792 coreconfigitem(
2793 b'web',
2793 b'web',
2794 b'style',
2794 b'style',
2795 default=b'paper',
2795 default=b'paper',
2796 )
2796 )
2797 coreconfigitem(
2797 coreconfigitem(
2798 b'web',
2798 b'web',
2799 b'templates',
2799 b'templates',
2800 default=None,
2800 default=None,
2801 )
2801 )
2802 coreconfigitem(
2802 coreconfigitem(
2803 b'web',
2803 b'web',
2804 b'view',
2804 b'view',
2805 default=b'served',
2805 default=b'served',
2806 experimental=True,
2806 experimental=True,
2807 )
2807 )
2808 coreconfigitem(
2808 coreconfigitem(
2809 b'worker',
2809 b'worker',
2810 b'backgroundclose',
2810 b'backgroundclose',
2811 default=dynamicdefault,
2811 default=dynamicdefault,
2812 )
2812 )
2813 # Windows defaults to a limit of 512 open files. A buffer of 128
2813 # Windows defaults to a limit of 512 open files. A buffer of 128
2814 # should give us enough headway.
2814 # should give us enough headway.
2815 coreconfigitem(
2815 coreconfigitem(
2816 b'worker',
2816 b'worker',
2817 b'backgroundclosemaxqueue',
2817 b'backgroundclosemaxqueue',
2818 default=384,
2818 default=384,
2819 )
2819 )
2820 coreconfigitem(
2820 coreconfigitem(
2821 b'worker',
2821 b'worker',
2822 b'backgroundcloseminfilecount',
2822 b'backgroundcloseminfilecount',
2823 default=2048,
2823 default=2048,
2824 )
2824 )
2825 coreconfigitem(
2825 coreconfigitem(
2826 b'worker',
2826 b'worker',
2827 b'backgroundclosethreadcount',
2827 b'backgroundclosethreadcount',
2828 default=4,
2828 default=4,
2829 )
2829 )
2830 coreconfigitem(
2830 coreconfigitem(
2831 b'worker',
2831 b'worker',
2832 b'enabled',
2832 b'enabled',
2833 default=True,
2833 default=True,
2834 )
2834 )
2835 coreconfigitem(
2835 coreconfigitem(
2836 b'worker',
2836 b'worker',
2837 b'numcpus',
2837 b'numcpus',
2838 default=None,
2838 default=None,
2839 )
2839 )
2840
2840
2841 # Rebase related configuration moved to core because other extension are doing
2841 # Rebase related configuration moved to core because other extension are doing
2842 # strange things. For example, shelve import the extensions to reuse some bit
2842 # strange things. For example, shelve import the extensions to reuse some bit
2843 # without formally loading it.
2843 # without formally loading it.
2844 coreconfigitem(
2844 coreconfigitem(
2845 b'commands',
2845 b'commands',
2846 b'rebase.requiredest',
2846 b'rebase.requiredest',
2847 default=False,
2847 default=False,
2848 )
2848 )
2849 coreconfigitem(
2849 coreconfigitem(
2850 b'experimental',
2850 b'experimental',
2851 b'rebaseskipobsolete',
2851 b'rebaseskipobsolete',
2852 default=True,
2852 default=True,
2853 )
2853 )
2854 coreconfigitem(
2854 coreconfigitem(
2855 b'rebase',
2855 b'rebase',
2856 b'singletransaction',
2856 b'singletransaction',
2857 default=False,
2857 default=False,
2858 )
2858 )
2859 coreconfigitem(
2859 coreconfigitem(
2860 b'rebase',
2860 b'rebase',
2861 b'experimental.inmemory',
2861 b'experimental.inmemory',
2862 default=False,
2862 default=False,
2863 )
2863 )
2864
2864
2865 # This setting controls creation of a rebase_source extra field
2865 # This setting controls creation of a rebase_source extra field
2866 # during rebase. When False, no such field is created. This is
2866 # during rebase. When False, no such field is created. This is
2867 # useful eg for incrementally converting changesets and then
2867 # useful eg for incrementally converting changesets and then
2868 # rebasing them onto an existing repo.
2868 # rebasing them onto an existing repo.
2869 # WARNING: this is an advanced setting reserved for people who know
2869 # WARNING: this is an advanced setting reserved for people who know
2870 # exactly what they are doing. Misuse of this setting can easily
2870 # exactly what they are doing. Misuse of this setting can easily
2871 # result in obsmarker cycles and a vivid headache.
2871 # result in obsmarker cycles and a vivid headache.
2872 coreconfigitem(
2872 coreconfigitem(
2873 b'rebase',
2873 b'rebase',
2874 b'store-source',
2874 b'store-source',
2875 default=True,
2875 default=True,
2876 experimental=True,
2876 experimental=True,
2877 )
2877 )
@@ -1,24 +1,28 b''
1 = Mercurial XXX =
1 = Mercurial XXX =
2
2
3 == New Features ==
3 == New Features ==
4
4
5 == Default Format Change ==
5 == Default Format Change ==
6
6
7 These changes affect newly created repositories (or new clones) done with
7 These changes affect newly created repositories (or new clones) done with
8 Mercurial XXX.
8 Mercurial XXX.
9
9
10 == New Experimental Features ==
10 == New Experimental Features ==
11
11
12 == Bug Fixes ==
12 == Bug Fixes ==
13
13
14 == Backwards Compatibility Changes ==
14 == Backwards Compatibility Changes ==
15
15
16 * chg worker processes will now correctly load per-repository configuration
16 * chg worker processes will now correctly load per-repository configuration
17 when given a both a relative `--repository` path and an alternate working
17 when given a both a relative `--repository` path and an alternate working
18 directory via `--cwd`. A side-effect of this change is that these workers
18 directory via `--cwd`. A side-effect of this change is that these workers
19 will now return an error if hg cannot find the current working directory,
19 will now return an error if hg cannot find the current working directory,
20 even when a different directory is specified via `--cwd`.
20 even when a different directory is specified via `--cwd`.
21
21
22 == Internal API Changes ==
22 == Internal API Changes ==
23
23
24 == Miscellaneous ==
24 == Miscellaneous ==
25
26 * pullbundle support no longer requires setting a server-side option,
27 providing a .hg/pullbundles.manifest according to the syntax specified in
28 'hg help -e clonebundles' is enough.
@@ -1,215 +1,213 b''
1 #require no-chg
1 #require no-chg
2
2
3 $ hg init repo
3 $ hg init repo
4 $ cd repo
4 $ cd repo
5 $ hg debugbuilddag '+3<3+1'
5 $ hg debugbuilddag '+3<3+1'
6
6
7 $ hg log
7 $ hg log
8 changeset: 3:6100d3090acf
8 changeset: 3:6100d3090acf
9 tag: tip
9 tag: tip
10 parent: 0:1ea73414a91b
10 parent: 0:1ea73414a91b
11 user: debugbuilddag
11 user: debugbuilddag
12 date: Thu Jan 01 00:00:03 1970 +0000
12 date: Thu Jan 01 00:00:03 1970 +0000
13 summary: r3
13 summary: r3
14
14
15 changeset: 2:01241442b3c2
15 changeset: 2:01241442b3c2
16 user: debugbuilddag
16 user: debugbuilddag
17 date: Thu Jan 01 00:00:02 1970 +0000
17 date: Thu Jan 01 00:00:02 1970 +0000
18 summary: r2
18 summary: r2
19
19
20 changeset: 1:66f7d451a68b
20 changeset: 1:66f7d451a68b
21 user: debugbuilddag
21 user: debugbuilddag
22 date: Thu Jan 01 00:00:01 1970 +0000
22 date: Thu Jan 01 00:00:01 1970 +0000
23 summary: r1
23 summary: r1
24
24
25 changeset: 0:1ea73414a91b
25 changeset: 0:1ea73414a91b
26 user: debugbuilddag
26 user: debugbuilddag
27 date: Thu Jan 01 00:00:00 1970 +0000
27 date: Thu Jan 01 00:00:00 1970 +0000
28 summary: r0
28 summary: r0
29
29
30 $ cd ..
30 $ cd ..
31
31
32 Test pullbundle functionality
32 Test pullbundle functionality
33
33
34 $ cd repo
34 $ cd repo
35 $ cat <<EOF > .hg/hgrc
35 $ cat <<EOF > .hg/hgrc
36 > [server]
37 > pullbundle = True
38 > [experimental]
36 > [experimental]
39 > evolution = True
37 > evolution = True
40 > [extensions]
38 > [extensions]
41 > blackbox =
39 > blackbox =
42 > EOF
40 > EOF
43 $ hg bundle --base null -r 0 .hg/0.hg
41 $ hg bundle --base null -r 0 .hg/0.hg
44 1 changesets found
42 1 changesets found
45 $ hg bundle --base 0 -r 1 .hg/1.hg
43 $ hg bundle --base 0 -r 1 .hg/1.hg
46 1 changesets found
44 1 changesets found
47 $ hg bundle --base 1 -r 2 .hg/2.hg
45 $ hg bundle --base 1 -r 2 .hg/2.hg
48 1 changesets found
46 1 changesets found
49 $ hg bundle --base 1 -r 3 .hg/3.hg
47 $ hg bundle --base 1 -r 3 .hg/3.hg
50 1 changesets found
48 1 changesets found
51 $ cat <<EOF > .hg/pullbundles.manifest
49 $ cat <<EOF > .hg/pullbundles.manifest
52 > 3.hg BUNDLESPEC=none-v2 heads=6100d3090acf50ed11ec23196cec20f5bd7323aa bases=1ea73414a91b0920940797d8fc6a11e447f8ea1e
50 > 3.hg BUNDLESPEC=none-v2 heads=6100d3090acf50ed11ec23196cec20f5bd7323aa bases=1ea73414a91b0920940797d8fc6a11e447f8ea1e
53 > 2.hg BUNDLESPEC=none-v2 heads=01241442b3c2bf3211e593b549c655ea65b295e3 bases=66f7d451a68b85ed82ff5fcc254daf50c74144bd
51 > 2.hg BUNDLESPEC=none-v2 heads=01241442b3c2bf3211e593b549c655ea65b295e3 bases=66f7d451a68b85ed82ff5fcc254daf50c74144bd
54 > 1.hg BUNDLESPEC=bzip2-v2 heads=66f7d451a68b85ed82ff5fcc254daf50c74144bd bases=1ea73414a91b0920940797d8fc6a11e447f8ea1e
52 > 1.hg BUNDLESPEC=bzip2-v2 heads=66f7d451a68b85ed82ff5fcc254daf50c74144bd bases=1ea73414a91b0920940797d8fc6a11e447f8ea1e
55 > 0.hg BUNDLESPEC=gzip-v2 heads=1ea73414a91b0920940797d8fc6a11e447f8ea1e
53 > 0.hg BUNDLESPEC=gzip-v2 heads=1ea73414a91b0920940797d8fc6a11e447f8ea1e
56 > EOF
54 > EOF
57 $ hg --config blackbox.track=debug --debug serve -p $HGPORT2 -d --pid-file=../repo.pid -E ../error.txt
55 $ hg --config blackbox.track=debug --debug serve -p $HGPORT2 -d --pid-file=../repo.pid -E ../error.txt
58 listening at http://*:$HGPORT2/ (bound to $LOCALIP:$HGPORT2) (glob) (?)
56 listening at http://*:$HGPORT2/ (bound to $LOCALIP:$HGPORT2) (glob) (?)
59 $ cat ../repo.pid >> $DAEMON_PIDS
57 $ cat ../repo.pid >> $DAEMON_PIDS
60 $ cd ..
58 $ cd ..
61 $ hg clone -r 0 http://localhost:$HGPORT2/ repo.pullbundle
59 $ hg clone -r 0 http://localhost:$HGPORT2/ repo.pullbundle
62 adding changesets
60 adding changesets
63 adding manifests
61 adding manifests
64 adding file changes
62 adding file changes
65 added 1 changesets with 0 changes to 0 files
63 added 1 changesets with 0 changes to 0 files
66 new changesets 1ea73414a91b (1 drafts)
64 new changesets 1ea73414a91b (1 drafts)
67 updating to branch default
65 updating to branch default
68 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
66 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
69 $ cat error.txt
67 $ cat error.txt
70 $ cd repo.pullbundle
68 $ cd repo.pullbundle
71 $ hg pull -r 1
69 $ hg pull -r 1
72 pulling from http://localhost:$HGPORT2/
70 pulling from http://localhost:$HGPORT2/
73 searching for changes
71 searching for changes
74 adding changesets
72 adding changesets
75 adding manifests
73 adding manifests
76 adding file changes
74 adding file changes
77 added 1 changesets with 0 changes to 0 files
75 added 1 changesets with 0 changes to 0 files
78 new changesets 66f7d451a68b (1 drafts)
76 new changesets 66f7d451a68b (1 drafts)
79 (run 'hg update' to get a working copy)
77 (run 'hg update' to get a working copy)
80 $ hg pull -r 3
78 $ hg pull -r 3
81 pulling from http://localhost:$HGPORT2/
79 pulling from http://localhost:$HGPORT2/
82 searching for changes
80 searching for changes
83 adding changesets
81 adding changesets
84 adding manifests
82 adding manifests
85 adding file changes
83 adding file changes
86 added 1 changesets with 0 changes to 0 files (+1 heads)
84 added 1 changesets with 0 changes to 0 files (+1 heads)
87 new changesets 6100d3090acf (1 drafts)
85 new changesets 6100d3090acf (1 drafts)
88 (run 'hg heads' to see heads, 'hg merge' to merge)
86 (run 'hg heads' to see heads, 'hg merge' to merge)
89 $ cd ..
87 $ cd ..
90 $ killdaemons.py
88 $ killdaemons.py
91 $ grep 'sending pullbundle ' repo/.hg/blackbox.log
89 $ grep 'sending pullbundle ' repo/.hg/blackbox.log
92 * sending pullbundle "0.hg" (glob)
90 * sending pullbundle "0.hg" (glob)
93 * sending pullbundle "1.hg" (glob)
91 * sending pullbundle "1.hg" (glob)
94 * sending pullbundle "3.hg" (glob)
92 * sending pullbundle "3.hg" (glob)
95 $ rm repo/.hg/blackbox.log
93 $ rm repo/.hg/blackbox.log
96
94
97 Test pullbundle functionality for incremental pulls
95 Test pullbundle functionality for incremental pulls
98
96
99 $ cd repo
97 $ cd repo
100 $ hg --config blackbox.track=debug --debug serve -p $HGPORT2 -d --pid-file=../repo.pid
98 $ hg --config blackbox.track=debug --debug serve -p $HGPORT2 -d --pid-file=../repo.pid
101 listening at http://*:$HGPORT2/ (bound to $LOCALIP:$HGPORT2) (glob) (?)
99 listening at http://*:$HGPORT2/ (bound to $LOCALIP:$HGPORT2) (glob) (?)
102 $ cat ../repo.pid >> $DAEMON_PIDS
100 $ cat ../repo.pid >> $DAEMON_PIDS
103 $ cd ..
101 $ cd ..
104 $ hg clone http://localhost:$HGPORT2/ repo.pullbundle2
102 $ hg clone http://localhost:$HGPORT2/ repo.pullbundle2
105 requesting all changes
103 requesting all changes
106 adding changesets
104 adding changesets
107 adding manifests
105 adding manifests
108 adding file changes
106 adding file changes
109 adding changesets
107 adding changesets
110 adding manifests
108 adding manifests
111 adding file changes
109 adding file changes
112 adding changesets
110 adding changesets
113 adding manifests
111 adding manifests
114 adding file changes
112 adding file changes
115 adding changesets
113 adding changesets
116 adding manifests
114 adding manifests
117 adding file changes
115 adding file changes
118 added 4 changesets with 0 changes to 0 files (+1 heads)
116 added 4 changesets with 0 changes to 0 files (+1 heads)
119 new changesets 1ea73414a91b:01241442b3c2 (4 drafts)
117 new changesets 1ea73414a91b:01241442b3c2 (4 drafts)
120 updating to branch default
118 updating to branch default
121 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
119 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
122 $ killdaemons.py
120 $ killdaemons.py
123 $ grep 'sending pullbundle ' repo/.hg/blackbox.log
121 $ grep 'sending pullbundle ' repo/.hg/blackbox.log
124 * sending pullbundle "0.hg" (glob)
122 * sending pullbundle "0.hg" (glob)
125 * sending pullbundle "3.hg" (glob)
123 * sending pullbundle "3.hg" (glob)
126 * sending pullbundle "1.hg" (glob)
124 * sending pullbundle "1.hg" (glob)
127 * sending pullbundle "2.hg" (glob)
125 * sending pullbundle "2.hg" (glob)
128 $ rm repo/.hg/blackbox.log
126 $ rm repo/.hg/blackbox.log
129
127
130 Test pullbundle functionality for incoming
128 Test pullbundle functionality for incoming
131
129
132 $ cd repo
130 $ cd repo
133 $ hg --config blackbox.track=debug --debug serve -p $HGPORT2 -d --pid-file=../repo.pid
131 $ hg --config blackbox.track=debug --debug serve -p $HGPORT2 -d --pid-file=../repo.pid
134 listening at http://*:$HGPORT2/ (bound to $LOCALIP:$HGPORT2) (glob) (?)
132 listening at http://*:$HGPORT2/ (bound to $LOCALIP:$HGPORT2) (glob) (?)
135 $ cat ../repo.pid >> $DAEMON_PIDS
133 $ cat ../repo.pid >> $DAEMON_PIDS
136 $ cd ..
134 $ cd ..
137 $ hg clone http://localhost:$HGPORT2/ repo.pullbundle2a -r 0
135 $ hg clone http://localhost:$HGPORT2/ repo.pullbundle2a -r 0
138 adding changesets
136 adding changesets
139 adding manifests
137 adding manifests
140 adding file changes
138 adding file changes
141 added 1 changesets with 0 changes to 0 files
139 added 1 changesets with 0 changes to 0 files
142 new changesets 1ea73414a91b (1 drafts)
140 new changesets 1ea73414a91b (1 drafts)
143 updating to branch default
141 updating to branch default
144 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
142 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
145 $ cd repo.pullbundle2a
143 $ cd repo.pullbundle2a
146 $ hg incoming -r 66f7d451a68b
144 $ hg incoming -r 66f7d451a68b
147 comparing with http://localhost:$HGPORT2/
145 comparing with http://localhost:$HGPORT2/
148 searching for changes
146 searching for changes
149 changeset: 1:66f7d451a68b
147 changeset: 1:66f7d451a68b
150 tag: tip
148 tag: tip
151 user: debugbuilddag
149 user: debugbuilddag
152 date: Thu Jan 01 00:00:01 1970 +0000
150 date: Thu Jan 01 00:00:01 1970 +0000
153 summary: r1
151 summary: r1
154
152
155 $ cd ..
153 $ cd ..
156 $ killdaemons.py
154 $ killdaemons.py
157 $ grep 'sending pullbundle ' repo/.hg/blackbox.log
155 $ grep 'sending pullbundle ' repo/.hg/blackbox.log
158 * sending pullbundle "0.hg" (glob)
156 * sending pullbundle "0.hg" (glob)
159 * sending pullbundle "1.hg" (glob)
157 * sending pullbundle "1.hg" (glob)
160 $ rm repo/.hg/blackbox.log
158 $ rm repo/.hg/blackbox.log
161
159
162 Test recovery from misconfigured server sending no new data
160 Test recovery from misconfigured server sending no new data
163
161
164 $ cd repo
162 $ cd repo
165 $ cat <<EOF > .hg/pullbundles.manifest
163 $ cat <<EOF > .hg/pullbundles.manifest
166 > 0.hg heads=66f7d451a68b85ed82ff5fcc254daf50c74144bd bases=1ea73414a91b0920940797d8fc6a11e447f8ea1e
164 > 0.hg heads=66f7d451a68b85ed82ff5fcc254daf50c74144bd bases=1ea73414a91b0920940797d8fc6a11e447f8ea1e
167 > 0.hg heads=1ea73414a91b0920940797d8fc6a11e447f8ea1e
165 > 0.hg heads=1ea73414a91b0920940797d8fc6a11e447f8ea1e
168 > EOF
166 > EOF
169 $ hg --config blackbox.track=debug --debug serve -p $HGPORT2 -d --pid-file=../repo.pid
167 $ hg --config blackbox.track=debug --debug serve -p $HGPORT2 -d --pid-file=../repo.pid
170 listening at http://*:$HGPORT2/ (bound to $LOCALIP:$HGPORT2) (glob) (?)
168 listening at http://*:$HGPORT2/ (bound to $LOCALIP:$HGPORT2) (glob) (?)
171 $ cat ../repo.pid >> $DAEMON_PIDS
169 $ cat ../repo.pid >> $DAEMON_PIDS
172 $ cd ..
170 $ cd ..
173 $ hg clone -r 0 http://localhost:$HGPORT2/ repo.pullbundle3
171 $ hg clone -r 0 http://localhost:$HGPORT2/ repo.pullbundle3
174 adding changesets
172 adding changesets
175 adding manifests
173 adding manifests
176 adding file changes
174 adding file changes
177 added 1 changesets with 0 changes to 0 files
175 added 1 changesets with 0 changes to 0 files
178 new changesets 1ea73414a91b (1 drafts)
176 new changesets 1ea73414a91b (1 drafts)
179 updating to branch default
177 updating to branch default
180 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
178 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
181 $ cd repo.pullbundle3
179 $ cd repo.pullbundle3
182 $ hg pull -r 1
180 $ hg pull -r 1
183 pulling from http://localhost:$HGPORT2/
181 pulling from http://localhost:$HGPORT2/
184 searching for changes
182 searching for changes
185 adding changesets
183 adding changesets
186 adding manifests
184 adding manifests
187 adding file changes
185 adding file changes
188 abort: 00changelog@66f7d451a68b85ed82ff5fcc254daf50c74144bd: no node
186 abort: 00changelog@66f7d451a68b85ed82ff5fcc254daf50c74144bd: no node
189 [50]
187 [50]
190 $ cd ..
188 $ cd ..
191 $ killdaemons.py
189 $ killdaemons.py
192 $ grep 'sending pullbundle ' repo/.hg/blackbox.log
190 $ grep 'sending pullbundle ' repo/.hg/blackbox.log
193 * sending pullbundle "0.hg" (glob)
191 * sending pullbundle "0.hg" (glob)
194 * sending pullbundle "0.hg" (glob)
192 * sending pullbundle "0.hg" (glob)
195 $ rm repo/.hg/blackbox.log
193 $ rm repo/.hg/blackbox.log
196
194
197 Test processing when nodes used in the pullbundles.manifest end up being hidden
195 Test processing when nodes used in the pullbundles.manifest end up being hidden
198
196
199 $ hg --repo repo debugobsolete ed1b79f46b9a29f5a6efa59cf12fcfca43bead5a
197 $ hg --repo repo debugobsolete ed1b79f46b9a29f5a6efa59cf12fcfca43bead5a
200 1 new obsolescence markers
198 1 new obsolescence markers
201 $ hg serve --repo repo --config server.view=visible -p $HGPORT -d --pid-file=hg.pid -E errors.log
199 $ hg serve --repo repo --config server.view=visible -p $HGPORT -d --pid-file=hg.pid -E errors.log
202 $ cat hg.pid >> $DAEMON_PIDS
200 $ cat hg.pid >> $DAEMON_PIDS
203 $ hg clone http://localhost:$HGPORT repo-obs
201 $ hg clone http://localhost:$HGPORT repo-obs
204 requesting all changes
202 requesting all changes
205 adding changesets
203 adding changesets
206 adding manifests
204 adding manifests
207 adding file changes
205 adding file changes
208 adding changesets
206 adding changesets
209 adding manifests
207 adding manifests
210 adding file changes
208 adding file changes
211 added 1 changesets with 0 changes to 0 files
209 added 1 changesets with 0 changes to 0 files
212 new changesets 1ea73414a91b (1 drafts)
210 new changesets 1ea73414a91b (1 drafts)
213 updating to branch default
211 updating to branch default
214 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
212 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
215 $ killdaemons.py
213 $ killdaemons.py
General Comments 0
You need to be logged in to leave comments. Login now