##// END OF EJS Templates
graphmod: add config cache...
Matt Mackall -
r16132:41fc1e07 default
parent child Browse files
Show More
@@ -18,6 +18,7 b' Data depends on type.'
18 """
18 """
19
19
20 from mercurial.node import nullrev
20 from mercurial.node import nullrev
21 import util
21
22
22 CHANGESET = 'C'
23 CHANGESET = 'C'
23
24
@@ -94,6 +95,10 b' def colored(dag, repo):'
94 elif setting == "color" and val.isalnum():
95 elif setting == "color" and val.isalnum():
95 config.setdefault(branch, {})[setting] = val
96 config.setdefault(branch, {})[setting] = val
96
97
98 if config:
99 getconf = util.lrucachefunc(lambda rev: config.get(repo[rev].branch()))
100 else:
101 getconf = lambda rev: None
97
102
98 for (cur, type, data, parents) in dag:
103 for (cur, type, data, parents) in dag:
99
104
@@ -125,12 +130,12 b' def colored(dag, repo):'
125 if eid in next:
130 if eid in next:
126 edges.append((
131 edges.append((
127 ecol, next.index(eid), colors[eid],
132 ecol, next.index(eid), colors[eid],
128 config.get(repo[eid].branch(), None)))
133 getconf(eid)))
129 elif eid == cur:
134 elif eid == cur:
130 for p in parents:
135 for p in parents:
131 edges.append((
136 edges.append((
132 ecol, next.index(p), color,
137 ecol, next.index(p), color,
133 config.get(repo[p].branch(), None)))
138 getconf(p)))
134
139
135 # Yield and move on
140 # Yield and move on
136 yield (cur, type, data, (col, color), edges)
141 yield (cur, type, data, (col, color), edges)
General Comments 0
You need to be logged in to leave comments. Login now