diff -r 887de9516138 -r c5bee6aa4971 mercurial/exchange.py --- a/mercurial/exchange.py Thu Feb 02 10:55:38 2017 +0100 +++ b/mercurial/exchange.py Thu Feb 02 10:53:55 2017 +0100 @@ -1723,7 +1723,11 @@ # 'check_heads' call wil be a no-op check_heads(repo, heads, 'uploading changes') # push can proceed - if util.safehasattr(cg, 'params'): + if not util.safehasattr(cg, 'params'): + # legacy case: bundle1 (changegroup 01) + lockandtr[1] = repo.lock() + r = cg.apply(repo, source, url) + else: r = None try: def gettransaction(): @@ -1762,10 +1766,6 @@ mandatory=False) parts.append(part) raise - else: - # legacy case: bundle1 (changegroup 01) - lockandtr[1] = repo.lock() - r = cg.apply(repo, source, url) finally: lockmod.release(lockandtr[2], lockandtr[1], lockandtr[0]) if recordout is not None: