changeset 41069:70ca0e846d25

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.
author Matt Harbison <matt_harbison@yahoo.com>
date Thu, 27 Dec 2018 21:55:22 -0500
parents 28a4fb793ba1
children 8f40e21ca842
files hgext/lfs/__init__.py mercurial/exthelper.py
diffstat 2 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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)