From 8fe949b2a030b3e57018ccb243c775a69540d691 Mon Sep 17 00:00:00 2001 From: Alexis Sellier Date: Mon, 7 Nov 2022 22:04:47 +0100 Subject: [PATCH] Implement `rad-checkout` command Signed-off-by: Alexis Sellier --- radicle-cli/src/commands.rs | 1 + radicle-cli/src/commands/checkout.rs | 136 +++++++++++++++++++++++++++ radicle-cli/src/lib.rs | 1 + radicle-cli/src/project.rs | 40 ++++++++ radicle/src/rad.rs | 6 ++ 5 files changed, 184 insertions(+) create mode 100644 radicle-cli/src/commands/checkout.rs create mode 100644 radicle-cli/src/project.rs diff --git a/radicle-cli/src/commands.rs b/radicle-cli/src/commands.rs index 43763f10..fb07cc55 100644 --- a/radicle-cli/src/commands.rs +++ b/radicle-cli/src/commands.rs @@ -1 +1,2 @@ +pub mod checkout; pub mod init; diff --git a/radicle-cli/src/commands/checkout.rs b/radicle-cli/src/commands/checkout.rs new file mode 100644 index 00000000..abad156b --- /dev/null +++ b/radicle-cli/src/commands/checkout.rs @@ -0,0 +1,136 @@ +use std::ffi::OsString; +use std::path::PathBuf; + +use anyhow::anyhow; +use anyhow::Context as _; + +use radicle::prelude::*; +use radicle::storage::WriteStorage; + +use crate::project; +use crate::terminal as term; +use crate::terminal::args::{Args, Error, Help}; + +pub const HELP: Help = Help { + name: "checkout", + description: "Checkout a radicle project working copy", + version: env!("CARGO_PKG_VERSION"), + usage: r#" +Usage + + rad checkout [