mercurial/bundlerepo.py
changeset 21063 7ca4f2049d3b
parent 20981 4fdd1172d37e
child 21064 4d9d490d7bbe
equal deleted inserted replaced
21062:e7c0a65a5c9c 21063:7ca4f2049d3b
    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