##// END OF EJS Templates
revlog.revision: avoid opening the datafile without need....
Alexis S. L. Carvalho -
r6144:08e0825b default
parent child Browse files
Show More
@@ -933,19 +933,19 b' class revlog(object):'
933 raise RevlogError(_('incompatible revision flag %x') %
933 raise RevlogError(_('incompatible revision flag %x') %
934 (self.index[rev][0] & 0xFFFF))
934 (self.index[rev][0] & 0xFFFF))
935
935
936 if self._inline:
937 # we probably have the whole chunk cached
938 df = None
936 df = None
939 else:
940 df = self.opener(self.datafile)
941
937
942 # do we have useful data cached?
938 # do we have useful data cached?
943 if self._cache and self._cache[1] >= base and self._cache[1] < rev:
939 if self._cache and self._cache[1] >= base and self._cache[1] < rev:
944 base = self._cache[1]
940 base = self._cache[1]
945 text = str(self._cache[2])
941 text = str(self._cache[2])
946 self._loadindex(base, rev + 1)
942 self._loadindex(base, rev + 1)
943 if not self._inline and rev > base + 1:
944 df = self.opener(self.datafile)
947 else:
945 else:
948 self._loadindex(base, rev + 1)
946 self._loadindex(base, rev + 1)
947 if not self._inline and rev > base:
948 df = self.opener(self.datafile)
949 text = self.chunk(base, df=df)
949 text = self.chunk(base, df=df)
950
950
951 bins = [self.chunk(r, df) for r in xrange(base + 1, rev + 1)]
951 bins = [self.chunk(r, df) for r in xrange(base + 1, rev + 1)]
General Comments 0
You need to be logged in to leave comments. Login now