Show More
@@ -1201,8 +1201,10 b' def pull(repo, remote, heads=None, force' | |||||
1201 | " %s") % (', '.join(sorted(missing))) |
|
1201 | " %s") % (', '.join(sorted(missing))) | |
1202 | raise error.Abort(msg) |
|
1202 | raise error.Abort(msg) | |
1203 |
|
1203 | |||
1204 | lock = pullop.repo.lock() |
|
1204 | wlock = lock = None | |
1205 | try: |
|
1205 | try: | |
|
1206 | wlock = pullop.repo.wlock() | |||
|
1207 | lock = pullop.repo.lock() | |||
1206 | pullop.trmanager = transactionmanager(repo, 'pull', remote.url()) |
|
1208 | pullop.trmanager = transactionmanager(repo, 'pull', remote.url()) | |
1207 | streamclone.maybeperformlegacystreamclone(pullop) |
|
1209 | streamclone.maybeperformlegacystreamclone(pullop) | |
1208 | # This should ideally be in _pullbundle2(). However, it needs to run |
|
1210 | # This should ideally be in _pullbundle2(). However, it needs to run | |
@@ -1217,8 +1219,7 b' def pull(repo, remote, heads=None, force' | |||||
1217 | _pullobsolete(pullop) |
|
1219 | _pullobsolete(pullop) | |
1218 | pullop.trmanager.close() |
|
1220 | pullop.trmanager.close() | |
1219 | finally: |
|
1221 | finally: | |
1220 | pullop.trmanager.release() |
|
1222 | lockmod.release(pullop.trmanager, lock, wlock) | |
1221 | lock.release() |
|
|||
1222 |
|
1223 | |||
1223 | return pullop |
|
1224 | return pullop | |
1224 |
|
1225 |
@@ -7,20 +7,16 b' from __future__ import absolute_import' | |||||
7 | import os |
|
7 | import os | |
8 | import time |
|
8 | import time | |
9 |
|
9 | |||
10 | from mercurial import ( |
|
10 | def reposetup(ui, repo): | |
11 | lock as lockmod, |
|
|||
12 | ) |
|
|||
13 |
|
11 | |||
14 | class delaylock(lockmod.lock): |
|
12 | class delayedlockrepo(repo.__class__): | |
15 | def lock(self): |
|
13 | def lock(self): | |
16 | delay = float(os.environ.get('HGPRELOCKDELAY', '0.0')) |
|
14 | delay = float(os.environ.get('HGPRELOCKDELAY', '0.0')) | |
17 | if delay: |
|
15 | if delay: | |
18 | time.sleep(delay) |
|
16 | time.sleep(delay) | |
19 | res = super(delaylock, self).lock() |
|
17 | res = super(delayedlockrepo, self).lock() | |
20 | delay = float(os.environ.get('HGPOSTLOCKDELAY', '0.0')) |
|
18 | delay = float(os.environ.get('HGPOSTLOCKDELAY', '0.0')) | |
21 | if delay: |
|
19 | if delay: | |
22 | time.sleep(delay) |
|
20 | time.sleep(delay) | |
23 | return res |
|
21 | return res | |
24 |
|
22 | repo.__class__ = delayedlockrepo | ||
25 | def extsetup(ui): |
|
|||
26 | lockmod.lock = delaylock |
|
General Comments 0
You need to be logged in to leave comments.
Login now