Show More
@@ -77,7 +77,7 b' class bundlerevlog(revlog.revlog):' | |||||
77 | # not against rev - 1 |
|
77 | # not against rev - 1 | |
78 | # XXX: could use some caching |
|
78 | # XXX: could use some caching | |
79 | if not self.bundle(rev): |
|
79 | if not self.bundle(rev): | |
80 |
return revlog.revlog.chunk(self, rev, df |
|
80 | return revlog.revlog.chunk(self, rev, df) | |
81 | self.bundlefile.seek(self.start(rev)) |
|
81 | self.bundlefile.seek(self.start(rev)) | |
82 | return self.bundlefile.read(self.length(rev)) |
|
82 | return self.bundlefile.read(self.length(rev)) | |
83 |
|
83 |
@@ -838,16 +838,15 b' class revlog(object):' | |||||
838 | """apply a list of patches to a string""" |
|
838 | """apply a list of patches to a string""" | |
839 | return mdiff.patches(t, pl) |
|
839 | return mdiff.patches(t, pl) | |
840 |
|
840 | |||
841 |
def chunk(self, rev, df=None |
|
841 | def chunk(self, rev, df=None): | |
842 | start, length = self.start(rev), self.length(rev) |
|
842 | start, length = self.start(rev), self.length(rev) | |
843 |
i |
|
843 | if self._inline: | |
844 | if inline: |
|
|||
845 | start += (rev + 1) * self._io.size |
|
844 | start += (rev + 1) * self._io.size | |
846 | end = start + length |
|
845 | end = start + length | |
847 | def loadcache(df): |
|
846 | def loadcache(df): | |
848 |
cache_length = max( |
|
847 | cache_length = max(65536, length) | |
849 | if not df: |
|
848 | if not df: | |
850 | if inline: |
|
849 | if self._inline: | |
851 | df = self.opener(self.indexfile) |
|
850 | df = self.opener(self.indexfile) | |
852 | else: |
|
851 | else: | |
853 | df = self.opener(self.datafile) |
|
852 | df = self.opener(self.datafile) | |
@@ -866,7 +865,12 b' class revlog(object):' | |||||
866 | loadcache(df) |
|
865 | loadcache(df) | |
867 | offset = 0 |
|
866 | offset = 0 | |
868 |
|
867 | |||
869 | return decompress(self._chunkcache[1][offset:offset + length]) |
|
868 | # avoid copying large chunks | |
|
869 | c = self._chunkcache[1] | |||
|
870 | if len(c) > length: | |||
|
871 | c = c[offset:offset + length] | |||
|
872 | ||||
|
873 | return decompress(c) | |||
870 |
|
874 | |||
871 | def delta(self, node): |
|
875 | def delta(self, node): | |
872 | """return or calculate a delta between a node and its predecessor""" |
|
876 | """return or calculate a delta between a node and its predecessor""" |
General Comments 0
You need to be logged in to leave comments.
Login now