diff -r 443848eece18 -r a40e2f7fe49d mercurial/bundlerepo.py --- a/mercurial/bundlerepo.py Wed Jan 13 15:47:37 2016 -0600 +++ b/mercurial/bundlerepo.py Tue Jan 12 21:01:06 2016 -0800 @@ -285,7 +285,7 @@ "multiple changegroups") cgstream = part version = part.params.get('version', '01') - if version not in changegroup.packermap: + if version not in changegroup.supportedversions(self): msg = _('Unsupported changegroup version: %s') raise error.Abort(msg % version) if self.bundle.compressed(): @@ -296,7 +296,7 @@ raise error.Abort('No changegroups found') cgstream.seek(0) - self.bundle = changegroup.packermap[version][1](cgstream, 'UN') + self.bundle = changegroup.getunbundler(version, cgstream, 'UN') elif self.bundle.compressed(): f = _writetempbundle(self.bundle.read, '.hg10un', header='HG10UN')