Mercurial > evolve
changeset 4082:185770c10a4e mercurial-4.3
test-compat: merge mercurial-4.4 into mercurial-4.3
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 03 Sep 2018 22:59:20 +0200 |
parents | 20dcc92c285f (diff) 9c025ec4af88 (current diff) |
children | 2aa2a8780a10 |
files | tests/test-evolve-abort-contentdiv.t tests/test-evolve-issue5832.t tests/test-prev-next.t tests/test-topic-flow-publish-flag.t |
diffstat | 1 files changed, 15 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext3rd/topic/__init__.py Mon Sep 03 22:09:26 2018 +0200 +++ b/hgext3rd/topic/__init__.py Mon Sep 03 22:59:20 2018 +0200 @@ -134,6 +134,7 @@ registrar, scmutil, templatefilters, + templatekw, util, ) @@ -227,7 +228,9 @@ default=None, ) +# we need to do old style declaration for <= 4.5 templatekeyword = registrar.templatekeyword() +post45template = 'requires=' in templatekeyword.__doc__ def _contexttopic(self, force=False): if not (force or self.mutable()): @@ -350,6 +353,8 @@ cmdutil.summaryhooks.add('topic', summaryhook) + if not post45template: + templatekw.keywords['topic'] = topickw # Wrap workingctx extra to return the topic name extensions.wrapfunction(context.workingctx, '__init__', wrapinit) # Wrap changelog.add to drop empty topic @@ -521,11 +526,16 @@ 'topics', 'topic', namemap=_namemap, nodemap=_nodemap, listnames=lambda repo: repo.topics)) -@templatekeyword('topic', requires={'ctx'}) -def topickw(context, mapping): - """:topic: String. The topic of the changeset""" - ctx = context.resource(mapping, 'ctx') - return ctx.topic() +if post45template: + @templatekeyword('topic', requires={'ctx'}) + def topickw(context, mapping): + """:topic: String. The topic of the changeset""" + ctx = context.resource(mapping, 'ctx') + return ctx.topic() +else: + def topickw(**args): + """:topic: String. The topic of the changeset""" + return args['ctx'].topic() def wrapinit(orig, self, repo, *args, **kwargs): orig(self, repo, *args, **kwargs)