Mercurial > public > mercurial-scm > hg-stable
diff mercurial/bundle2.py @ 20813:8c74b3ce5b70
bundle2: refuse empty parameter name
The bundle2 now raise value error when seeing invalid parameter names. The first
introduced rules is: no empty parameter.
The test extension is improve to properly abort when ValueError are encountered.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Tue, 18 Mar 2014 18:40:31 -0700 |
parents | e2f908773754 |
children | 8532f5e1b9df |
line wrap: on
line diff
--- 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 `<name>=<value>`. 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):