Mercurial > hg
changeset 27214:60af96494a76
graphlog: extract "graphnode" template keyword that represents node symbol
This provides a default node symbol. Tests will be added later.
"showparents" variable is renamed to "wpnodes" to avoid confusion with the
existing showparents() function.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 14 Nov 2015 16:58:18 +0900 |
parents | ccae1588117f |
children | 5b8da5643a8a |
files | mercurial/cmdutil.py mercurial/templatekw.py |
diffstat | 2 files changed, 15 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Sat Nov 14 16:45:15 2015 +0900 +++ b/mercurial/cmdutil.py Sat Nov 14 16:58:18 2015 +0900 @@ -2161,16 +2161,9 @@ def displaygraph(ui, repo, dag, displayer, edgefn, getrenamed=None, filematcher=None): - showparents = [ctx.node() for ctx in repo[None].parents()] seen, state = [], graphmod.asciistate() for rev, type, ctx, parents in dag: - char = 'o' - if ctx.node() in showparents: - char = '@' - elif ctx.obsolete(): - char = 'x' - elif ctx.closesbranch(): - char = '_' + char = templatekw.showgraphnode(repo, ctx) copies = None if getrenamed and ctx.rev(): copies = []
--- a/mercurial/templatekw.py Sat Nov 14 16:45:15 2015 +0900 +++ b/mercurial/templatekw.py Sat Nov 14 16:58:18 2015 +0900 @@ -340,6 +340,19 @@ """ return showlist('file', args['ctx'].files(), **args) +def showgraphnode(repo, ctx, **args): + """:graphnode: String. The character representing the changeset node in + an ASCII revision graph""" + wpnodes = [pctx.node() for pctx in repo[None].parents()] + if ctx.node() in wpnodes: + return '@' + elif ctx.obsolete(): + return 'x' + elif ctx.closesbranch(): + return '_' + else: + return 'o' + def showlatesttag(**args): """:latesttag: List of strings. The global tags on the most recent globally tagged ancestor of this changeset. @@ -518,6 +531,7 @@ 'file_dels': showfiledels, 'file_mods': showfilemods, 'files': showfiles, + 'graphnode': showgraphnode, 'latesttag': showlatesttag, 'latesttagdistance': showlatesttagdistance, 'manifest': showmanifest,