diff --git a/src/splat.rs b/src/splat.rs index 23ca389..140377c 100644 --- a/src/splat.rs +++ b/src/splat.rs @@ -605,8 +605,12 @@ fn symlink(original: &str, link: &Path) -> Result<(), Error> { } #[cfg(windows)] -fn symlink(_original: &str, _link: &Path) -> Result<(), Error> { - Ok(()) +fn symlink(original: &str, link: &Path) -> Result<(), Error> { + if std::fs::metadata(original)?.is_dir() { + std::os::windows::fs::symlink_dir(original, link) + } else { + std::os::windows::fs::symlink_file(original, link) + }.with_context(|| format!("unable to symlink from {link} to {original}")) } pub(crate) fn finalize_splat(