322 c._lm = self._lm.copy() |
322 c._lm = self._lm.copy() |
323 return c |
323 return c |
324 |
324 |
325 def iteritems(self): |
325 def iteritems(self): |
326 return (x[:2] for x in self._lm.iterentries()) |
326 return (x[:2] for x in self._lm.iterentries()) |
|
327 |
|
328 def iterentries(self): |
|
329 return self._lm.iterentries() |
327 |
330 |
328 def text(self, usemanifestv2=False): |
331 def text(self, usemanifestv2=False): |
329 if usemanifestv2: |
332 if usemanifestv2: |
330 return _textv2(self._lm.iterentries()) |
333 return _textv2(self._lm.iterentries()) |
331 else: |
334 else: |
918 if self._treeinmem: |
921 if self._treeinmem: |
919 return treemanifest(self._dir, data) |
922 return treemanifest(self._dir, data) |
920 return manifestdict(data) |
923 return manifestdict(data) |
921 |
924 |
922 def dirlog(self, dir): |
925 def dirlog(self, dir): |
923 assert self._treeondisk |
926 if dir: |
|
927 assert self._treeondisk |
924 if dir not in self._dirlogcache: |
928 if dir not in self._dirlogcache: |
925 self._dirlogcache[dir] = manifest(self.opener, dir, |
929 self._dirlogcache[dir] = manifest(self.opener, dir, |
926 self._dirlogcache) |
930 self._dirlogcache) |
927 return self._dirlogcache[dir] |
931 return self._dirlogcache[dir] |
928 |
932 |
942 if self._usemanifestv2 or self._treeondisk: |
946 if self._usemanifestv2 or self._treeondisk: |
943 return self._slowreaddelta(node) |
947 return self._slowreaddelta(node) |
944 r = self.rev(node) |
948 r = self.rev(node) |
945 d = mdiff.patchtext(self.revdiff(self.deltaparent(r), r)) |
949 d = mdiff.patchtext(self.revdiff(self.deltaparent(r), r)) |
946 return self._newmanifest(d) |
950 return self._newmanifest(d) |
|
951 |
|
952 def readshallowdelta(self, node): |
|
953 '''For flat manifests, this is the same as readdelta(). For |
|
954 treemanifests, this will read the delta for this revlog's directory, |
|
955 without recursively reading subdirectory manifests. Instead, any |
|
956 subdirectory entry will be reported as it appears in the manifests, i.e. |
|
957 the subdirectory will be reported among files and distinguished only by |
|
958 its 't' flag.''' |
|
959 if not self._treeondisk: |
|
960 return self.readdelta(node) |
|
961 if self._usemanifestv2: |
|
962 raise error.Abort( |
|
963 "readshallowdelta() not implemented for manifestv2") |
|
964 r = self.rev(node) |
|
965 d = mdiff.patchtext(self.revdiff(self.deltaparent(r), r)) |
|
966 return manifestdict(d) |
947 |
967 |
948 def readfast(self, node): |
968 def readfast(self, node): |
949 '''use the faster of readdelta or read |
969 '''use the faster of readdelta or read |
950 |
970 |
951 This will return a manifest which is either only the files |
971 This will return a manifest which is either only the files |