comparison hgext/narrow/__init__.py @ 36468:6aae86976324

narrow: always wrap repo 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. Differential Revision: https://phab.mercurial-scm.org/D2491
author Martin von Zweigbergk <martinvonz@google.com>
date Wed, 28 Feb 2018 12:55:05 -0800
parents a8b4d7673d8e
children d0d5eef57fb0
comparison
equal deleted inserted replaced
36467:2d82a24d0c78 36468:6aae86976324
70 def reposetup(ui, repo): 70 def reposetup(ui, repo):
71 """Wraps local repositories with narrow repo support.""" 71 """Wraps local repositories with narrow repo support."""
72 if not isinstance(repo, localrepo.localrepository): 72 if not isinstance(repo, localrepo.localrepository):
73 return 73 return
74 74
75 narrowrepo.wraprepo(repo)
75 if changegroup.NARROW_REQUIREMENT in repo.requirements: 76 if changegroup.NARROW_REQUIREMENT in repo.requirements:
76 narrowrepo.wraprepo(repo)
77 narrowcopies.setup(repo) 77 narrowcopies.setup(repo)
78 narrowdirstate.setup(repo) 78 narrowdirstate.setup(repo)
79 narrowpatch.setup(repo) 79 narrowpatch.setup(repo)
80 narrowwirepeer.reposetup(repo) 80 narrowwirepeer.reposetup(repo)
81 81