mercurial/revlog.py
changeset 27649 6446e9b37c8b
parent 27637 b502138f5faa
child 27650 e7222d326ea2
--- a/mercurial/revlog.py	Tue Jan 05 17:08:14 2016 -0800
+++ b/mercurial/revlog.py	Tue Jan 05 19:51:51 2016 -0800
@@ -1071,9 +1071,12 @@
 
         Requests for data may be satisfied by a cache.
 
-        Returns a str or a buffer instance of raw byte data. Callers will
-        need to call ``self.start(rev)`` and ``self.length()`` to determine
-        where each revision's data begins and ends.
+        Returns a 2-tuple of (offset, data) for the requested range of
+        revisions. Offset is the integer offset from the beginning of the
+        revlog and data is a str or buffer of the raw byte data.
+
+        Callers will need to call ``self.start(rev)`` and ``self.length(rev)``
+        to determine where each revision's data begins and ends.
         """
         start = self.start(startrev)
         end = self.end(endrev)
@@ -1081,7 +1084,8 @@
             start += (startrev + 1) * self._io.size
             end += (endrev + 1) * self._io.size
         length = end - start
-        return self._getchunk(start, length, df=df)
+
+        return start, self._getchunk(start, length, df=df)
 
     def _chunk(self, rev, df=None):
         """Obtain a single decompressed chunk for a revision.
@@ -1092,7 +1096,7 @@
 
         Returns a str holding uncompressed data for the requested revision.
         """
-        return decompress(self._chunkraw(rev, rev, df=df))
+        return decompress(self._chunkraw(rev, rev, df=df)[1])
 
     def _chunks(self, revs, df=None):
         """Obtain decompressed chunks for the specified revisions.
@@ -1123,7 +1127,7 @@
             while True:
                 # ensure that the cache doesn't change out from under us
                 _cache = self._chunkcache
-                self._chunkraw(revs[0], revs[-1], df=df)
+                self._chunkraw(revs[0], revs[-1], df=df)[1]
                 if _cache == self._chunkcache:
                     break
             offset, data = _cache
@@ -1267,7 +1271,7 @@
         df = self.opener(self.datafile, 'w')
         try:
             for r in self:
-                df.write(self._chunkraw(r, r))
+                df.write(self._chunkraw(r, r)[1])
         finally:
             df.close()