diff --git a/crates/core/src/backend/ignore.rs b/crates/core/src/backend/ignore.rs index 1578f5e0..cb8c2088 100644 --- a/crates/core/src/backend/ignore.rs +++ b/crates/core/src/backend/ignore.rs @@ -528,7 +528,9 @@ fn map_entry( let path = entry.into_path(); let open = Some(OpenFile(path.clone())); let path = path.strip_prefix(base_path).unwrap(); - let path = UnixPath::new(path.as_os_str().as_encoded_bytes()).to_path_buf(); + let path = WindowsPath::new(path.as_os_str().as_encoded_bytes()) + .to_path_buf() + .with_encoding::(); Ok(ReadSourceEntry { path, node, open }) } @@ -630,6 +632,8 @@ fn map_entry( with_atime: bool, ignore_devid: bool, ) -> IgnoreResult> { + use typed_path::{UnixEncoding, WindowsPath}; + let name = entry.file_name().as_encoded_bytes(); let m = entry .metadata()