diff -r 83c9edcac05c -r 3b6e5914edd8 mercurial/lock.py --- a/mercurial/lock.py Fri Aug 14 12:25:14 2015 +0900 +++ b/mercurial/lock.py Mon Aug 24 13:24:43 2015 -0500 @@ -83,7 +83,9 @@ if lock._host is None: lock._host = socket.gethostname() lockname = '%s:%s' % (lock._host, self.pid) - while not self.held: + retry = 5 + while not self.held and retry: + retry -= 1 try: self.vfs.makelock(lockname, self.f) self.held = 1