diff -r 372f4772f7a0 -r b056777221bf mercurial/exchange.py --- a/mercurial/exchange.py Mon Apr 21 19:42:40 2014 -0700 +++ b/mercurial/exchange.py Mon Apr 21 19:42:51 2014 -0700 @@ -228,7 +228,7 @@ reply = pushop.remote.unbundle(stream, ['force'], 'push') try: op = bundle2.processbundle(pushop.repo, reply) - except KeyError, exc: + except bundle2.UnknownPartError, exc: raise util.Abort('missing support for %s' % exc) cgreplies = op.records.getreplies(cgpart.id) assert len(cgreplies['changegroup']) == 1