mercurial/localrepo.py
changeset 8108 a26d33749bd8
parent 8072 ecf7795479d5
child 8109 496ae1ea4698
equal deleted inserted replaced
8107:0eeb4f0a5d21 8108:a26d33749bd8
   681         if acquirefn:
   681         if acquirefn:
   682             acquirefn()
   682             acquirefn()
   683         return l
   683         return l
   684 
   684 
   685     def lock(self, wait=True):
   685     def lock(self, wait=True):
   686         if self._lockref and self._lockref():
   686         l = self._lockref and self._lockref()
   687             return self._lockref()
   687         if l is not None and l.held:
       
   688             l.lock()
       
   689             return l
   688 
   690 
   689         l = self._lock(self.sjoin("lock"), wait, None, self.invalidate,
   691         l = self._lock(self.sjoin("lock"), wait, None, self.invalidate,
   690                        _('repository %s') % self.origroot)
   692                        _('repository %s') % self.origroot)
   691         self._lockref = weakref.ref(l)
   693         self._lockref = weakref.ref(l)
   692         return l
   694         return l
   693 
   695 
   694     def wlock(self, wait=True):
   696     def wlock(self, wait=True):
   695         if self._wlockref and self._wlockref():
   697         l = self._wlockref and self._wlockref()
   696             return self._wlockref()
   698         if l is not None and l.held:
       
   699             l.lock()
       
   700             return l
   697 
   701 
   698         l = self._lock(self.join("wlock"), wait, self.dirstate.write,
   702         l = self._lock(self.join("wlock"), wait, self.dirstate.write,
   699                        self.dirstate.invalidate, _('working directory of %s') %
   703                        self.dirstate.invalidate, _('working directory of %s') %
   700                        self.origroot)
   704                        self.origroot)
   701         self._wlockref = weakref.ref(l)
   705         self._wlockref = weakref.ref(l)