mercurial/bundle2.py
changeset 42143 29569f2db929
parent 42057 566daffc607d
child 42417 a97b12f726e4
equal deleted inserted replaced
42142:5382d8f8530b 42143:29569f2db929
   832         assert 'params' not in vars(self)
   832         assert 'params' not in vars(self)
   833         paramssize = self._unpack(_fstreamparamsize)[0]
   833         paramssize = self._unpack(_fstreamparamsize)[0]
   834         if paramssize < 0:
   834         if paramssize < 0:
   835             raise error.BundleValueError('negative bundle param size: %i'
   835             raise error.BundleValueError('negative bundle param size: %i'
   836                                          % paramssize)
   836                                          % paramssize)
   837         yield _pack(_fstreamparamsize, paramssize)
       
   838         if paramssize:
   837         if paramssize:
   839             params = self._readexact(paramssize)
   838             params = self._readexact(paramssize)
   840             self._processallparams(params)
   839             self._processallparams(params)
   841             yield params
   840             # The payload itself is decompressed below, so drop
   842             assert self._compengine.bundletype()[1] == 'UN'
   841             # the compression parameter passed down to compensate.
       
   842             outparams = []
       
   843             for p in params.split(' '):
       
   844                 k, v = p.split('=', 1)
       
   845                 if k.lower() != 'compression':
       
   846                     outparams.append(p)
       
   847             outparams = ' '.join(outparams)
       
   848             yield _pack(_fstreamparamsize, len(outparams))
       
   849             yield outparams
       
   850         else:
       
   851             yield _pack(_fstreamparamsize, paramssize)
   843         # From there, payload might need to be decompressed
   852         # From there, payload might need to be decompressed
   844         self._fp = self._compengine.decompressorreader(self._fp)
   853         self._fp = self._compengine.decompressorreader(self._fp)
   845         emptycount = 0
   854         emptycount = 0
   846         while emptycount < 2:
   855         while emptycount < 2:
   847             # so we can brainlessly loop
   856             # so we can brainlessly loop