Mercurial > hg
changeset 47443:9ab54aa56982
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
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 08 Jun 2021 02:05:05 +0200 |
parents | d1c1fd7ac46d |
children | 2f4ca4807033 |
files | mercurial/store.py mercurial/vfs.py |
diffstat | 2 files changed, 8 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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):
--- 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