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