mercurial/bundlerepo.py
changeset 26801 73bf76bf6f14
parent 26800 7cac6ee41be7
child 26803 ed41ce89822d
equal deleted inserted replaced
26800:7cac6ee41be7 26801:73bf76bf6f14
   273             self._url = 'bundle:' + bundlename
   273             self._url = 'bundle:' + bundlename
   274 
   274 
   275         self.tempfile = None
   275         self.tempfile = None
   276         f = util.posixfile(bundlename, "rb")
   276         f = util.posixfile(bundlename, "rb")
   277         self.bundlefile = self.bundle = exchange.readbundle(ui, f, bundlename)
   277         self.bundlefile = self.bundle = exchange.readbundle(ui, f, bundlename)
   278         if self.bundle.compressed():
       
   279             f = _writetempbundle(self.bundle.read, '.hg10un', header='HG10UN')
       
   280             self.bundlefile = self.bundle = exchange.readbundle(ui, f,
       
   281                                                                 bundlename,
       
   282                                                                 self.vfs)
       
   283 
   278 
   284         if isinstance(self.bundle, bundle2.unbundle20):
   279         if isinstance(self.bundle, bundle2.unbundle20):
   285             cgparts = [part for part in self.bundle.iterparts()
   280             cgparts = [part for part in self.bundle.iterparts()
   286                        if (part.type == 'changegroup')
   281                        if (part.type == 'changegroup')
   287                        and (part.params.get('version', '01')
   282                        and (part.params.get('version', '01')
   296                 raise NotImplementedError("Can't process multiple changegroups")
   291                 raise NotImplementedError("Can't process multiple changegroups")
   297             part = cgparts[0]
   292             part = cgparts[0]
   298 
   293 
   299             part.seek(0)
   294             part.seek(0)
   300             self.bundle = changegroup.packermap[version][1](part, 'UN')
   295             self.bundle = changegroup.packermap[version][1](part, 'UN')
       
   296 
       
   297         elif self.bundle.compressed():
       
   298             f = _writetempbundle(self.bundle.read, '.hg10un', header='HG10UN')
       
   299             self.bundlefile = self.bundle = exchange.readbundle(ui, f,
       
   300                                                                 bundlename,
       
   301                                                                 self.vfs)
   301 
   302 
   302         # dict with the mapping 'filename' -> position in the bundle
   303         # dict with the mapping 'filename' -> position in the bundle
   303         self.bundlefilespos = {}
   304         self.bundlefilespos = {}
   304 
   305 
   305         self.firstnewrev = self.changelog.repotiprev + 1
   306         self.firstnewrev = self.changelog.repotiprev + 1