aboutsummaryrefslogtreecommitdiff
path: root/apps/servers/octopus/supergit/src/bin/test.rs
//! A test binary to use during development

use supergit::Repository;

fn main() {
    let path = match std::env::args().nth(1) {
        Some(p) => p,
        None => {
            eprintln!("USAGE: supergit-test <path>");
            std::process::exit(2);
        }
    };

    let repo = Repository::open(path.as_str()).unwrap();
    let branches = repo.branches().unwrap();
    let main = branches
        .into_iter()
        .filter(|b| b.name() == Some("main".to_string()))
        .nth(0)
        .unwrap();

    let head = main.head();
    let tree = head.tree();

    println!(
        "{:#?}",
        tree.base_history(main.get_all(), "README.md")
            .unwrap()
            .into_iter()
            .map(|c| c.summary())
            .collect::<Vec<_>>()
    );
}