--- a/mercurial/subrepo.py Mon Jul 07 18:45:46 2014 +0900
+++ b/mercurial/subrepo.py Fri Jun 20 00:21:19 2014 +0900
@@ -525,8 +525,14 @@
self._initrepo(r, state[0], create)
def storeclean(self, path):
+ lock = self._repo.lock()
+ try:
+ return self._storeclean(path)
+ finally:
+ lock.release()
+
+ def _storeclean(self, path):
clean = True
- lock = self._repo.lock()
itercache = self._calcstorehash(path)
try:
for filehash in self._readstorehashcache(path):
@@ -543,7 +549,6 @@
clean = False
except StopIteration:
pass
- lock.release()
return clean
def _calcstorehash(self, remotepath):