mercurial/bundlerepo.py
changeset 12331 40935b59518b
parent 12044 bcc7139521b7
child 12332 680fe77ab5b8
equal deleted inserted replaced
12330:e527b8635881 12331:40935b59518b
   172 
   172 
   173         self.tempfile = None
   173         self.tempfile = None
   174         self.bundlefile = open(bundlename, "rb")
   174         self.bundlefile = open(bundlename, "rb")
   175         b = changegroup.readbundle(self.bundlefile, bundlename)
   175         b = changegroup.readbundle(self.bundlefile, bundlename)
   176         if b.compressed():
   176         if b.compressed():
       
   177             # we need a seekable, decompressed bundle
   177             fdtemp, temp = tempfile.mkstemp(prefix="hg-bundle-",
   178             fdtemp, temp = tempfile.mkstemp(prefix="hg-bundle-",
   178                                             suffix=".hg10un", dir=self.path)
   179                                             suffix=".hg10un", dir=self.path)
   179             self.tempfile = temp
   180             self.tempfile = temp
   180             fptemp = os.fdopen(fdtemp, 'wb')
   181             fptemp = os.fdopen(fdtemp, 'wb')
   181 
   182 
   240             return bundlefilelog(self.sopener, f, self.bundlefile,
   241             return bundlefilelog(self.sopener, f, self.bundlefile,
   241                                  self.changelog.rev)
   242                                  self.changelog.rev)
   242         else:
   243         else:
   243             return filelog.filelog(self.sopener, f)
   244             return filelog.filelog(self.sopener, f)
   244 
   245 
   245     def close(self):
       
   246         """Close assigned bundle file immediately."""
       
   247         self.bundlefile.close()
       
   248 
       
   249     def __del__(self):
   246     def __del__(self):
   250         bundlefile = getattr(self, 'bundlefile', None)
   247         bundlefile = getattr(self, 'bundlefile', None)
   251         if bundlefile and not bundlefile.closed:
   248         if bundlefile and not bundlefile.closed:
   252             bundlefile.close()
   249             bundlefile.close()
   253         tempfile = getattr(self, 'tempfile', None)
   250         tempfile = getattr(self, 'tempfile', None)