equal
deleted
inserted
replaced
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) |