# HG changeset patch # User Pierre-Yves David # Date 1632240127 -7200 # Node ID 1c447fb822321bfdc3e9c67e3060a9f237752f50 # Parent ce01b97a93dab6fe22c019f867c51036c9e57894 filecache: abstract the fetching of the list of tracked file We will need it for a coming fix that will requires to check a variable list of file for the changelog. Differential Revision: https://phab.mercurial-scm.org/D11479 diff -r ce01b97a93da -r 1c447fb82232 mercurial/scmutil.py --- a/mercurial/scmutil.py Mon Sep 20 18:18:15 2021 +0200 +++ b/mercurial/scmutil.py Tue Sep 21 18:02:07 2021 +0200 @@ -1662,6 +1662,9 @@ def __init__(self, *paths): self.paths = paths + def tracked_paths(self, obj): + return [self.join(obj, path) for path in self.paths] + def join(self, obj, fname): """Used to compute the runtime path of a cached file. @@ -1690,7 +1693,7 @@ if entry.changed(): entry.obj = self.func(obj) else: - paths = [self.join(obj, path) for path in self.paths] + paths = self.tracked_paths(obj) # We stat -before- creating the object so our cache doesn't lie if # a writer modified between the time we read and stat @@ -1709,7 +1712,7 @@ if self.name not in obj._filecache: # we add an entry for the missing value because X in __dict__ # implies X in _filecache - paths = [self.join(obj, path) for path in self.paths] + paths = self.tracked_paths(obj) ce = filecacheentry(paths, False) obj._filecache[self.name] = ce else: