diff options
Diffstat (limited to 'ext/fs')
-rw-r--r-- | ext/fs/Cargo.toml | 1 | ||||
-rw-r--r-- | ext/fs/interface.rs | 2 | ||||
-rw-r--r-- | ext/fs/std_fs.rs | 3 |
3 files changed, 6 insertions, 0 deletions
diff --git a/ext/fs/Cargo.toml b/ext/fs/Cargo.toml index f6f64010e..b8cccde28 100644 --- a/ext/fs/Cargo.toml +++ b/ext/fs/Cargo.toml @@ -35,3 +35,4 @@ nix.workspace = true [target.'cfg(windows)'.dependencies] winapi = { workspace = true, features = ["winbase"] } +junction.workspace = true diff --git a/ext/fs/interface.rs b/ext/fs/interface.rs index 8ffa61481..c5a348eb1 100644 --- a/ext/fs/interface.rs +++ b/ext/fs/interface.rs @@ -64,6 +64,8 @@ pub enum FsFileType { File, #[serde(rename = "dir")] Directory, + #[serde(rename = "junction")] + Junction, } #[derive(Serialize)] diff --git a/ext/fs/std_fs.rs b/ext/fs/std_fs.rs index c1c9200cb..332866e45 100644 --- a/ext/fs/std_fs.rs +++ b/ext/fs/std_fs.rs @@ -810,6 +810,9 @@ fn symlink( FsFileType::Directory => { std::os::windows::fs::symlink_dir(oldpath, newpath)?; } + FsFileType::Junction => { + junction::create(oldpath, newpath)?; + } }; Ok(()) |