exthelper: reintroduce the ability to register templates
Same mechanism as revsets earlier in this series. The LFS extension is updated
to provide test coverage.
This also seems to make the test failure around
issue6033 mentioned in
0a7f582f6f1f much less regular on Windows.
--- a/hgext/lfs/__init__.py Thu Dec 27 21:46:03 2018 -0500
+++ b/hgext/lfs/__init__.py Thu Dec 27 21:55:22 2018 -0500
@@ -169,6 +169,7 @@
extsetup = eh.finalextsetup
uisetup = eh.finaluisetup
reposetup = eh.finalreposetup
+templatekeyword = eh.templatekeyword
eh.configitem('experimental', 'lfs.serve',
default=True,
@@ -199,7 +200,6 @@
eh.configitem('lfs', 'retry',
default=5,
)
-templatekeyword = registrar.templatekeyword()
filesetpredicate = registrar.filesetpredicate()
lfsprocessor = (
@@ -347,7 +347,7 @@
return wrapper.pointerfromctx(ctx, f, removed=True) is not None
return mctx.predicate(lfsfilep, predrepr='<lfs>')
-@templatekeyword('lfs_files', requires={'ctx'})
+@eh.templatekeyword('lfs_files', requires={'ctx'})
def lfsfiles(context, mapping):
"""List of strings. All files modified, added, or removed by this
changeset."""
--- a/mercurial/exthelper.py Thu Dec 27 21:46:03 2018 -0500
+++ b/mercurial/exthelper.py Thu Dec 27 21:55:22 2018 -0500
@@ -41,6 +41,7 @@
self.configtable = {}
self.configitem = registrar.configitem(self.configtable)
self.revsetpredicate = registrar.revsetpredicate()
+ self.templatekeyword = registrar.templatekeyword()
def merge(self, other):
self._uicallables.extend(other._uicallables)
@@ -48,6 +49,7 @@
self._extcallables.extend(other._extcallables)
self._repocallables.extend(other._repocallables)
self.revsetpredicate._table.update(other.revsetpredicate._table)
+ self.templatekeyword._table.update(other.templatekeyword._table)
self._commandwrappers.extend(other._commandwrappers)
self._extcommandwrappers.extend(other._extcommandwrappers)
self._functionwrappers.extend(other._functionwrappers)