diff --git a/mercurial/bundle2.py b/mercurial/bundle2.py index 7469067de2ba69273c5327f6fa47eaa7a1857d2e_bWVyY3VyaWFsL2J1bmRsZTIucHk=..d40029b4296e986f210ad9bc8bee1ce1523fd189_bWVyY3VyaWFsL2J1bmRsZTIucHk= 100644 --- a/mercurial/bundle2.py +++ b/mercurial/bundle2.py @@ -657,12 +657,7 @@ raise error.BundleValueError('negative bundle param size: %i' % paramssize) if paramssize: - for p in self._readexact(paramssize).split(' '): - p = p.split('=', 1) - p = [urllib.unquote(i) for i in p] - if len(p) < 2: - p.append(None) - self._processparam(*p) - params[p[0]] = p[1] + params = self._readexact(paramssize) + params = self._processallparams(params) return params @@ -667,5 +662,18 @@ return params + def _processallparams(self, paramsblock): + """""" + params = {} + for p in paramsblock.split(' '): + p = p.split('=', 1) + p = [urllib.unquote(i) for i in p] + if len(p) < 2: + p.append(None) + self._processparam(*p) + params[p[0]] = p[1] + return params + + def _processparam(self, name, value): """process a parameter, applying its effect if needed