mercurial/tags.py
branchstable
changeset 50939 e4c4adb694f5
parent 50938 f02b62b7b056
child 50942 75d3306fbc9a
--- a/mercurial/tags.py	Thu Jun 22 16:03:18 2023 +0200
+++ b/mercurial/tags.py	Thu Jun 22 18:39:29 2023 +0200
@@ -920,3 +920,14 @@
 def clear_cache_fnodes(repo):
     """function used by the perf extension to clear "file node cache"""
     repo.cachevfs.tryunlink(_filename(repo))
+
+
+def forget_fnodes(repo, revs):
+    """function used by the perf extension to prune some entries from the fnodes
+    cache"""
+    missing_1 = b'\xff' * 4
+    missing_2 = b'\xff' * 20
+    cache = hgtagsfnodescache(repo.unfiltered())
+    for r in revs:
+        cache._writeentry(r * _fnodesrecsize, missing_1, missing_2)
+    cache.write()