[PATCH 1 of 2] templates: split getgraphnode() body into two functions

Anton Shestakov av6 at dwimlabs.net
Wed May 9 04:20:09 UTC 2018


# HG changeset patch
# User Anton Shestakov <av6 at dwimlabs.net>
# Date 1525773297 -28800
#      Tue May 08 17:54:57 2018 +0800
# Node ID 223f04ec87e4d17492a7ea7dc4bab1d9bd5c9fdf
# Parent  92213f6745ed6f2c50feca9a2261b6f33a9a32fa
templates: split getgraphnode() body into two functions

getgraphnodecurrent() is checking if the node is currently checked out and
getgraphnodesymbol() is checking properties that have more to do with the
stored data and the DAG.

diff --git a/mercurial/templatekw.py b/mercurial/templatekw.py
--- a/mercurial/templatekw.py
+++ b/mercurial/templatekw.py
@@ -392,12 +392,19 @@ def showgraphnode(context, mapping):
     return getgraphnode(repo, ctx)
 
 def getgraphnode(repo, ctx):
+    return getgraphnodecurrent(repo, ctx) or getgraphnodesymbol(ctx)
+
+def getgraphnodecurrent(repo, ctx):
     wpnodes = repo.dirstate.parents()
     if wpnodes[1] == nullid:
         wpnodes = wpnodes[:1]
     if ctx.node() in wpnodes:
         return '@'
-    elif ctx.obsolete():
+    else:
+        return ''
+
+def getgraphnodesymbol(ctx):
+    if ctx.obsolete():
         return 'x'
     elif ctx.isunstable():
         return '*'


More information about the Mercurial-devel mailing list