comparison mercurial/manifest.py @ 12011:f38b0a3308b6

deltaparent(): don't return nullrev for a revision containing a full snapshot this allows us to simplify manifest.readdelta and revlog.revdiff
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Sat, 21 Aug 2010 19:30:42 +0200
parents 5f7ee3db3dd8
children 3da456d0c885
comparison
equal deleted inserted replaced
12010:ce818cf215dc 12011:f38b0a3308b6
34 parsers.parse_manifest(mfdict, mfdict._flags, lines) 34 parsers.parse_manifest(mfdict, mfdict._flags, lines)
35 return mfdict 35 return mfdict
36 36
37 def readdelta(self, node): 37 def readdelta(self, node):
38 r = self.rev(node) 38 r = self.rev(node)
39 if self._parentdelta: 39 return self.parse(mdiff.patchtext(self.revdiff(self.deltaparent(r), r)))
40 return self.parse(mdiff.patchtext(self.revdiff(self.deltaparent(r), r)))
41 return self.parse(mdiff.patchtext(self.revdiff(r - 1, r)))
42 40
43 def read(self, node): 41 def read(self, node):
44 if node == revlog.nullid: 42 if node == revlog.nullid:
45 return manifestdict() # don't upset local cache 43 return manifestdict() # don't upset local cache
46 if self._mancache and self._mancache[0] == node: 44 if self._mancache and self._mancache[0] == node: