# HG changeset patch # User Matt Harbison <matt_harbi...@yahoo.com> # Date 1511667169 18000 # Sat Nov 25 22:32:49 2017 -0500 # Branch stable # Node ID a2a5049f83d484eafcef2372a57ce02737a398d8 # Parent 02845f7441aff30bc01975a5881cabfa922c12d4 convert: avoid wrong lfconvert defaults by moving configitems to core
The `hg lfconvert --to-normal` command uses the convert extension internally to work its magic, but that produced devel-warn messages if the convert extension wasn't loaded by the user. The test in fcd2f9b06629 (modified here) wasn't showing the warnings because the convert extension was loaded via $HGRCPATH. Most of the config options default to None/False, but 'hg.usebranchnames' and 'hg.tagsbranch' are supposed to default to True and 'default' respectively. The first iteration of this was to ui.setconfig() inside lfconvert, to force the convert extension to load. But there really is no precedent for doing this, and check-config complained that 'extensions.convert' isn't documented. Yuya suggested this alternative. diff --git a/hgext/convert/__init__.py b/hgext/convert/__init__.py --- a/hgext/convert/__init__.py +++ b/hgext/convert/__init__.py @@ -28,103 +28,6 @@ # leave the attribute unspecified. testedwith = 'ships-with-hg-core' -configtable = {} -configitem = registrar.configitem(configtable) - -configitem('convert', 'cvsps.cache', - default=True, -) -configitem('convert', 'cvsps.fuzz', - default=60, -) -configitem('convert', 'cvsps.logencoding', - default=None, -) -configitem('convert', 'cvsps.mergefrom', - default=None, -) -configitem('convert', 'cvsps.mergeto', - default=None, -) -configitem('convert', 'git.committeractions', - default=lambda: ['messagedifferent'], -) -configitem('convert', 'git.extrakeys', - default=list, -) -configitem('convert', 'git.findcopiesharder', - default=False, -) -configitem('convert', 'git.remoteprefix', - default='remote', -) -configitem('convert', 'git.renamelimit', - default=400, -) -configitem('convert', 'git.saverev', - default=True, -) -configitem('convert', 'git.similarity', - default=50, -) -configitem('convert', 'git.skipsubmodules', - default=False, -) -configitem('convert', 'hg.clonebranches', - default=False, -) -configitem('convert', 'hg.ignoreerrors', - default=False, -) -configitem('convert', 'hg.revs', - default=None, -) -configitem('convert', 'hg.saverev', - default=False, -) -configitem('convert', 'hg.sourcename', - default=None, -) -configitem('convert', 'hg.startrev', - default=None, -) -configitem('convert', 'hg.tagsbranch', - default='default', -) -configitem('convert', 'hg.usebranchnames', - default=True, -) -configitem('convert', 'ignoreancestorcheck', - default=False, -) -configitem('convert', 'localtimezone', - default=False, -) -configitem('convert', 'p4.encoding', - default=lambda: convcmd.orig_encoding, -) -configitem('convert', 'p4.startrev', - default=0, -) -configitem('convert', 'skiptags', - default=False, -) -configitem('convert', 'svn.debugsvnlog', - default=True, -) -configitem('convert', 'svn.trunk', - default=None, -) -configitem('convert', 'svn.tags', - default=None, -) -configitem('convert', 'svn.branches', - default=None, -) -configitem('convert', 'svn.startrev', - default=0, -) - # Commands definition was moved elsewhere to ease demandload job. @command('convert', diff --git a/mercurial/configitems.py b/mercurial/configitems.py --- a/mercurial/configitems.py +++ b/mercurial/configitems.py @@ -208,6 +208,99 @@ default=None, generic=True, ) +coreconfigitem('convert', 'cvsps.cache', + default=True, +) +coreconfigitem('convert', 'cvsps.fuzz', + default=60, +) +coreconfigitem('convert', 'cvsps.logencoding', + default=None, +) +coreconfigitem('convert', 'cvsps.mergefrom', + default=None, +) +coreconfigitem('convert', 'cvsps.mergeto', + default=None, +) +coreconfigitem('convert', 'git.committeractions', + default=lambda: ['messagedifferent'], +) +coreconfigitem('convert', 'git.extrakeys', + default=list, +) +coreconfigitem('convert', 'git.findcopiesharder', + default=False, +) +coreconfigitem('convert', 'git.remoteprefix', + default='remote', +) +coreconfigitem('convert', 'git.renamelimit', + default=400, +) +coreconfigitem('convert', 'git.saverev', + default=True, +) +coreconfigitem('convert', 'git.similarity', + default=50, +) +coreconfigitem('convert', 'git.skipsubmodules', + default=False, +) +coreconfigitem('convert', 'hg.clonebranches', + default=False, +) +coreconfigitem('convert', 'hg.ignoreerrors', + default=False, +) +coreconfigitem('convert', 'hg.revs', + default=None, +) +coreconfigitem('convert', 'hg.saverev', + default=False, +) +coreconfigitem('convert', 'hg.sourcename', + default=None, +) +coreconfigitem('convert', 'hg.startrev', + default=None, +) +coreconfigitem('convert', 'hg.tagsbranch', + default='default', +) +coreconfigitem('convert', 'hg.usebranchnames', + default=True, +) +coreconfigitem('convert', 'ignoreancestorcheck', + default=False, +) +coreconfigitem('convert', 'localtimezone', + default=False, +) +coreconfigitem('convert', 'p4.encoding', + default=lambda: convcmd.orig_encoding, +) +coreconfigitem('convert', 'p4.startrev', + default=0, +) +coreconfigitem('convert', 'skiptags', + default=False, +) +coreconfigitem('convert', 'svn.debugsvnlog', + default=True, +) +coreconfigitem('convert', 'svn.trunk', + default=None, +) +coreconfigitem('convert', 'svn.tags', + default=None, +) +coreconfigitem('convert', 'svn.branches', + default=None, +) +coreconfigitem('convert', 'svn.startrev', + default=0, +) coreconfigitem('debug', 'dirstate.delaywrite', default=0, ) diff --git a/tests/test-lfconvert.t b/tests/test-lfconvert.t --- a/tests/test-lfconvert.t +++ b/tests/test-lfconvert.t @@ -233,9 +233,10 @@ $ cd .. round-trip: converting back to a normal (non-largefiles) repo with -"lfconvert --to-normal" should give the same as ../bigfile-repo +"lfconvert --to-normal" should give the same as ../bigfile-repo. The +convert extension is disabled to show config items can be loaded without it. $ cd largefiles-repo - $ hg lfconvert --to-normal . ../normal-repo + $ hg --config extensions.convert=! lfconvert --to-normal . ../normal-repo initializing destination ../normal-repo 0 additional largefiles cached scanning source... _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel