--- a/mercurial/exchange.py Wed Aug 24 04:19:11 2016 +0200
+++ b/mercurial/exchange.py Tue Aug 23 23:47:59 2016 +0200
@@ -1201,8 +1201,10 @@
" %s") % (', '.join(sorted(missing)))
raise error.Abort(msg)
- lock = pullop.repo.lock()
+ wlock = lock = None
try:
+ wlock = pullop.repo.wlock()
+ lock = pullop.repo.lock()
pullop.trmanager = transactionmanager(repo, 'pull', remote.url())
streamclone.maybeperformlegacystreamclone(pullop)
# This should ideally be in _pullbundle2(). However, it needs to run
@@ -1217,8 +1219,7 @@
_pullobsolete(pullop)
pullop.trmanager.close()
finally:
- pullop.trmanager.release()
- lock.release()
+ lockmod.release(pullop.trmanager, lock, wlock)
return pullop