martinvonz created this revision. Herald added a reviewer: durin42. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers.
REVISION SUMMARY It's simpler to always wrap the repo. This prepares for moving narrowrepo.narrowmatch() onto localrepo by showing that it's now safe to always wrap the repo (and thus always define narrowmatch() etc.). Note that since narrowmatch() returns an always-matcher (rather than None) in non-narrow repos, this may mean a performance hit when the narrow extension is enabled because it adds a no-op filtering step in various places against the always-matcher. I'll restore some of that soon. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D2491 AFFECTED FILES hgext/narrow/__init__.py hgext/narrow/narrowcommands.py CHANGE DETAILS diff --git a/hgext/narrow/narrowcommands.py b/hgext/narrow/narrowcommands.py --- a/hgext/narrow/narrowcommands.py +++ b/hgext/narrow/narrowcommands.py @@ -30,7 +30,6 @@ from . import ( narrowbundle2, - narrowrepo, ) table = {} @@ -101,10 +100,6 @@ '_pullbundle2extraprepare', pullbundle2extraprepare_widen) def pullnarrow(orig, repo, *args, **kwargs): - narrowrepo.wraprepo(repo.unfiltered()) - if isinstance(repo, repoview.repoview): - repo.__class__.__bases__ = (repo.__class__.__bases__[0], - repo.unfiltered().__class__) if opts_narrow: repo.requirements.add(changegroup.NARROW_REQUIREMENT) repo._writerequirements() diff --git a/hgext/narrow/__init__.py b/hgext/narrow/__init__.py --- a/hgext/narrow/__init__.py +++ b/hgext/narrow/__init__.py @@ -72,8 +72,8 @@ if not isinstance(repo, localrepo.localrepository): return + narrowrepo.wraprepo(repo) if changegroup.NARROW_REQUIREMENT in repo.requirements: - narrowrepo.wraprepo(repo) narrowcopies.setup(repo) narrowdirstate.setup(repo) narrowpatch.setup(repo) To: martinvonz, durin42, #hg-reviewers Cc: mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel