narrow: use featuresetupfuncs
This is the preferred way to register repo requirements that can be
opened because it respects the set of loaded extensions at repo open
time.
Differential Revision: https://phab.mercurial-scm.org/D2926
--- a/hgext/narrow/__init__.py Tue Mar 20 17:30:30 2018 -0700
+++ b/hgext/narrow/__init__.py Tue Mar 20 17:34:05 2018 -0700
@@ -56,10 +56,12 @@
# Export the commands table for Mercurial to see.
cmdtable = narrowcommands.table
-localrepo.localrepository._basesupported.add(changegroup.NARROW_REQUIREMENT)
+def featuresetup(ui, features):
+ features.add(changegroup.NARROW_REQUIREMENT)
def uisetup(ui):
"""Wraps user-facing mercurial commands with narrow-aware versions."""
+ localrepo.featuresetupfuncs.add(featuresetup)
narrowrevlog.setup()
narrowbundle2.setup()
narrowmerge.setup()