diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -917,9 +917,8 @@ class localrepository(repo.repository): The callback will be executed on lock release.""" l = self._lockref and self._lockref() - assert l is not None - assert l.held - l.postreleasehooks.append(callback) + if l: + l.postreleasehooks.append(callback) def lock(self, wait=True): '''Lock the repository store (.hg/store) and return a weak reference