diff -r dba91f8060eb -r 12f161f08d74 mercurial/localrepo.py --- a/mercurial/localrepo.py Fri Apr 04 01:51:54 2014 -0700 +++ b/mercurial/localrepo.py Tue Apr 01 23:41:32 2014 -0700 @@ -62,7 +62,8 @@ return orig(repo.unfiltered(), *args, **kwargs) return wrapper -moderncaps = set(('lookup', 'branchmap', 'pushkey', 'known', 'getbundle')) +moderncaps = set(('lookup', 'branchmap', 'pushkey', 'known', 'getbundle', + 'bundle2')) legacycaps = moderncaps.union(set(['changegroupsubset'])) class localpeer(peer.peerrepository): @@ -276,6 +277,11 @@ pass def _restrictcapabilities(self, caps): + # bundle2 is not ready for prime time, drop it unless explicitly + # required by the tests (or some brave tester) + if not self.ui.configbool('server', 'bundle2', False): + caps = set(caps) + caps.remove('bundle2') return caps def _applyrequirements(self, requirements):