##// END OF EJS Templates
Minor annotate performance tweaks...
mpm@selenic.com -
r471:4c7f687e default
parent child Browse files
Show More
@@ -50,13 +50,9 b' class filelog(revlog):'
50 return ([rev] * len(text.splitlines()), text)
50 return ([rev] * len(text.splitlines()), text)
51
51
52 def pair(parent, child):
52 def pair(parent, child):
53 new = []
54 lb = 0
55 for a1, a2, b1, b2 in bdiff.blocks(parent[1], child[1]):
53 for a1, a2, b1, b2 in bdiff.blocks(parent[1], child[1]):
56 new[lb:] = child[0][lb:b1]
54 child[0][b1:b2] = parent[0][a1:a2]
57 new[b1:] = parent[0][a1:a2]
55 return child
58 lb = b2
59 return (new, child[1])
60
56
61 # find all ancestors
57 # find all ancestors
62 needed = {node:1}
58 needed = {node:1}
@@ -72,13 +68,11 b' class filelog(revlog):'
72 needed[p] += 1
68 needed[p] += 1
73
69
74 # sort by revision which is a topological order
70 # sort by revision which is a topological order
75 visit = needed.keys()
71 visit = [ (self.rev(n), n) for n in needed.keys() ]
76 visit = [ (self.rev(n), n) for n in visit ]
77 visit.sort()
72 visit.sort()
78 visit = [ p[1] for p in visit ]
79 hist = {}
73 hist = {}
80
74
81 for n in visit:
75 for r,n in visit:
82 curr = decorate(self.read(n), self.linkrev(n))
76 curr = decorate(self.read(n), self.linkrev(n))
83 for p in self.parents(n):
77 for p in self.parents(n):
84 if p != nullid:
78 if p != nullid:
General Comments 0
You need to be logged in to leave comments. Login now