diff -r 8f203b491bb5 -r e6eb86b154c5 mercurial/templater.py --- a/mercurial/templater.py Fri Apr 22 21:45:06 2016 +0900 +++ b/mercurial/templater.py Fri Apr 22 21:46:33 2016 +0900 @@ -411,8 +411,9 @@ else: raise error.ParseError(_("%r is not iterable") % d) - for v in diter: + for i, v in enumerate(diter): lm = mapping.copy() + lm['index'] = i if isinstance(v, dict): lm.update(v) lm['originalnode'] = mapping.get('node')