Mercurial > public > mercurial-scm > hg-stable
diff mercurial/templatekw.py @ 29624:1a129dd05b7d stable
templatekw: fix join format of parents keyword (issue5292)
Since the default joinfmt() can't process a dict of multiple keywords, we
need a dedicated joinfmt for showparents().
Unlike revset(), parents are formatted as '{rev}:{node|formatnode}' by default.
We copy the default formatting just like showextras() and showfilecopies() do.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Fri, 22 Jul 2016 22:12:12 +0900 |
parents | 33bf8bd8c5b9 |
children | bdc81970853d |
line wrap: on
line diff
--- a/mercurial/templatekw.py Fri Jul 22 22:00:46 2016 +0900 +++ b/mercurial/templatekw.py Fri Jul 22 22:12:12 2016 +0900 @@ -119,6 +119,16 @@ if endname in templ: yield templ(endname, **args) +def _formatrevnode(ctx): + """Format changeset as '{rev}:{node|formatnode}', which is the default + template provided by cmdutil.changeset_templater""" + repo = ctx.repo() + if repo.ui.debugflag: + hexnode = ctx.hex() + else: + hexnode = ctx.hex()[:12] + return '%d:%s' % (scmutil.intrev(ctx.rev()), hexnode) + def getfiles(repo, ctx, revcache): if 'files' not in revcache: revcache['files'] = repo.status(ctx.p1(), ctx)[:3] @@ -523,7 +533,8 @@ ('phase', p.phasestr())] for p in pctxs] f = _showlist('parent', parents, **args) - return _hybrid(f, prevs, lambda x: {'ctx': repo[int(x)], 'revcache': {}}) + return _hybrid(f, prevs, lambda x: {'ctx': repo[int(x)], 'revcache': {}}, + lambda d: _formatrevnode(d['ctx'])) @templatekeyword('phase') def showphase(repo, ctx, templ, **args):