feat(notstrap): add new-machine bootstrap orchestrator
This commit is contained in:
17
crates/notstrap/src/repo.rs
Normal file
17
crates/notstrap/src/repo.rs
Normal file
@@ -0,0 +1,17 @@
|
||||
use anyhow::{Context, Result};
|
||||
use std::path::Path;
|
||||
use std::process::Command;
|
||||
|
||||
pub fn clone_if_missing(url: &str, dest: &Path) -> Result<bool> {
|
||||
if dest.exists() {
|
||||
return Ok(false);
|
||||
}
|
||||
let status = Command::new("git")
|
||||
.args(["clone", url, dest.to_str().unwrap()])
|
||||
.status()
|
||||
.context("failed to run git clone")?;
|
||||
if !status.success() {
|
||||
anyhow::bail!("git clone {} failed", url);
|
||||
}
|
||||
Ok(true)
|
||||
}
|
||||
Reference in New Issue
Block a user