mercurial/revlog.py
changeset 5312 fb070713ff36
parent 5007 3addf4531643
child 5325 5971cfc0a56a
equal deleted inserted replaced
5311:599f3a690d8f 5312:fb070713ff36
   910         rev = self.rev(node)
   910         rev = self.rev(node)
   911         base = self.base(rev)
   911         base = self.base(rev)
   912 
   912 
   913         # check rev flags
   913         # check rev flags
   914         if self.index[rev][0] & 0xFFFF:
   914         if self.index[rev][0] & 0xFFFF:
   915             raise RevlogError(_('incompatible revision flag %x') % q)
   915             raise RevlogError(_('incompatible revision flag %x') %
       
   916                               (self.index[rev][0] & 0xFFFF))
   916 
   917 
   917         if self._inline:
   918         if self._inline:
   918             # we probably have the whole chunk cached
   919             # we probably have the whole chunk cached
   919             df = None
   920             df = None
   920         else:
   921         else:
  1234         del self.index[rev:-1]
  1235         del self.index[rev:-1]
  1235 
  1236 
  1236     def checksize(self):
  1237     def checksize(self):
  1237         expected = 0
  1238         expected = 0
  1238         if self.count():
  1239         if self.count():
  1239             expected = self.end(self.count() - 1)
  1240             expected = max(0, self.end(self.count() - 1))
  1240 
  1241 
  1241         try:
  1242         try:
  1242             f = self.opener(self.datafile)
  1243             f = self.opener(self.datafile)
  1243             f.seek(0, 2)
  1244             f.seek(0, 2)
  1244             actual = f.tell()
  1245             actual = f.tell()
  1251         try:
  1252         try:
  1252             f = self.opener(self.indexfile)
  1253             f = self.opener(self.indexfile)
  1253             f.seek(0, 2)
  1254             f.seek(0, 2)
  1254             actual = f.tell()
  1255             actual = f.tell()
  1255             s = self._io.size
  1256             s = self._io.size
  1256             i = actual / s
  1257             i = max(0, actual / s)
  1257             di = actual - (i * s)
  1258             di = actual - (i * s)
  1258             if self._inline:
  1259             if self._inline:
  1259                 databytes = 0
  1260                 databytes = 0
  1260                 for r in xrange(self.count()):
  1261                 for r in xrange(self.count()):
  1261                     databytes += self.length(r)
  1262                     databytes += max(0, self.length(r))
  1262                 dd = 0
  1263                 dd = 0
  1263                 di = actual - self.count() * s - databytes
  1264                 di = actual - self.count() * s - databytes
  1264         except IOError, inst:
  1265         except IOError, inst:
  1265             if inst.errno != errno.ENOENT:
  1266             if inst.errno != errno.ENOENT:
  1266                 raise
  1267                 raise