mercurial/localrepo.py
branchstable
changeset 16680 d0e419b0f7de
parent 16679 2950d186a927
child 16699 d947e1da1259
child 16805 9a99224a6409
--- 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):