diff -r b7a75b9a3386 -r 0407a51b9d8c mercurial/exchange.py --- a/mercurial/exchange.py Tue Jul 11 08:52:55 2017 -0700 +++ b/mercurial/exchange.py Fri Jul 14 14:22:40 2017 -0700 @@ -547,7 +547,7 @@ unfi = pushop.repo.unfiltered() remotephases = pushop.remote.listkeys('phases') publishing = remotephases.get('publishing', False) - if (pushop.ui.configbool('ui', '_usedassubrepo', False) + if (pushop.ui.configbool('ui', '_usedassubrepo') and remotephases # server supports phases and not pushop.outgoing.missing # no changesets to be pushed and publishing): @@ -993,7 +993,7 @@ cheads = pushop.commonheads # even when we don't push, exchanging phase data is useful remotephases = pushop.remote.listkeys('phases') - if (pushop.ui.configbool('ui', '_usedassubrepo', False) + if (pushop.ui.configbool('ui', '_usedassubrepo') and remotephases # server supports phases and pushop.cgresult is None # nothing was pushed and remotephases.get('publishing', False)): @@ -1726,8 +1726,7 @@ lockandtr = [None, None, None] recordout = None # quick fix for output mismatch with bundle2 in 3.4 - captureoutput = repo.ui.configbool('experimental', 'bundle2-output-capture', - False) + captureoutput = repo.ui.configbool('experimental', 'bundle2-output-capture') if url.startswith('remote:http:') or url.startswith('remote:https:'): captureoutput = True try: @@ -1792,7 +1791,7 @@ repo = pullop.repo remote = pullop.remote - if not repo.ui.configbool('ui', 'clonebundles', True): + if not repo.ui.configbool('ui', 'clonebundles'): return # Only run if local repo is empty. @@ -1841,7 +1840,7 @@ # We abort by default to avoid the thundering herd of # clients flooding a server that was expecting expensive # clone load to be offloaded. - elif repo.ui.configbool('ui', 'clonebundlefallback', False): + elif repo.ui.configbool('ui', 'clonebundlefallback'): repo.ui.warn(_('falling back to normal clone\n')) else: raise error.Abort(_('error applying bundle'),