mercurial/localrepo.py
changeset 20883 cd443c7589cc
parent 20880 925c2d604389
child 20884 2efdd186925d
--- a/mercurial/localrepo.py	Mon Mar 24 15:21:51 2014 -0700
+++ b/mercurial/localrepo.py	Mon Mar 24 15:42:13 2014 -0700
@@ -823,13 +823,17 @@
             raise error.RepoError(
                 _("abandoned transaction found - run hg recover"))
 
+        def onclose():
+            self.store.write(tr)
+
         self._writejournal(desc)
         renames = [(vfs, x, undoname(x)) for vfs, x in self._journalfiles()]
         rp = report and report or self.ui.warn
         tr = transaction.transaction(rp, self.sopener,
                                      "journal",
                                      aftertrans(renames),
-                                     self.store.createmode)
+                                     self.store.createmode,
+                                     onclose)
         self._transref = weakref.ref(tr)
         return tr
 
@@ -1037,7 +1041,6 @@
             return l
 
         def unlock():
-            self.store.write()
             if hasunfilteredcache(self, '_phasecache'):
                 self._phasecache.write()
             for k, ce in self._filecache.items():