mercurial/localrepo.py
changeset 42712 cdf0e9523de1
parent 42685 863e9e7f8850
child 42813 268662aac075
--- a/mercurial/localrepo.py	Wed Jun 12 13:42:52 2019 +0100
+++ b/mercurial/localrepo.py	Mon Aug 05 13:31:12 2019 -0700
@@ -2220,6 +2220,16 @@
             self.tags()
             self.filtered('served').tags()
 
+            # The `full` arg is documented as updating even the lazily-loaded
+            # caches immediately, so we're forcing a write to cause these caches
+            # to be warmed up even if they haven't explicitly been requested
+            # yet (if they've never been used by hg, they won't ever have been
+            # written, even if they're a subset of another kind of cache that
+            # *has* been used).
+            for filt in repoview.filtertable.keys():
+                filtered = self.filtered(filt)
+                filtered.branchmap().write(filtered)
+
     def invalidatecaches(self):
 
         if r'_tagscache' in vars(self):