# HG changeset patch # User Idan Kamara # Date 1311595717 -10800 # Node ID a710936c30372bdae50153c07f6a9269e8af45df # Parent 372d9d8b1da462f3dc4170ec7e77688063df6b79 localrepo: refresh filecache entries after releasing a repo.lock() diff -r 372d9d8b1da4 -r a710936c3037 mercurial/localrepo.py --- a/mercurial/localrepo.py Mon Jul 25 15:08:37 2011 +0300 +++ b/mercurial/localrepo.py Mon Jul 25 15:08:37 2011 +0300 @@ -842,7 +842,14 @@ l.lock() return l - l = self._lock(self.sjoin("lock"), wait, self.store.write, + def unlock(): + self.store.write() + for k, ce in self._filecache.items(): + if k == 'dirstate': + continue + ce.refresh() + + l = self._lock(self.sjoin("lock"), wait, unlock, self.invalidate, _('repository %s') % self.origroot) self._lockref = weakref.ref(l) return l