rust/hg-core/src/dirstate_tree/status.rs
changeset 48794 834c938227c6
parent 48745 94e36b230990
parent 48774 dcec16e799dd
child 48973 e2f8ed37201c
--- a/rust/hg-core/src/dirstate_tree/status.rs	Thu Feb 17 07:34:49 2022 +0100
+++ b/rust/hg-core/src/dirstate_tree/status.rs	Fri Feb 18 11:37:08 2022 +0100
@@ -778,7 +778,17 @@
         let mut results = Vec::new();
         for entry in read_dir_path.read_dir()? {
             let entry = entry?;
-            let metadata = entry.metadata()?;
+            let metadata = match entry.metadata() {
+                Ok(v) => v,
+                Err(e) => {
+                    // race with file deletion?
+                    if e.kind() == std::io::ErrorKind::NotFound {
+                        continue;
+                    } else {
+                        return Err(e);
+                    }
+                }
+            };
             let file_name = entry.file_name();
             // FIXME don't do this when cached
             if file_name == ".hg" {