##// END OF EJS Templates
bundlerepo: keep the bundlerevlog interface in sync with revlog
Benoit Boissinot -
r9676:48bf28d3 default
parent child Browse files
Show More
@@ -74,12 +74,12 b' class bundlerevlog(revlog.revlog):'
74 return False
74 return False
75 return rev in self.basemap
75 return rev in self.basemap
76 def bundlebase(self, rev): return self.basemap[rev]
76 def bundlebase(self, rev): return self.basemap[rev]
77 def chunk(self, rev, df=None, cachelen=4096):
77 def _chunk(self, rev):
78 # Warning: in case of bundle, the diff is against bundlebase,
78 # Warning: in case of bundle, the diff is against bundlebase,
79 # not against rev - 1
79 # not against rev - 1
80 # XXX: could use some caching
80 # XXX: could use some caching
81 if not self.bundle(rev):
81 if not self.bundle(rev):
82 return revlog.revlog.chunk(self, rev, df)
82 return revlog.revlog._chunk(self, rev)
83 self.bundlefile.seek(self.start(rev))
83 self.bundlefile.seek(self.start(rev))
84 return self.bundlefile.read(self.length(rev))
84 return self.bundlefile.read(self.length(rev))
85
85
@@ -89,7 +89,7 b' class bundlerevlog(revlog.revlog):'
89 # hot path for bundle
89 # hot path for bundle
90 revb = self.rev(self.bundlebase(rev2))
90 revb = self.rev(self.bundlebase(rev2))
91 if revb == rev1:
91 if revb == rev1:
92 return self.chunk(rev2)
92 return self._chunk(rev2)
93 elif not self.bundle(rev1) and not self.bundle(rev2):
93 elif not self.bundle(rev1) and not self.bundle(rev2):
94 return revlog.revlog.revdiff(self, rev1, rev2)
94 return revlog.revlog.revdiff(self, rev1, rev2)
95
95
@@ -116,7 +116,7 b' class bundlerevlog(revlog.revlog):'
116 text = revlog.revlog.revision(self, iter_node)
116 text = revlog.revlog.revision(self, iter_node)
117
117
118 while chain:
118 while chain:
119 delta = self.chunk(chain.pop())
119 delta = self._chunk(chain.pop())
120 text = mdiff.patches(text, [delta])
120 text = mdiff.patches(text, [delta])
121
121
122 p1, p2 = self.parents(node)
122 p1, p2 = self.parents(node)
General Comments 0
You need to be logged in to leave comments. Login now