This commit is contained in:
Thomas Forgione 2020-11-04 12:45:31 +01:00
parent b4cf2a63d6
commit 9fefbb8c3a
1 changed files with 9 additions and 9 deletions

View File

@ -96,6 +96,10 @@ pub fn parse_to_url(server: &str, owner: &str, repo: &str) -> String {
///
/// If an error happens, it deletes the directory created.
pub fn clone<P: AsRef<Path>>(url: &str, place: P) -> Result<()> {
if place.as_ref().exists() {
return Err(Error::PathAlreadyExists);
}
match clone_dirty(url, &place) {
Ok(o) => Ok(o),
Err(e) => {
@ -109,10 +113,6 @@ pub fn clone<P: AsRef<Path>>(url: &str, place: P) -> Result<()> {
fn clone_dirty<P: AsRef<Path>>(url: &str, place: P) -> Result<()> {
let place = place.as_ref();
if place.exists() {
return Err(Error::PathAlreadyExists);
}
// Need to create the parent dir only if it exists
if let Some(parent) = place.parent() {
create_dir_all(parent)?;
@ -123,7 +123,7 @@ fn clone_dirty<P: AsRef<Path>>(url: &str, place: P) -> Result<()> {
"clone",
"--recurse-submodules",
&url,
&place.display().to_string()
&place.display().to_string(),
])
.stderr(Stdio::null())
.status();