Mercurial > public > mercurial-scm > hg-stable
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'), |