mercurial/revlog.py
changeset 35969 1f2b8a644dd4
parent 35968 91b3b11565e5
child 35970 69cf2e422490
equal deleted inserted replaced
35968:91b3b11565e5 35969:1f2b8a644dd4
   619                                 'of 2') % self._chunkcachesize)
   619                                 'of 2') % self._chunkcachesize)
   620 
   620 
   621         indexdata = ''
   621         indexdata = ''
   622         self._initempty = True
   622         self._initempty = True
   623         try:
   623         try:
   624             f = self._indexfp()
   624             with self._indexfp() as f:
   625             if (mmapindexthreshold is not None and
   625                 if (mmapindexthreshold is not None and
   626                     self.opener.fstat(f).st_size >= mmapindexthreshold):
   626                         self.opener.fstat(f).st_size >= mmapindexthreshold):
   627                 indexdata = util.buffer(util.mmapread(f))
   627                     indexdata = util.buffer(util.mmapread(f))
   628             else:
   628                 else:
   629                 indexdata = f.read()
   629                     indexdata = f.read()
   630             f.close()
       
   631             if len(indexdata) > 0:
   630             if len(indexdata) > 0:
   632                 v = versionformat_unpack(indexdata[:4])[0]
   631                 v = versionformat_unpack(indexdata[:4])[0]
   633                 self._initempty = False
   632                 self._initempty = False
   634         except IOError as inst:
   633         except IOError as inst:
   635             if inst.errno != errno.ENOENT:
   634             if inst.errno != errno.ENOENT: