diff -r 0e07c0b5fb1c -r 1aab406be57c mercurial/revlog.py --- a/mercurial/revlog.py Sat Sep 07 12:42:46 2013 -0700 +++ b/mercurial/revlog.py Fri Sep 06 22:57:51 2013 -0700 @@ -863,17 +863,20 @@ length = self.length inline = self._inline iosize = self._io.size - getchunk = self._getchunk + buffer = util.buffer l = [] ladd = l.append + # XXX assume for now that chunkcache is preloaded + offset, data = self._chunkcache + for rev in revs: chunkstart = start(rev) if inline: chunkstart += (rev + 1) * iosize chunklength = length(rev) - ladd(decompress(getchunk(chunkstart, chunklength))) + ladd(decompress(buffer(data, chunkstart - offset, chunklength))) return l