localrepo: run cache-warming transaction callback before report callback
authorMartin von Zweigbergk <martinvonz@google.com>
Fri, 19 Jan 2018 12:33:03 -0800
changeset 35749 3a3b59bbe7ce
parent 35748 963a611b2f39
child 35750 a39a9df7ecca
localrepo: run cache-warming transaction callback before report callback See in-code comment for details. Differential Revision: https://phab.mercurial-scm.org/D1918
mercurial/localrepo.py
tests/test-obsolete-changeset-exchange.t
--- a/mercurial/localrepo.py	Fri Jan 19 11:35:55 2018 -0800
+++ b/mercurial/localrepo.py	Fri Jan 19 12:33:03 2018 -0800
@@ -1322,7 +1322,11 @@
                           **pycompat.strkwargs(hookargs))
             reporef()._afterlock(hookfunc)
         tr.addfinalize('txnclose-hook', txnclosehook)
-        tr.addpostclose('warms-cache', self._buildcacheupdater(tr))
+        # Include a leading "-" to make it happen before the transaction summary
+        # reports registered via scmutil.registersummarycallback() whose names
+        # are 00-txnreport etc. That way, the caches will be warm when the
+        # callbacks run.
+        tr.addpostclose('-warm-cache', self._buildcacheupdater(tr))
         def txnaborthook(tr2):
             """To be run if transaction is aborted
             """
--- a/tests/test-obsolete-changeset-exchange.t	Fri Jan 19 11:35:55 2018 -0800
+++ b/tests/test-obsolete-changeset-exchange.t	Fri Jan 19 12:33:03 2018 -0800
@@ -171,6 +171,6 @@
   bundle2-input-part: total payload size 24
   bundle2-input-bundle: 2 parts total
   checking for updated bookmarks
+  updating the branch cache
   new changesets bec0734cd68e
-  updating the branch cache
   (run 'hg heads' to see heads, 'hg merge' to merge)