# HG changeset patch # User Matt Harbison # Date 1545965722 18000 # Node ID 70ca0e846d256f563e87fef143510aa9dbc0b876 # Parent 28a4fb793ba1bd828192c2e2097fc214fc2d5abc 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. diff -r 28a4fb793ba1 -r 70ca0e846d25 hgext/lfs/__init__.py --- 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='') -@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.""" diff -r 28a4fb793ba1 -r 70ca0e846d25 mercurial/exthelper.py --- 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)