# HG changeset patch # User Pierre-Yves David # Date 1623110705 -7200 # Node ID 9ab54aa56982cb6aeec4c674f66826209b49daae # Parent d1c1fd7ac46dbf46f8467486f55c13bc7ba097ad vfs: add a `register_file` method on the vfs class This is used by the fncache vfs to register new file. Until now, `fncache` have been doing this "automatically" by monitoring write pattern. However this is fragile and when we copy files in place by other means, we need something more robuts. So we add an explicit method to do so. Differential Revision: https://phab.mercurial-scm.org/D10851 diff -r d1c1fd7ac46d -r 9ab54aa56982 mercurial/store.py --- a/mercurial/store.py Wed Jun 09 01:10:34 2021 +0200 +++ b/mercurial/store.py Tue Jun 08 02:05:05 2021 +0200 @@ -730,6 +730,11 @@ else: return self.vfs.join(path) + def register_file(self, path): + """generic hook point to lets fncache steer its stew""" + if path.startswith(b'data/') or path.startswith(b'meta/'): + self.fncache.add(path) + class fncachestore(basicstore): def __init__(self, path, vfstype, dotencode): diff -r d1c1fd7ac46d -r 9ab54aa56982 mercurial/vfs.py --- a/mercurial/vfs.py Wed Jun 09 01:10:34 2021 +0200 +++ b/mercurial/vfs.py Tue Jun 08 02:05:05 2021 +0200 @@ -329,6 +329,9 @@ None # pytype: disable=attribute-error ) + def register_file(self, path): + """generic hook point to lets fncache steer its stew""" + class vfs(abstractvfs): """Operate files relative to a base directory