comparison mercurial/localrepo.py @ 23510:065c0334846f

fncache: drop dedicated 'onclose' function in favor of 'tr.addfinalize' Now that we have a shiny generic mechanism, we can use it.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Thu, 04 Dec 2014 13:49:45 -0800
parents 19ebd2f88fc7
children acc73273b27e
comparison
equal deleted inserted replaced
23509:32e68271a037 23510:065c0334846f
881 if self.svfs.exists("journal"): 881 if self.svfs.exists("journal"):
882 raise error.RepoError( 882 raise error.RepoError(
883 _("abandoned transaction found"), 883 _("abandoned transaction found"),
884 hint=_("run 'hg recover' to clean up transaction")) 884 hint=_("run 'hg recover' to clean up transaction"))
885 885
886 def onclose():
887 self.store.write(self._transref())
888
889 self._writejournal(desc) 886 self._writejournal(desc)
890 renames = [(vfs, x, undoname(x)) for vfs, x in self._journalfiles()] 887 renames = [(vfs, x, undoname(x)) for vfs, x in self._journalfiles()]
891 rp = report and report or self.ui.warn 888 rp = report and report or self.ui.warn
892 vfsmap = {'plain': self.opener} # root of .hg/ 889 vfsmap = {'plain': self.opener} # root of .hg/
893 tr = transaction.transaction(rp, self.sopener, vfsmap, 890 tr = transaction.transaction(rp, self.sopener, vfsmap,
894 "journal", 891 "journal",
895 aftertrans(renames), 892 aftertrans(renames),
896 self.store.createmode, 893 self.store.createmode)
897 onclose) 894 tr.addfinalize('repo.store.write', self.store.write)
898 self._transref = weakref.ref(tr) 895 self._transref = weakref.ref(tr)
899 return tr 896 return tr
900 897
901 def _journalfiles(self): 898 def _journalfiles(self):
902 return ((self.svfs, 'journal'), 899 return ((self.svfs, 'journal'),