mirror of
https://github.com/zed-industries/zed.git
synced 2024-11-08 07:35:01 +03:00
Windows: Fix canonicalize return UNC path (#11083)
In Windows platform, using notify to watch file events. 1. in [notify windows implement](3df0f65152/notify/src/windows.rs (L344)
), we get the full file path, just with `path.join(file_path)`. 2. In [zed worktree start_backgroud_scan_tasks](d2569afe66/crates/worktree/src/worktree.rs (L679)
), `abs_path` is not unc path, so we get all file events with not unc path. 3. but in [zed worktree process_event](d2569afe66/crates/worktree/src/worktree.rs (L3619)
), we `strip_prefix` unc path all times, it will always print annoy error. @mikayla-maki I can't reopen pre closed pr #10501 . Release Notes: - N/A
This commit is contained in:
parent
88c4e0b2d8
commit
843d299d9a
@ -673,7 +673,11 @@ fn start_background_scan_tasks(
|
||||
) -> Vec<Task<()>> {
|
||||
let (scan_states_tx, mut scan_states_rx) = mpsc::unbounded();
|
||||
let background_scanner = cx.background_executor().spawn({
|
||||
let abs_path = abs_path.to_path_buf();
|
||||
let abs_path = if cfg!(target_os = "windows") {
|
||||
abs_path.canonicalize().expect("start background scan tasks failed for canonicalize path {abs_path}")
|
||||
} else {
|
||||
abs_path.to_path_buf()
|
||||
};
|
||||
let background = cx.background_executor().clone();
|
||||
async move {
|
||||
let events = fs.watch(&abs_path, FS_WATCH_LATENCY).await;
|
||||
|
Loading…
Reference in New Issue
Block a user