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.
This commit is contained in:
Yuya Nishihara 2015-11-14 16:58:18 +09:00
parent 78ebbc20b2
commit f981890d2b
2 changed files with 15 additions and 8 deletions

View File

@ -2161,16 +2161,9 @@ def getlogrevs(repo, pats, opts):
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 = []

View File

@ -340,6 +340,19 @@ def showfiles(**args):
"""
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 @@ keywords = {
'file_dels': showfiledels,
'file_mods': showfilemods,
'files': showfiles,
'graphnode': showgraphnode,
'latesttag': showlatesttag,
'latesttagdistance': showlatesttagdistance,
'manifest': showmanifest,