From a922ecf3ceb4eb4fc22236b0895b18548b50ceb4 Mon Sep 17 00:00:00 2001 From: cloudhead Date: Wed, 16 Aug 2023 14:16:30 +0200 Subject: [PATCH] cli: New `cob` command for debugging Implement a `rad cob show` command for debugging COBs. Prints out the full history without decoding the ops. --- radicle-cli/src/commands.rs | 2 + radicle-cli/src/commands/cob.rs | 140 ++++++++++++++++++ radicle-cli/src/main.rs | 8 + radicle-cob/src/change_graph.rs | 6 + radicle-cob/src/history.rs | 5 +- radicle-cob/src/history/entry.rs | 9 ++ .../src/object/collaboration/update.rs | 11 +- radicle/src/cob/op.rs | 18 +++ radicle/src/cob/store.rs | 28 +++- radicle/src/cob/test.rs | 3 + 10 files changed, 226 insertions(+), 4 deletions(-) create mode 100644 radicle-cli/src/commands/cob.rs diff --git a/radicle-cli/src/commands.rs b/radicle-cli/src/commands.rs index e7036949..2fc5d6ea 100644 --- a/radicle-cli/src/commands.rs +++ b/radicle-cli/src/commands.rs @@ -6,6 +6,8 @@ pub mod rad_auth; pub mod rad_checkout; #[path = "commands/clone.rs"] pub mod rad_clone; +#[path = "commands/cob.rs"] +pub mod rad_cob; #[path = "commands/comment.rs"] pub mod rad_comment; #[path = "commands/delegate.rs"] diff --git a/radicle-cli/src/commands/cob.rs b/radicle-cli/src/commands/cob.rs new file mode 100644 index 00000000..658ce85b --- /dev/null +++ b/radicle-cli/src/commands/cob.rs @@ -0,0 +1,140 @@ +use std::ffi::OsString; +use std::str::FromStr; + +use anyhow::anyhow; +use chrono::prelude::*; +use radicle::cob; +use radicle::prelude::Id; +use radicle::storage::ReadStorage; + +use crate::git::Rev; +use crate::terminal as term; +use crate::terminal::args::{Args, Error, Help}; + +pub const HELP: Help = Help { + name: "cob", + description: "Manage collaborative objects", + version: env!("CARGO_PKG_VERSION"), + usage: r#" +Usage + + rad cob [