equal
deleted
inserted
replaced
12 """ |
12 """ |
13 |
13 |
14 from node import nullid |
14 from node import nullid |
15 from i18n import _ |
15 from i18n import _ |
16 import os, tempfile, shutil |
16 import os, tempfile, shutil |
17 import changegroup, util, mdiff, discovery, cmdutil, scmutil |
17 import changegroup, util, mdiff, discovery, cmdutil, scmutil, exchange |
18 import localrepo, changelog, manifest, filelog, revlog, error |
18 import localrepo, changelog, manifest, filelog, revlog, error |
19 |
19 |
20 class bundlerevlog(revlog.revlog): |
20 class bundlerevlog(revlog.revlog): |
21 def __init__(self, opener, indexfile, bundle, linkmapper): |
21 def __init__(self, opener, indexfile, bundle, linkmapper): |
22 # How it works: |
22 # How it works: |
200 else: |
200 else: |
201 self._url = 'bundle:' + bundlename |
201 self._url = 'bundle:' + bundlename |
202 |
202 |
203 self.tempfile = None |
203 self.tempfile = None |
204 f = util.posixfile(bundlename, "rb") |
204 f = util.posixfile(bundlename, "rb") |
205 self.bundle = changegroup.readbundle(f, bundlename) |
205 self.bundle = exchange.readbundle(f, bundlename) |
206 if self.bundle.compressed(): |
206 if self.bundle.compressed(): |
207 fdtemp, temp = self.vfs.mkstemp(prefix="hg-bundle-", |
207 fdtemp, temp = self.vfs.mkstemp(prefix="hg-bundle-", |
208 suffix=".hg10un") |
208 suffix=".hg10un") |
209 self.tempfile = temp |
209 self.tempfile = temp |
210 fptemp = os.fdopen(fdtemp, 'wb') |
210 fptemp = os.fdopen(fdtemp, 'wb') |
218 fptemp.write(chunk) |
218 fptemp.write(chunk) |
219 finally: |
219 finally: |
220 fptemp.close() |
220 fptemp.close() |
221 |
221 |
222 f = self.vfs.open(self.tempfile, mode="rb") |
222 f = self.vfs.open(self.tempfile, mode="rb") |
223 self.bundle = changegroup.readbundle(f, bundlename, self.vfs) |
223 self.bundle = exchange.readbundle(f, bundlename, self.vfs) |
224 |
224 |
225 # dict with the mapping 'filename' -> position in the bundle |
225 # dict with the mapping 'filename' -> position in the bundle |
226 self.bundlefilespos = {} |
226 self.bundlefilespos = {} |
227 |
227 |
228 @localrepo.unfilteredpropertycache |
228 @localrepo.unfilteredpropertycache |