Mercurial > public > mercurial-scm > hg-stable
diff mercurial/templatekw.py @ 26435:882b170ae616
templatekw: port implementation of showparents() from changeset_templater
It isn't cool, but we can peek at ui flag via repo.ui. So, it is possible
to implement showparents() in templatekw, and therefore we can eliminate the
dockeywords hack.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 26 Sep 2015 12:38:02 +0900 |
parents | 0a823de8d7b7 |
children | a2291c9c85a1 |
line wrap: on
line diff
--- a/mercurial/templatekw.py Sat Sep 26 12:32:03 2015 +0900 +++ b/mercurial/templatekw.py Sat Sep 26 12:38:02 2015 +0900 @@ -397,11 +397,17 @@ parent, all digits are 0.""" return ctx.p2().hex() -def _showparents(**args): +def showparents(**args): """:parents: List of strings. The parents of the changeset in "rev:node" format. If the changeset has only one "natural" parent (the predecessor revision) nothing is shown.""" - pass + repo = args['repo'] + ctx = args['ctx'] + parents = [[('rev', p.rev()), + ('node', p.hex()), + ('phase', p.phasestr())] + for p in scmutil.meaningfulparents(repo, ctx)] + return showlist('parent', parents, **args) def showphase(repo, ctx, templ, **args): """:phase: String. The changeset phase name.""" @@ -491,6 +497,7 @@ 'p1node': showp1node, 'p2rev': showp2rev, 'p2node': showp2node, + 'parents': showparents, 'phase': showphase, 'phaseidx': showphaseidx, 'rev': showrev, @@ -499,7 +506,6 @@ } dockeywords = { - 'parents': _showparents, } dockeywords.update(keywords) del dockeywords['branches']