templater: factor out type conversion of revset() result
This makes it clear why we have to do repo[int(x)].
--- a/mercurial/templatekw.py Fri Feb 12 18:08:53 2016 +0900
+++ b/mercurial/templatekw.py Fri Feb 12 18:39:48 2016 +0900
@@ -490,6 +490,7 @@
"""helper to generate a list of revisions in which a mapped template will
be evaluated"""
repo = args['ctx'].repo()
+ revs = [str(r) for r in revs] # ifcontains() needs a list of str
f = _showlist(name, revs, **args)
return _hybrid(f, revs,
lambda x: {name: x, 'ctx': repo[int(x)], 'revcache': {}})
--- a/mercurial/templater.py Fri Feb 12 18:08:53 2016 +0900
+++ b/mercurial/templater.py Fri Feb 12 18:39:48 2016 +0900
@@ -581,14 +581,14 @@
if len(args) > 1:
formatargs = list([a[0](context, mapping, a[1]) for a in args[1:]])
revs = query(revsetmod.formatspec(raw, *formatargs))
- revs = list([str(r) for r in revs])
+ revs = list(revs)
else:
revsetcache = mapping['cache'].setdefault("revsetcache", {})
if raw in revsetcache:
revs = revsetcache[raw]
else:
revs = query(raw)
- revs = list([str(r) for r in revs])
+ revs = list(revs)
revsetcache[raw] = revs
return templatekw.showrevslist("revision", revs, **mapping)