mercurial/manifest.py
changeset 28240 1ac8ce137377
parent 28215 f7c5c7847b53
child 29056 e2178f7d17c0
equal deleted inserted replaced
28239:7279e0132347 28240:1ac8ce137377
   983         deltaparent = self.deltaparent(r)
   983         deltaparent = self.deltaparent(r)
   984         if deltaparent != revlog.nullrev and deltaparent in self.parentrevs(r):
   984         if deltaparent != revlog.nullrev and deltaparent in self.parentrevs(r):
   985             return self.readdelta(node)
   985             return self.readdelta(node)
   986         return self.read(node)
   986         return self.read(node)
   987 
   987 
       
   988     def readshallowfast(self, node):
       
   989         '''like readfast(), but calls readshallowdelta() instead of readdelta()
       
   990         '''
       
   991         r = self.rev(node)
       
   992         deltaparent = self.deltaparent(r)
       
   993         if deltaparent != revlog.nullrev and deltaparent in self.parentrevs(r):
       
   994             return self.readshallowdelta(node)
       
   995         return self.readshallow(node)
       
   996 
   988     def read(self, node):
   997     def read(self, node):
   989         if node == revlog.nullid:
   998         if node == revlog.nullid:
   990             return self._newmanifest() # don't upset local cache
   999             return self._newmanifest() # don't upset local cache
   991         if node in self._mancache:
  1000         if node in self._mancache:
   992             return self._mancache[node][0]
  1001             return self._mancache[node][0]
  1003             text = self.revision(node)
  1012             text = self.revision(node)
  1004             m = self._newmanifest(text)
  1013             m = self._newmanifest(text)
  1005             arraytext = array.array('c', text)
  1014             arraytext = array.array('c', text)
  1006         self._mancache[node] = (m, arraytext)
  1015         self._mancache[node] = (m, arraytext)
  1007         return m
  1016         return m
       
  1017 
       
  1018     def readshallow(self, node):
       
  1019         '''Reads the manifest in this directory. When using flat manifests,
       
  1020         this manifest will generally have files in subdirectories in it. Does
       
  1021         not cache the manifest as the callers generally do not read the same
       
  1022         version twice.'''
       
  1023         return manifestdict(self.revision(node))
  1008 
  1024 
  1009     def find(self, node, f):
  1025     def find(self, node, f):
  1010         '''look up entry for a single file efficiently.
  1026         '''look up entry for a single file efficiently.
  1011         return (node, flags) pair if found, (None, None) if not.'''
  1027         return (node, flags) pair if found, (None, None) if not.'''
  1012         m = self.read(node)
  1028         m = self.read(node)