index : git-mirror-sync.git

ascending towards madness

use clap::Parser;
use cli::CliArgs;
use tokio::time::sleep;
use walkdir::WalkDir;

mod cli;
mod error;

#[tokio::main]
async fn main() {
    loop {
        do_sync_task(CliArgs::parse()).await
    }
}

async fn do_sync_task(args: CliArgs) {
    for dir in WalkDir::new(args.directory)
        .max_depth(3)
        .into_iter()
        .filter_map(|err| err.ok())
    {
        // TODO: sync with git2
        println!("TODO: sync {:?}", dir);
    }

    println!("Sleeping until the next refresh.");
    sleep(args.refresh_time.into()).await;
}