rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 heartwood52c4d9c2264c3de5c1ca236ca9c79be3e976c87c
{
"request": "trigger",
"version": 1,
"event_type": "patch",
"repository": {
"id": "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5",
"name": "heartwood",
"description": "Radicle Heartwood Protocol & Stack",
"private": false,
"default_branch": "master",
"delegates": [
"did:key:z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT",
"did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz"
]
},
"action": "Created",
"patch": {
"id": "c138dfbbf8c8bddf96b72d58089515581573b29d",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": null
},
"title": "cli: error on no id update",
"state": {
"status": "merged",
"conflicts": []
},
"before": "a48081f2717f069d456ec09f31d9e639b232dbed",
"after": "52c4d9c2264c3de5c1ca236ca9c79be3e976c87c",
"commits": [
"52c4d9c2264c3de5c1ca236ca9c79be3e976c87c"
],
"target": "3fc92f83fe089263c470b328414d923227cf0e4a",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "c138dfbbf8c8bddf96b72d58089515581573b29d",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": null
},
"description": "If `rad id` is called with no arguments, or just `--title` and\n`--description`, then it will fail because there were no changes made\nto the identity.\n\nCheck if the `proposal` document is the same the `current` document,\nand if so supply a hint and a better error.",
"base": "a48081f2717f069d456ec09f31d9e639b232dbed",
"oid": "52c4d9c2264c3de5c1ca236ca9c79be3e976c87c",
"timestamp": 1709828643
},
{
"id": "60d5e1e7a965c28f77b6d79f2ac00cd1dccaa430",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": null
},
"description": "Rebase.",
"base": "864ca656c09d772cd465b518f7a857b8282e55f0",
"oid": "18fc41c53f181673189dcca0213aafc38229c0f9",
"timestamp": 1710158708
}
]
}
}
{
"response": "triggered",
"run_id": {
"id": "faefeaae-1941-4e9f-ab4d-fdfa5ed2e483"
},
"info_url": "https://cci.rad.levitte.org//faefeaae-1941-4e9f-ab4d-fdfa5ed2e483.html"
}
Started at: 2026-09-08 03:16:35.979497+02:00
Commands:
$ rad clone rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 .
✓ Creating checkout in ./...
✓ Remote cloudhead@z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT added
✓ Remote-tracking branch cloudhead@z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT/master created for z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT
✓ Remote fintohaps@z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM added
✓ Remote-tracking branch fintohaps@z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM/master created for z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM
✓ Remote lorenz@z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz added
✓ Remote-tracking branch lorenz@z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz/master created for z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz
✓ Repository successfully cloned under /opt/radcis/ci.rad.levitte.org/cci/state/faefeaae-1941-4e9f-ab4d-fdfa5ed2e483/w/
╭────────────────────────────────────╮
│ heartwood │
│ Radicle Heartwood Protocol & Stack │
│ 189 issues · 38 patches │
╰────────────────────────────────────╯
Run `cd ./.` to go to the repository directory.
Exit code: 0
$ rad patch checkout c138dfbbf8c8bddf96b72d58089515581573b29d
✓ Switched to branch patch/c138dfb at revision c138dfb
✓ Branch patch/c138dfb setup to track rad/patches/c138dfbbf8c8bddf96b72d58089515581573b29d
Exit code: 0
$ git config advice.detachedHead false
Exit code: 0
$ git checkout 52c4d9c2264c3de5c1ca236ca9c79be3e976c87c
HEAD is now at 52c4d9c2 cli: error on no id update
Exit code: 0
$ rad patch show c138dfbbf8c8bddf96b72d58089515581573b29d -p
╭────────────────────────────────────────────────────────────────────────────────╮
│ Title cli: error on no id update │
│ Patch c138dfbbf8c8bddf96b72d58089515581573b29d │
│ Author fintohaps z6Mkire…SQZ3voM │
│ Head 52c4d9c2264c3de5c1ca236ca9c79be3e976c87c │
│ Base a48081f2717f069d456ec09f31d9e639b232dbed │
│ Target master │
│ Branches patch/c138dfb │
│ Commits ahead 1, behind 1584 │
│ Status merged │
│ │
│ If `rad id` is called with no arguments, or just `--title` and │
│ `--description`, then it will fail because there were no changes made │
│ to the identity. │
│ │
│ Check if the `proposal` document is the same the `current` document, │
│ and if so supply a hint and a better error. │
├────────────────────────────────────────────────────────────────────────────────┤
│ 52c4d9c cli: error on no id update │
├────────────────────────────────────────────────────────────────────────────────┤
│ ● Revision c138dfb @ a48081f..52c4d9c by fintohaps z6Mkire…SQZ3voM 2 years ago │
│ ↑ Revision 60d5e1e @ 864ca65..18fc41c by cloudhead z6MksFq…bS9wzpT 2 years ago │
│ └─ ✓ merged by cloudhead z6MksFq…bS9wzpT │
╰────────────────────────────────────────────────────────────────────────────────╯
commit 52c4d9c2264c3de5c1ca236ca9c79be3e976c87c
Author: Fintan Halpenny <fintan.halpenny@gmail.com>
Date: Thu Mar 7 16:21:34 2024 +0000
cli: error on no id update
If `rad id` is called with no arguments, or just `--title` and
`--description`, then it will fail because there were no changes made
to the identity.
Check if the `proposal` document is the same the `current` document,
and if so supply a hint and a better error.
Signed-off-by: Fintan Halpenny <fintan.halpenny@gmail.com>
X-Clacks-Overhead: GNU Terry Pratchett
diff --git a/radicle-cli/examples/rad-id.md b/radicle-cli/examples/rad-id.md
index f302d114b..a4265a40b 100644
--- a/radicle-cli/examples/rad-id.md
+++ b/radicle-cli/examples/rad-id.md
@@ -147,3 +147,11 @@ $ rad id update --title "Add Eve" --description "Add Eve as a delegate" --delega
✗ Error: missing delegate z6MkedT…47fovFn in local storage
✗ Error: fatal: refusing to update identity document
```
+
+If no updates are specified then the update will fail:
+
+``` (fail)
+$ rad id update --title "Update canonical branch" --description "Update the canonical branch to `main`"
+✗ Hint: an update to the identity must be specified, run `rad id update -h` to see the available options
+✗ Error: no update to the identity was specified
+```
diff --git a/radicle-cli/src/commands/id.rs b/radicle-cli/src/commands/id.rs
index f73ffbfb3..1c65b87f8 100644
--- a/radicle-cli/src/commands/id.rs
+++ b/radicle-cli/src/commands/id.rs
@@ -380,6 +380,10 @@ pub fn run(options: Options, ctx: impl term::Context) -> anyhow::Result<()> {
}
proposal
};
+ if proposal == current.doc {
+ term::hint("an update to the identity must be specified, run `rad id update -h` to see the available options");
+ anyhow::bail!("no update specified")
+ }
let revision = update(title, description, proposal, &mut identity, &signer)?;
if revision.is_accepted() && revision.parent == Some(current.id) {
Exit code: 0
shell: 'cargo --version rustc --version cargo fmt --check cargo clippy --all-targets --workspace -- --deny clippy::all cargo build --all-targets --workspace cargo doc --workspace cargo test --workspace --no-fail-fast '
Commands:
$ podman run --name faefeaae-1941-4e9f-ab4d-fdfa5ed2e483 -v /opt/radcis/ci.rad.levitte.org/cci/state/faefeaae-1941-4e9f-ab4d-fdfa5ed2e483/s:/faefeaae-1941-4e9f-ab4d-fdfa5ed2e483/s:ro -v /opt/radcis/ci.rad.levitte.org/cci/state/faefeaae-1941-4e9f-ab4d-fdfa5ed2e483/w:/faefeaae-1941-4e9f-ab4d-fdfa5ed2e483/w -w /faefeaae-1941-4e9f-ab4d-fdfa5ed2e483/w -v /opt/radcis/ci.rad.levitte.org/.radicle:/${id}/.radicle:ro -e RAD_HOME=/${id}/.radicle rust:trixie bash /faefeaae-1941-4e9f-ab4d-fdfa5ed2e483/s/script.sh
+ cargo --version
info: syncing channel updates for '1.74-x86_64-unknown-linux-gnu'
info: latest update on 2023-12-07, rust version 1.74.1 (a28077b28 2023-12-04)
info: downloading component 'cargo'
info: downloading component 'rust-std'
info: downloading component 'rustc'
info: installing component 'cargo'
info: installing component 'rust-std'
info: installing component 'rustc'
cargo 1.74.1 (ecb9851af 2023-10-18)
+ rustc --version
rustc 1.74.1 (a28077b28 2023-12-04)
+ cargo fmt --check
error: 'cargo-fmt' is not installed for the toolchain '1.74-x86_64-unknown-linux-gnu'.
To install, run `rustup component add --toolchain 1.74-x86_64-unknown-linux-gnu rustfmt`
Exit code: 1
{
"response": "finished",
"result": "failure"
}