# HG changeset patch # User Matt Mackall # Date 1241743185 18000 # Node ID c8493310ad9b4ef55483982d79c2e9fd60576582 # Parent 57a41c08feabf7c0e602d9d0658bbb4ef4bb052d revlog: use index to find index size diff -r 57a41c08feab -r c8493310ad9b mercurial/revlog.py --- a/mercurial/revlog.py Thu May 07 19:39:45 2009 -0500 +++ b/mercurial/revlog.py Thu May 07 19:39:45 2009 -0500 @@ -998,14 +998,9 @@ return text def checkinlinesize(self, tr, fp=None): - if not self._inline: + if not self._inline or (self.start(-2) + self.length(-2)) < 131072: return - if not fp: - fp = self.opener(self.indexfile, 'r') - fp.seek(0, 2) - size = fp.tell() - if size < 131072: - return + trinfo = tr.find(self.indexfile) if trinfo == None: raise RevlogError(_("%s not found in the transaction") @@ -1015,6 +1010,10 @@ dataoff = self.start(trindex) tr.add(self.datafile, dataoff) + + if not fp: + fp = self.opener(self.indexfile, 'r') + df = self.opener(self.datafile, 'w') try: calc = self._io.size