diff --git a/mercurial/context.py b/mercurial/context.py --- a/mercurial/context.py +++ b/mercurial/context.py @@ -2018,6 +2018,12 @@ to resolve a conflict. """ keys = [] + # This won't be perfect, but can help performance significantly when + # using things like remotefilelog. + scmutil.prefetchfiles( + self.repo(), [self.p1().rev()], + matchmod.match('', '', patterns=self._cache.keys(), exact=True)) + for path in self._cache.keys(): cache = self._cache[path] try: