mirror of
https://seed.radicle.dev/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5.git
synced 2026-11-16 00:00:37 +08:00
Microsoft Windows has Universal Naming Convention (UNC) paths, see <https://learn.microsoft.com/en-us/dotnet/standard/io/file-path-formats#unc-paths> The Rust standard library normalizes paths to this form when calling `std::fs::canonicalize`, see <https://doc.rust-lang.org/std/fs/fn.canonicalize.html> However, some programs, do not parse these paths correctly, including our ally `git`: $ git clone \\?\C:\Users\lorenz\tmp Cloning into 'tmp'... ssh: Could not resolve hostname \\\\?\\c: No such host is known. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. The `dunce` crate solves the problem of having to deal with normalization and avoiding weird UNC paths for us. Note that on non-Windows platforms, it *behaves exactly like* `std::fs::canonicalize`!