rust/hg-core/src/dirstate_tree/dirstate_map.rs
changeset 49127 f3e8b0b0a8c2
parent 49126 e7b74bb602a4
child 49128 464747faef14
--- a/rust/hg-core/src/dirstate_tree/dirstate_map.rs	Tue Mar 29 18:21:40 2022 +0200
+++ b/rust/hg-core/src/dirstate_tree/dirstate_map.rs	Fri Apr 08 16:03:39 2022 +0200
@@ -803,6 +803,26 @@
         Ok(())
     }
 
+    /// Clears the cached mtime for the (potential) folder at `path`.
+    pub(super) fn clear_cached_mtime(
+        &mut self,
+        path: &HgPath,
+    ) -> Result<(), DirstateV2ParseError> {
+        let node = match DirstateMap::get_node_mut(
+            self.on_disk,
+            &mut self.unreachable_bytes,
+            &mut self.root,
+            path,
+        )? {
+            Some(node) => node,
+            None => return Ok(()),
+        };
+        if let NodeData::CachedDirectory { .. } = &node.data {
+            node.data = NodeData::None
+        }
+        Ok(())
+    }
+
     fn iter_nodes<'tree>(
         &'tree self,
     ) -> impl Iterator<