bundle2: introduce a ``params`` attribute to BundleValueError
We'll first use it for unsupported mandatory parameters on parts.
--- a/mercurial/error.py Wed May 28 15:51:19 2014 -0700
+++ b/mercurial/error.py Wed May 28 15:53:34 2014 -0700
@@ -100,13 +100,15 @@
# bundle2 related errors
class BundleValueError(ValueError):
- """error raised when bundle2 cannot be processed
-
- Current main usecase is unsupported part types."""
+ """error raised when bundle2 cannot be processed"""
- def __init__(self, parttype):
+ def __init__(self, parttype, params=()):
self.parttype = parttype
- super(BundleValueError, self).__init__(parttype)
+ self.params = params
+ msg = parttype
+ if self.params:
+ msg = '%s - %s' % (msg, ', '.join(self.params))
+ super(BundleValueError, self).__init__(msg)
class ReadOnlyPartError(RuntimeError):
"""error raised when code tries to alter a part being generated"""