##// END OF EJS Templates
manifestv2: implement slow readdelta() without revdiff...
Martin von Zweigbergk -
r24528:b538ae24 default
parent child Browse files
Show More
@@ -613,7 +613,21 b' class manifest(revlog.revlog):'
613 return treemanifest('', data)
613 return treemanifest('', data)
614 return manifestdict(data)
614 return manifestdict(data)
615
615
616 def _slowreaddelta(self, node):
617 r0 = self.deltaparent(self.rev(node))
618 m0 = self.read(self.node(r0))
619 m1 = self.read(node)
620 md = self._newmanifest()
621 for f, ((n0, fl0), (n1, fl1)) in m0.diff(m1).iteritems():
622 if n1:
623 md[f] = n1
624 if fl1:
625 md.setflag(f, fl1)
626 return md
627
616 def readdelta(self, node):
628 def readdelta(self, node):
629 if self._usemanifestv2:
630 return self._slowreaddelta(node)
617 r = self.rev(node)
631 r = self.rev(node)
618 d = mdiff.patchtext(self.revdiff(self.deltaparent(r), r))
632 d = mdiff.patchtext(self.revdiff(self.deltaparent(r), r))
619 return self._newmanifest(d)
633 return self._newmanifest(d)
General Comments 0
You need to be logged in to leave comments. Login now