git_clone_canonical/
app.rs

1use crate::{clone, get_repo_path, Options, Result};
2
3pub fn run() {
4    if let Some(error) = run_result().err() {
5        error.exit();
6    }
7}
8
9pub fn run_result() -> Result<()> {
10    let Options {
11        basedir,
12        show_path,
13        url,
14    } = Options::try_parse()?;
15
16    if show_path {
17        println!("{}", get_repo_path(basedir, &url).display());
18        Ok(())
19    } else {
20        clone(basedir, url)
21    }
22}