diff -r 6e3fdd98b277 -r 650c9f69a744 mercurial/templatekw.py --- a/mercurial/templatekw.py Fri Feb 26 20:22:05 2016 +0900 +++ b/mercurial/templatekw.py Fri Feb 12 19:16:09 2016 +0900 @@ -474,11 +474,14 @@ revision) nothing is shown.""" repo = args['repo'] ctx = args['ctx'] + pctxs = scmutil.meaningfulparents(repo, ctx) + prevs = [str(p.rev()) for p in pctxs] # ifcontains() needs a list of str parents = [[('rev', p.rev()), ('node', p.hex()), ('phase', p.phasestr())] - for p in scmutil.meaningfulparents(repo, ctx)] - return showlist('parent', parents, **args) + for p in pctxs] + f = _showlist('parent', parents, **args) + return _hybrid(f, prevs, lambda x: {'ctx': repo[int(x)], 'revcache': {}}) def showphase(repo, ctx, templ, **args): """:phase: String. The changeset phase name."""