mercurial/hg.py
changeset 313 e75ea4662d81
parent 312 09375250eb31
child 314 3402cb9a4c06
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):