Browse Source

Fix moving node install out of tmp directory (#275)

remotes/origin/add-with-shims
Jay Thomas 4 years ago committed by GitHub
parent
commit
7e13205806
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 31
      Cargo.lock
  2. 1
      Cargo.toml
  3. 4
      src/directory_portal.rs

31
Cargo.lock generated

@ -347,6 +347,16 @@ dependencies = [
"generic-array", "generic-array",
] ]
[[package]]
name = "dircpy"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4479788c6c76674c1551ef44c953101554e7edadb5ea0920797a2280d87eb3d"
dependencies = [
"log",
"walkdir",
]
[[package]] [[package]]
name = "dirs" name = "dirs"
version = "3.0.1" version = "3.0.1"
@ -477,6 +487,7 @@ dependencies = [
"clap", "clap",
"colored", "colored",
"csv", "csv",
"dircpy",
"dirs", "dirs",
"duct", "duct",
"embed-resource", "embed-resource",
@ -1403,6 +1414,15 @@ version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
[[package]]
name = "same-file"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
dependencies = [
"winapi-util",
]
[[package]] [[package]]
name = "schannel" name = "schannel"
version = "0.1.19" version = "0.1.19"
@ -1960,6 +1980,17 @@ dependencies = [
"libc", "libc",
] ]
[[package]]
name = "walkdir"
version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d"
dependencies = [
"same-file",
"winapi 0.3.9",
"winapi-util",
]
[[package]] [[package]]
name = "want" name = "want"
version = "0.3.0" version = "0.3.0"

1
Cargo.toml

@ -25,6 +25,7 @@ log = "0.4.11"
env_logger = "0.8.1" env_logger = "0.8.1"
atty = "0.2.14" atty = "0.2.14"
encoding_rs_io = "0.1.7" encoding_rs_io = "0.1.7"
dircpy = "0.3.4"
[dev-dependencies] [dev-dependencies]
pretty_assertions = "0.6.1" pretty_assertions = "0.6.1"

4
src/directory_portal.rs

@ -1,3 +1,4 @@
use dircpy::copy_dir;
use log::*; use log::*;
use std::path::Path; use std::path::Path;
use tempfile::{tempdir, TempDir}; use tempfile::{tempdir, TempDir};
@ -21,7 +22,8 @@ impl<P: AsRef<Path>> DirectoryPortal<P> {
self.temp_dir.path(), self.temp_dir.path(),
self.target.as_ref() self.target.as_ref()
); );
std::fs::rename(&self.temp_dir, &self.target)?; copy_dir(&self.temp_dir, &self.target)?;
std::fs::remove_dir_all(&self.temp_dir)?;
Ok(self.target) Ok(self.target)
} }
} }

Loading…
Cancel
Save