From cc7d0cf3633282ee0307ddbc20f7641c9deec52e Mon Sep 17 00:00:00 2001 From: cloudhead Date: Tue, 4 Jun 2024 11:10:29 +0200 Subject: [PATCH] cli: Fix `rad id show` delegate output We were not showing the correct list of delegates, we were always showing the "current" list. --- radicle-cli/examples/rad-id.md | 36 ++++++++++++++++++++++++++++++++++ radicle-cli/src/commands/id.rs | 7 ++++++- 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/radicle-cli/examples/rad-id.md b/radicle-cli/examples/rad-id.md index e713baf0..259c8456 100644 --- a/radicle-cli/examples/rad-id.md +++ b/radicle-cli/examples/rad-id.md @@ -122,6 +122,42 @@ date Thu, 15 Dec 2022 17:28:04 +0000 ``` +We can use `rad id show` to show the changes of an accepted update: + +``` +$ rad id show 0ca42d376bd566631083c8913cf86bec722da392 +╭────────────────────────────────────────────────────────────────────────╮ +│ Title Add Bob │ +│ Revision 0ca42d376bd566631083c8913cf86bec722da392 │ +│ Blob 053541ba7b90534b35dd8718e0ceaa408979b02b │ +│ Author did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi │ +│ State accepted │ +│ Quorum yes │ +│ │ +│ Add Bob as a delegate │ +├────────────────────────────────────────────────────────────────────────┤ +│ ✓ did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi alice (you) │ +╰────────────────────────────────────────────────────────────────────────╯ + +@@ -1,13 +1,14 @@ + { + "payload": { + "xyz.radicle.project": { + "defaultBranch": "master", + "description": "Radicle Heartwood Protocol & Stack", + "name": "heartwood" + } + }, + "delegates": [ +- "did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi" ++ "did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", ++ "did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk" + ], +- "threshold": 1 ++ "threshold": 2 + } +``` + Note that once a revision is accepted, it can't be edited, redacted or otherwise acted upon: diff --git a/radicle-cli/src/commands/id.rs b/radicle-cli/src/commands/id.rs index 95153beb..77729bfe 100644 --- a/radicle-cli/src/commands/id.rs +++ b/radicle-cli/src/commands/id.rs @@ -472,7 +472,12 @@ pub fn run(options: Options, ctx: impl term::Context) -> anyhow::Result<()> { } Operation::ShowRevision { revision } => { let revision = get(revision, &identity, &repo)?; - print(revision, ¤t, &repo, &profile)?; + let previous = revision.parent.unwrap_or(revision.id); + let previous = identity + .revision(&previous) + .ok_or(anyhow!("revision `{previous}` not found"))?; + + print(revision, previous, &repo, &profile)?; } } Ok(())