comparison mercurial/hg.py @ 313:e75ea4662d81

Minor caching improvement for manifest -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Minor caching improvement for manifest manifest hash: 91d827f4041f1151875a52199618cdd1a219ac79 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCrGGBywK+sNU5EO8RAotVAJ93JTk6XoHnZrbGzcZQ1N+P7kNKiACfYj+F RlcmcLHc3rEMkcM127BszDg= =5zAN -----END PGP SIGNATURE-----
author mpm@selenic.com
date Sun, 12 Jun 2005 08:23:29 -0800
parents 09375250eb31
children 3402cb9a4c06
comparison
equal deleted inserted replaced
312:09375250eb31 313:e75ea4662d81
95 self.listcache = None 95 self.listcache = None
96 self.addlist = None 96 self.addlist = None
97 revlog.__init__(self, opener, "00manifest.i", "00manifest.d") 97 revlog.__init__(self, opener, "00manifest.i", "00manifest.d")
98 98
99 def read(self, node): 99 def read(self, node):
100 if node == nullid: return {} # don't upset local cache
100 if self.mapcache and self.mapcache[0] == node: 101 if self.mapcache and self.mapcache[0] == node:
101 return self.mapcache[1].copy() 102 return self.mapcache[1].copy()
102 text = self.revision(node) 103 text = self.revision(node)
103 map = {} 104 map = {}
104 flag = {} 105 flag = {}
109 flag[f] = (n[40:-1] == "x") 110 flag[f] = (n[40:-1] == "x")
110 self.mapcache = (node, map, flag) 111 self.mapcache = (node, map, flag)
111 return map 112 return map
112 113
113 def readflags(self, node): 114 def readflags(self, node):
115 if node == nullid: return {} # don't upset local cache
114 if self.mapcache or self.mapcache[0] != node: 116 if self.mapcache or self.mapcache[0] != node:
115 self.read(node) 117 self.read(node)
116 return self.mapcache[2] 118 return self.mapcache[2]
117 119
118 def diff(self, a, b): 120 def diff(self, a, b):