diff -r d61066d787c8 -r 511f5fa63aa2 mercurial/bundle2.py --- a/mercurial/bundle2.py Wed May 28 11:40:07 2014 -0700 +++ b/mercurial/bundle2.py Tue May 27 12:01:00 2014 -0700 @@ -306,6 +306,12 @@ part.read() continue + unknownparams = part.mandatorykeys - handler.params + if unknownparams: + unknownparams = list(unknownparams) + unknownparams.sort() + raise error.BundleValueError(parttype=key, params=unknownparams) + # handler is called outside the above try block so that we don't # risk catching KeyErrors from anything other than the # parthandlermapping lookup (any KeyError raised by handler()