Comments
Patch
@@ -151,10 +151,11 @@ class unbundle20(object):
params = {}
paramssize = self._unpack(_fstreamparamsize)[0]
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)
params[p[0]] = p[1]
return params
@@ -138,5 +138,14 @@ parameter with special char in value
Test generation
$ hg bundle2 --param 'e|! 7/=babar%#==tutu' --param simple
HG20\x00)e%7C%21%207/=babar%25%23%3D%3Dtutu simple\x00\x00 (no-eol) (esc)
+
+Test unbundling
+
+ $ hg bundle2 --param 'e|! 7/=babar%#==tutu' --param simple | hg unbundle2
+ options count: 2
+ - e|! 7/
+ babar%#==tutu
+ - simple
+ parts count: 0