diff -r 2950d186a927 -r d0e419b0f7de mercurial/localrepo.py --- a/mercurial/localrepo.py Sat May 12 20:25:33 2012 +0200 +++ b/mercurial/localrepo.py Sat May 12 20:06:02 2012 +0200 @@ -920,6 +920,8 @@ l = self._lockref and self._lockref() if l: l.postrelease.append(callback) + else: + callback() def lock(self, wait=True): '''Lock the repository store (.hg/store) and return a weak reference @@ -1209,7 +1211,9 @@ finally: wlock.release() - self.hook("commit", node=hex(ret), parent1=hookp1, parent2=hookp2) + def commithook(node=hex(ret), parent1=hookp1, parent2=hookp2): + self.hook("commit", node=node, parent1=parent1, parent2=parent2) + self._afterlock(commithook) return ret def commitctx(self, ctx, error=False):