From 7bfd7093b14cfd1130fd93d9cf0b7c49990f7871 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Mon, 27 Jun 2022 08:40:37 +0200 Subject: [PATCH] Don't stop scanning directory if reading one of the children errors --- crates/project/src/worktree.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/crates/project/src/worktree.rs b/crates/project/src/worktree.rs index befcfe9fd1..472dacc0ea 100644 --- a/crates/project/src/worktree.rs +++ b/crates/project/src/worktree.rs @@ -2152,9 +2152,13 @@ impl BackgroundScanner { }; let child_name = child_abs_path.file_name().unwrap(); let child_path: Arc = job.path.join(child_name).into(); - let child_metadata = match self.fs.metadata(&child_abs_path).await? { - Some(metadata) => metadata, - None => continue, + let child_metadata = match self.fs.metadata(&child_abs_path).await { + Ok(Some(metadata)) => metadata, + Ok(None) => continue, + Err(err) => { + log::error!("error processing {:?}: {:?}", child_abs_path, err); + continue; + } }; // If we find a .gitignore, add it to the stack of ignores used to determine which paths are ignored