feat: add fetching with git
Diff
src/main.rs | 28 ++++++++++++++++++++++++++--
1 file changed, 26 insertions(+), 2 deletions(-)
@@ -1,6 +1,6 @@
use clap::Parser;
use cli::CliArgs;
use tokio::time::sleep;
use tokio::{process::Command, time::sleep};
use walkdir::WalkDir;
mod cli;
@@ -19,8 +19,32 @@ async fn do_sync_task(args: CliArgs) {
.into_iter()
.filter_map(|err| err.ok())
{
println!("TODO: sync {:?}", dir);
let refs_tag = Command::new("git")
.arg("--git-dir")
.arg(dir.clone().into_path())
.arg("config")
.arg("--get")
.arg("remote.origin.fetch")
.output()
.await
.expect("Failed to retrieve upstream URL")
.stdout;
if !refs_tag.is_empty() {
let status = Command::new("git")
.arg("--git-dir")
.arg(dir.clone().into_path())
.arg("fetch")
.arg("--all")
.status()
.await
.expect("Unable to fetch repository");
if !status.success() {
println!("Succes")
}
}
}
println!("Sleeping until the next refresh.");