# HG changeset patch # User Martin von Zweigbergk # Date 2017-08-14 23:26:36 # Node ID 5904511fc9f8389d94970cf84200c07ec1187699 # Parent 20d663a104fb76ee06da3cd383c33d79d0cb2e43 exchange: remove need for "locked" variable The transactionmanager() constructor just assigned a few variables and cannot fail, so it's safe to move it inside the earlier try/except. Differential Revision: https://phab.mercurial-scm.org/D391 diff --git a/mercurial/exchange.py b/mercurial/exchange.py --- a/mercurial/exchange.py +++ b/mercurial/exchange.py @@ -440,7 +440,6 @@ def push(repo, remote, force=False, revs # get lock as we might write phase data wlock = lock = None - locked = False try: # bundle2 push may receive a reply bundle touching bookmarks or other # things requiring the wlock. Take it now to ensure proper ordering. @@ -448,7 +447,9 @@ def push(repo, remote, force=False, revs if (not _forcebundle1(pushop)) and maypushback: wlock = pushop.repo.wlock() lock = pushop.repo.lock() - locked = True + pushop.trmanager = transactionmanager(pushop.repo, + 'push-response', + pushop.remote.url()) except IOError as err: if err.errno != errno.EACCES: raise @@ -457,11 +458,8 @@ def push(repo, remote, force=False, revs # synchronisation. msg = 'cannot lock source repository: %s\n' % err pushop.ui.debug(msg) + try: - if locked: - pushop.trmanager = transactionmanager(pushop.repo, - 'push-response', - pushop.remote.url()) pushop.repo.checkpush(pushop) _pushdiscovery(pushop) if not _forcebundle1(pushop):