# HG changeset patch # User Pierre-Yves David # Date 1397765098 14400 # Node ID 468cd774aa22c330b891300c6dbbcab177924517 # Parent 2a246e737f9209ef08f28fb250f09484c2a67eff bundle2: require both client and server to opt in Even if the server is bundle2-enabled, the client now has to opt-in in the config too. diff -r 2a246e737f92 -r 468cd774aa22 mercurial/exchange.py --- a/mercurial/exchange.py Thu Apr 17 16:01:58 2014 -0400 +++ b/mercurial/exchange.py Thu Apr 17 16:04:58 2014 -0400 @@ -132,7 +132,9 @@ pushop.repo.prepushoutgoinghooks(pushop.repo, pushop.remote, pushop.outgoing) - if pushop.remote.capable('bundle2-exp'): + if (pushop.repo.ui.configbool('experimental', 'bundle2-exp', + False) + and pushop.remote.capable('bundle2-exp')): _pushbundle2(pushop) else: _pushchangeset(pushop) @@ -516,7 +518,8 @@ lock = pullop.repo.lock() try: _pulldiscovery(pullop) - if pullop.remote.capable('bundle2-exp'): + if (pullop.repo.ui.configbool('server', 'bundle2', False) + and pullop.remote.capable('bundle2-exp')): _pullbundle2(pullop) if 'changegroup' in pullop.todosteps: _pullchangeset(pullop) diff -r 2a246e737f92 -r 468cd774aa22 mercurial/wireproto.py --- a/mercurial/wireproto.py Thu Apr 17 16:01:58 2014 -0400 +++ b/mercurial/wireproto.py Thu Apr 17 16:04:58 2014 -0400 @@ -585,7 +585,7 @@ # otherwise, add 'streamreqs' detailing our local revlog format else: caps.append('streamreqs=%s' % ','.join(requiredformats)) - if self.ui.configbool('experimental', 'bundle2-exp', False): + if repo.ui.configbool('experimental', 'bundle2-exp', False): capsblob = bundle2.encodecaps(repo.bundle2caps) caps.append('bundle2-exp=' + urllib.quote(capsblob)) caps.append('unbundle=%s' % ','.join(changegroupmod.bundlepriority))