log: do not invoke templatekw.showobsfate() as a function
Prepares for switching to the (context, mapping) API. I tried, but it appeared
not an one-off change to extract a non-template function from showobsfate(),
which deeply depends on the templater internals.
--- a/mercurial/logcmdutil.py Sun Feb 25 16:36:38 2018 +0900
+++ b/mercurial/logcmdutil.py Sun Feb 25 14:42:18 2018 +0900
@@ -278,7 +278,12 @@
self._showpatch(ctx)
def _showobsfate(self, ctx):
- obsfate = templatekw.showobsfate(repo=self.repo, ctx=ctx, ui=self.ui)
+ # TODO: do not depend on templater
+ tres = formatter.templateresources(self.repo.ui, self.repo)
+ t = formatter.maketemplater(self.repo.ui, '{join(obsfate, "\n")}',
+ defaults=templatekw.keywords,
+ resources=tres)
+ obsfate = t.render({'ctx': ctx, 'revcache': {}}).splitlines()
if obsfate:
for obsfateline in obsfate: