diff -r e2f908773754 -r 8c74b3ce5b70 mercurial/bundle2.py --- a/mercurial/bundle2.py Tue Mar 18 17:43:08 2014 -0700 +++ b/mercurial/bundle2.py Tue Mar 18 18:40:31 2014 -0700 @@ -45,6 +45,8 @@ The blob contains a space separated list of parameters. parameter with value are stored in the form `=`. Both name and value are urlquoted. + Empty name are obviously forbidden. + Stream parameters use a simple textual format for two main reasons: - Stream level parameters should remains simple and we want to discourage any @@ -54,7 +56,6 @@ Any Applicative level options MUST go into a bundle2 part instead. - Payload part ------------------------ @@ -97,6 +98,8 @@ def addparam(self, name, value=None): """add a stream level parameter""" + if not name: + raise ValueError('empty parameter name') self._params.append((name, value)) def getchunks(self):