mercurial/bundlerepo.py
changeset 12335 e21fe9c5fb25
parent 12333 44c7dfc2f6a3
child 12347 6277a9469dff
equal deleted inserted replaced
12334:50946802593d 12335:e21fe9c5fb25
    31         #
    31         #
    32         revlog.revlog.__init__(self, opener, indexfile)
    32         revlog.revlog.__init__(self, opener, indexfile)
    33         self.bundle = bundle
    33         self.bundle = bundle
    34         self.basemap = {}
    34         self.basemap = {}
    35         def chunkpositer():
    35         def chunkpositer():
    36             for chunk in bundle.chunks():
    36             while 1:
       
    37                 chunk = bundle.chunk()
       
    38                 if not chunk:
       
    39                     break
    37                 pos = bundle.tell()
    40                 pos = bundle.tell()
    38                 yield chunk, pos - len(chunk)
    41                 yield chunk, pos - len(chunk)
    39         n = len(self)
    42         n = len(self)
    40         prev = None
    43         prev = None
    41         for chunk, start in chunkpositer():
    44         for chunk, start in chunkpositer():
   228             while 1:
   231             while 1:
   229                 chunk = self.bundle.chunk()
   232                 chunk = self.bundle.chunk()
   230                 if not chunk:
   233                 if not chunk:
   231                     break
   234                     break
   232                 self.bundlefilespos[chunk] = self.bundle.tell()
   235                 self.bundlefilespos[chunk] = self.bundle.tell()
   233                 for c in self.bundle.chunks():
   236                 while 1:
   234                     pass
   237                     c = self.bundle.chunk()
       
   238                     if not c:
       
   239                         break
   235 
   240 
   236         if f[0] == '/':
   241         if f[0] == '/':
   237             f = f[1:]
   242             f = f[1:]
   238         if f in self.bundlefilespos:
   243         if f in self.bundlefilespos:
   239             self.bundle.seek(self.bundlefilespos[f])
   244             self.bundle.seek(self.bundlefilespos[f])