rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 heartwood8ba3087cb996d38b84bfed4acdb568ea0457ab91
{
"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:z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW",
"did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
"did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz"
]
},
"action": "Updated",
"patch": {
"id": "6719913fa5e596f5946e2a59141f31c4a5b51fcb",
"author": {
"id": "did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
"alias": "erikli"
},
"title": "cli/init: use Clap",
"state": {
"status": "open",
"conflicts": []
},
"before": "10e7b94c304d215ad4a1ff326233098ab182d0b1",
"after": "8ba3087cb996d38b84bfed4acdb568ea0457ab91",
"commits": [
"8ba3087cb996d38b84bfed4acdb568ea0457ab91"
],
"target": "10e7b94c304d215ad4a1ff326233098ab182d0b1",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "6719913fa5e596f5946e2a59141f31c4a5b51fcb",
"author": {
"id": "did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
"alias": "erikli"
},
"description": "",
"base": "5caa7b302a7d4f247aaa7cc688a692aac4486464",
"oid": "e65b4866bfb72eb9e4f9fe81c88c72347e9dac43",
"timestamp": 1759521687
},
{
"id": "cac0e4598487ed784cc7ceae639803a9be2a420d",
"author": {
"id": "did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
"alias": "erikli"
},
"description": "I seem to be messy... this cleaned away some forgotten temporary comment",
"base": "5caa7b302a7d4f247aaa7cc688a692aac4486464",
"oid": "df8f5c6d82ab222e91d2416c8a343f382726f374",
"timestamp": 1759553916
},
{
"id": "59a58e92d9f7d465e03945c3861666828938deff",
"author": {
"id": "did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
"alias": "erikli"
},
"description": "REVIEW\n\nSee commit message",
"base": "ac572e64e5029cb1db16f05158915b6ef55ab7e7",
"oid": "7dea56be156778b892a33b8434088586cc3643ef",
"timestamp": 1760008537
},
{
"id": "6b1cc72a9c01668f305e230ed039e113daf1ac81",
"author": {
"id": "did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
"alias": "erikli"
},
"description": "Changes:\n\n- Fix type placeholder for default branch",
"base": "ac572e64e5029cb1db16f05158915b6ef55ab7e7",
"oid": "eba641643d7d24967f4867f58277a5b376220542",
"timestamp": 1760011329
},
{
"id": "1b4a4d6a9394365db5ff33d49733c1558a505800",
"author": {
"id": "did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
"alias": "erikli"
},
"description": "Changes:\n\n- Add example values for `--existing`\n- Add unit tests that cover parsing an `--existing` RID",
"base": "ac572e64e5029cb1db16f05158915b6ef55ab7e7",
"oid": "13a8391b6faebe43d7408703c6b608b8b213a5f2",
"timestamp": 1760016684
},
{
"id": "7911a88ac373dff462a8f8acfd46ad170ee98958",
"author": {
"id": "did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
"alias": "erikli"
},
"description": "Changes:\n\n- Squash review commits\n- Rebase",
"base": "10e7b94c304d215ad4a1ff326233098ab182d0b1",
"oid": "8ba3087cb996d38b84bfed4acdb568ea0457ab91",
"timestamp": 1760105065
}
]
}
}
{
"response": "triggered",
"run_id": {
"id": "1b7b17ea-e1f9-44c8-aff0-df4bfd19e260"
},
"info_url": "https://cci.rad.levitte.org//1b7b17ea-e1f9-44c8-aff0-df4bfd19e260.html"
}
Started at: 2025-10-10 16:04:29.029962+02:00
Commands:
$ rad clone rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 .
✓ Creating checkout in ./...
✓ Remote cloudhead@z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT added
✓ Remote-tracking branch cloudhead@z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT/master created for z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT
✓ Remote cloudhead@z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW added
✓ Remote-tracking branch cloudhead@z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW/master created for z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW
✓ Remote fintohaps@z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM added
✓ Remote-tracking branch fintohaps@z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM/master created for z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM
✓ Remote erikli@z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz added
✓ Remote-tracking branch erikli@z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz/master created for z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz
✓ 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/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/
╭────────────────────────────────────╮
│ heartwood │
│ Radicle Heartwood Protocol & Stack │
│ 125 issues · 18 patches │
╰────────────────────────────────────╯
Run `cd ./.` to go to the repository directory.
Exit code: 0
$ rad patch checkout 6719913fa5e596f5946e2a59141f31c4a5b51fcb
✓ Switched to branch patch/6719913 at revision cac0e45
✓ Branch patch/6719913 setup to track rad/patches/6719913fa5e596f5946e2a59141f31c4a5b51fcb
Exit code: 0
$ git config advice.detachedHead false
Exit code: 0
$ git checkout 8ba3087cb996d38b84bfed4acdb568ea0457ab91
HEAD is now at 8ba3087c cli/init: use Clap
Exit code: 0
$ git show 8ba3087cb996d38b84bfed4acdb568ea0457ab91
commit 8ba3087cb996d38b84bfed4acdb568ea0457ab91
Author: Richard Levitte <richard@levitte.org>
Date: Fri Oct 3 22:01:04 2025 +0200
cli/init: use Clap
diff --git a/crates/radicle-cli/src/commands/help.rs b/crates/radicle-cli/src/commands/help.rs
index d9962998..66a53974 100644
--- a/crates/radicle-cli/src/commands/help.rs
+++ b/crates/radicle-cli/src/commands/help.rs
@@ -58,7 +58,10 @@ const COMMANDS: &[CommandItem] = &[
},
CommandItem::Lexopt(crate::commands::help::HELP),
CommandItem::Lexopt(crate::commands::id::HELP),
- CommandItem::Lexopt(crate::commands::init::HELP),
+ CommandItem::Clap {
+ name: "init",
+ about: crate::commands::init::ABOUT,
+ },
CommandItem::Lexopt(crate::commands::inbox::HELP),
CommandItem::Lexopt(crate::commands::inspect::HELP),
CommandItem::Clap {
diff --git a/crates/radicle-cli/src/commands/init.rs b/crates/radicle-cli/src/commands/init.rs
index f79d004b..0d74ccf7 100644
--- a/crates/radicle-cli/src/commands/init.rs
+++ b/crates/radicle-cli/src/commands/init.rs
@@ -1,10 +1,14 @@
#![allow(clippy::or_fun_call)]
#![allow(clippy::collapsible_else_if)]
+
+mod args;
+
+pub use args::Args;
+pub(crate) use args::ABOUT;
+
use std::collections::HashSet;
use std::convert::TryFrom;
use std::env;
-use std::ffi::OsString;
-use std::path::PathBuf;
use std::str::FromStr;
use anyhow::{anyhow, bail, Context as _};
@@ -18,7 +22,6 @@ use radicle::git::RefString;
use radicle::identity::project::ProjectName;
use radicle::identity::{Doc, RepoId, Visibility};
use radicle::node::events::UploadPack;
-use radicle::node::policy::Scope;
use radicle::node::{Event, Handle, NodeId, DEFAULT_SUBSCRIBE_TIMEOUT};
use radicle::storage::ReadStorage as _;
use radicle::{profile, Node};
@@ -26,168 +29,12 @@ use radicle::{profile, Node};
use crate::commands;
use crate::git;
use crate::terminal as term;
-use crate::terminal::args::{Args, Error, Help};
use crate::terminal::Interactive;
-pub const HELP: Help = Help {
- name: "init",
- description: "Initialize a Radicle repository",
- version: env!("RADICLE_VERSION"),
- usage: r#"
-Usage
-
- rad init [<path>] [<option>...]
-
-Options
-
- --name <string> Name of the repository
- --description <string> Description of the repository
- --default-branch <name> The default branch of the repository
- --scope <scope> Repository follow scope: `followed` or `all` (default: all)
- --private Set repository visibility to *private*
- --public Set repository visibility to *public*
- --existing <rid> Setup repository as an existing Radicle repository
- -u, --set-upstream Setup the upstream of the default branch
- --setup-signing Setup the radicle key as a signing key for this repository
- --no-confirm Don't ask for confirmation during setup
- --no-seed Don't seed this repository after initializing it
- -v, --verbose Verbose mode
- --help Print help
-"#,
-};
-
-#[derive(Default)]
-pub struct Options {
- pub path: Option<PathBuf>,
- pub name: Option<ProjectName>,
- pub description: Option<String>,
- pub branch: Option<String>,
- pub interactive: Interactive,
- pub visibility: Option<Visibility>,
- pub existing: Option<RepoId>,
- pub setup_signing: bool,
- pub scope: Scope,
- pub set_upstream: bool,
- pub verbose: bool,
- pub seed: bool,
-}
-
-impl Args for Options {
- fn from_args(args: Vec<OsString>) -> anyhow::Result<(Self, Vec<OsString>)> {
- use lexopt::prelude::*;
-
- let mut parser = lexopt::Parser::from_args(args);
- let mut path: Option<PathBuf> = None;
-
- let mut name = None;
- let mut description = None;
- let mut branch = None;
- let mut interactive = Interactive::Yes;
- let mut set_upstream = false;
- let mut setup_signing = false;
- let mut scope = Scope::All;
- let mut existing = None;
- let mut seed = true;
- let mut verbose = false;
- let mut visibility = None;
-
- while let Some(arg) = parser.next()? {
- match arg {
- Long("name") if name.is_none() => {
- let value = parser.value()?;
- let value = term::args::string(&value);
- let value = ProjectName::try_from(value)?;
-
- name = Some(value);
- }
- Long("description") if description.is_none() => {
- let value = parser
- .value()?
- .to_str()
- .ok_or(anyhow::anyhow!(
- "invalid repository description specified with `--description`"
- ))?
- .to_owned();
-
- description = Some(value);
- }
- Long("default-branch") if branch.is_none() => {
- let value = parser
- .value()?
- .to_str()
- .ok_or(anyhow::anyhow!(
- "invalid branch specified with `--default-branch`"
- ))?
- .to_owned();
-
- branch = Some(value);
- }
- Long("scope") => {
- let value = parser.value()?;
-
- scope = term::args::parse_value("scope", value)?;
- }
- Long("set-upstream") | Short('u') => {
- set_upstream = true;
- }
- Long("setup-signing") => {
- setup_signing = true;
- }
- Long("no-confirm") => {
- interactive = Interactive::No;
- }
- Long("no-seed") => {
- seed = false;
- }
- Long("private") => {
- visibility = Some(Visibility::private([]));
- }
- Long("public") => {
- visibility = Some(Visibility::Public);
- }
- Long("existing") if existing.is_none() => {
- let val = parser.value()?;
- let rid = term::args::rid(&val)?;
-
- existing = Some(rid);
- }
- Long("verbose") | Short('v') => {
- verbose = true;
- }
- Long("help") | Short('h') => {
- return Err(Error::Help.into());
- }
- Value(val) if path.is_none() => {
- path = Some(val.into());
- }
- _ => anyhow::bail!(arg.unexpected()),
- }
- }
-
- Ok((
- Options {
- path,
- name,
- description,
- branch,
- scope,
- existing,
- interactive,
- set_upstream,
- setup_signing,
- seed,
- visibility,
- verbose,
- },
- vec![],
- ))
- }
-}
-
-pub fn run(options: Options, ctx: impl term::Context) -> anyhow::Result<()> {
+pub fn run(args: Args, ctx: impl term::Context) -> anyhow::Result<()> {
let profile = ctx.profile()?;
let cwd = env::current_dir()?;
- let path = options.path.as_deref().unwrap_or(cwd.as_path());
+ let path = args.path.as_deref().unwrap_or(cwd.as_path());
let repo = match git::Repository::open(path) {
Ok(r) => r,
Err(e) if e.is_not_found() => {
@@ -201,20 +48,18 @@ pub fn run(options: Options, ctx: impl term::Context) -> anyhow::Result<()> {
}
}
- if let Some(rid) = options.existing {
- init_existing(repo, rid, options, &profile)
+ if let Some(rid) = args.existing {
+ init_existing(repo, rid, args, &profile)
} else {
- init(repo, options, &profile)
+ init(repo, args, &profile)
}
}
-pub fn init(
- repo: git::Repository,
- options: Options,
- profile: &profile::Profile,
-) -> anyhow::Result<()> {
+pub fn init(repo: git::Repository, args: Args, profile: &profile::Profile) -> anyhow::Result<()> {
let path = dunce::canonicalize(repo.workdir().unwrap_or_else(|| repo.path()))?;
- let interactive = options.interactive;
+ let interactive = args.interactive();
+ let visibility = args.visibility();
+ let seed = args.seed();
let default_branch = match find_default_branch(&repo) {
Err(err @ DefaultBranchError::Head) => {
@@ -233,21 +78,22 @@ pub fn init(
term::headline(format!(
"Initializing{}radicle 👾 repository in {}..",
- if let Some(visibility) = &options.visibility {
- term::format::spaced(term::format::visibility(visibility))
- } else {
- term::format::default(" ").into()
+ match visibility {
+ Some(ref visibility) => term::format::spaced(term::format::visibility(visibility)),
+ None => term::format::default(" ").into(),
},
term::format::dim(path.display())
));
- let name: ProjectName = match options.name {
+ let name: ProjectName = match args.name {
Some(name) => name,
None => {
let default = path
.file_name()
.and_then(|f| f.to_str())
.and_then(|f| ProjectName::try_from(f).ok());
+ // TODO(finto): this is interactive without checking `interactive` –
+ // this should check if interactive and use the default if not
let name = term::input(
"Name",
default,
@@ -257,13 +103,13 @@ pub fn init(
name.ok_or_else(|| anyhow::anyhow!("A project name is required."))?
}
};
- let description = match options.description {
+ let description = match args.description {
Some(desc) => desc,
None => {
term::input("Description", None, Some("You may leave this blank"))?.unwrap_or_default()
}
};
- let branch = match options.branch {
+ let branch = match args.branch {
Some(branch) => branch,
None if interactive.yes() => term::input(
"Default branch",
@@ -275,9 +121,11 @@ pub fn init(
};
let branch = RefString::try_from(branch.clone())
.map_err(|e| anyhow!("invalid branch name {:?}: {}", branch, e))?;
- let visibility = if let Some(v) = options.visibility {
+ let visibility = if let Some(v) = visibility {
v
} else {
+ // TODO(finto): this is interactive without checking `interactive` –
+ // this should check if interactive and use the `private` if not
let selected = term::select(
"Visibility",
&["public", "private"],
@@ -309,20 +157,20 @@ pub fn init(
));
spinner.finish();
- if options.verbose {
+ if args.verbose {
term::blob(json::to_string_pretty(&proj)?);
}
// It's important to seed our own repositories to make sure that our node signals
// interest for them. This ensures that messages relating to them are relayed to us.
- if options.seed {
- profile.seed(rid, options.scope, &mut node)?;
+ if seed {
+ profile.seed(rid, args.scope, &mut node)?;
if doc.is_public() {
profile.add_inventory(rid, &mut node)?;
}
}
- if options.set_upstream || git::branch_remote(&repo, proj.default_branch()).is_err() {
+ if args.set_upstream || git::branch_remote(&repo, proj.default_branch()).is_err() {
// Setup eg. `master` -> `rad/master`
radicle::git::set_upstream(
&repo,
@@ -334,7 +182,7 @@ pub fn init(
push_cmd = format!("git push {} {branch}", *radicle::rad::REMOTE_NAME);
}
- if options.setup_signing {
+ if args.setup_signing {
// Setup radicle signing key.
self::setup_signing(profile.id(), &repo, interactive)?;
}
@@ -379,12 +227,13 @@ pub fn init(
pub fn init_existing(
working: git::Repository,
rid: RepoId,
- options: Options,
+ args: Args,
profile: &profile::Profile,
) -> anyhow::Result<()> {
let stored = profile.storage.repository(rid)?;
let project = stored.project()?;
let url = radicle::git::Url::from(rid);
+ let interactive = args.interactive();
radicle::git::configure_repository(&working)?;
radicle::git::configure_remote(
@@ -394,7 +243,7 @@ pub fn init_existing(
&url.clone().with_namespace(profile.public_key),
)?;
- if options.set_upstream {
+ if args.set_upstream {
// Setup eg. `master` -> `rad/master`
radicle::git::set_upstream(
&working,
@@ -404,9 +253,9 @@ pub fn init_existing(
)?;
}
- if options.setup_signing {
+ if args.setup_signing {
// Setup radicle signing key.
- self::setup_signing(profile.id(), &working, options.interactive)?;
+ self::setup_signing(profile.id(), &working, interactive)?;
}
term::success!(
diff --git a/crates/radicle-cli/src/commands/init/args.rs b/crates/radicle-cli/src/commands/init/args.rs
new file mode 100644
index 00000000..f1fb5f0d
--- /dev/null
+++ b/crates/radicle-cli/src/commands/init/args.rs
@@ -0,0 +1,141 @@
+use std::path::PathBuf;
+
+use clap::Parser;
+use radicle::{
+ identity::{project::ProjectName, Visibility},
+ node::policy::Scope,
+ prelude::RepoId,
+};
+use radicle_term::Interactive;
+
+pub(crate) const ABOUT: &str = "Initialize a Radicle repository";
+
+#[derive(Debug, Parser)]
+#[command(about = ABOUT, disable_version_flag = true)]
+pub struct Args {
+ /// Directory to be initialized
+ pub(super) path: Option<PathBuf>,
+ /// Name of the repository
+ #[arg(long, value_name = "STRING")]
+ pub(super) name: Option<ProjectName>,
+ /// Description of the repository
+ #[arg(long, value_name = "STRING")]
+ pub(super) description: Option<String>,
+ /// The default branch of the repository
+ #[arg(long = "default-branch", value_name = "STRING")]
+ pub(super) branch: Option<String>,
+ /// Repository follow scope
+ #[arg(
+ long,
+ default_value_t = Scope::All,
+ value_name = "SCOPE",
+ value_parser = ScopeParser,
+ )]
+ pub(super) scope: Scope,
+ /// Set repository visibility to *private*
+ #[arg(long, conflicts_with = "public")]
+ private: bool,
+ /// Set repository visibility to *public*
+ #[arg(long, conflicts_with = "private")]
+ public: bool,
+ /// Setup repository as an existing Radicle repository
+ ///
+ /// [example values: rad:z3Tr6bC7ctEg2EHmLvknUr29mEDLH, z3Tr6bC7ctEg2EHmLvknUr29mEDLH]
+ #[arg(long, value_name = "RID")]
+ pub(super) existing: Option<RepoId>,
+ /// Setup the upstream of the default branch
+ #[arg(short = 'u', long)]
+ pub(super) set_upstream: bool,
+ /// Setup the radicle key as a signing key for this repository
+ #[arg(long)]
+ pub(super) setup_signing: bool,
+ /// Don't ask for confirmation during setup
+ #[arg(long)]
+ no_confirm: bool,
+ /// Don't seed this repository after initializing it
+ #[arg(long)]
+ no_seed: bool,
+ /// Verbose mode
+ #[arg(short, long)]
+ pub(super) verbose: bool,
+}
+
+impl Args {
+ pub(super) fn interactive(&self) -> Interactive {
+ if self.no_confirm {
+ Interactive::No
+ } else {
+ Interactive::Yes
+ }
+ }
+
+ pub(super) fn visibility(&self) -> Option<Visibility> {
+ if self.private {
+ debug_assert!(!self.public, "BUG: `private` and `public` should conflict");
+ Some(Visibility::private([]))
+ } else if self.public {
+ Some(Visibility::Public)
+ } else {
+ None
+ }
+ }
+
+ pub(super) fn seed(&self) -> bool {
+ !self.no_seed
+ }
+}
+
+// TODO(finto): this is duplicated from `clone::args`. Consolidate these once
+// the `clap` migration has finished and we can organise the shared code.
+#[derive(Clone, Debug)]
+struct ScopeParser;
+
+impl clap::builder::TypedValueParser for ScopeParser {
+ type Value = Scope;
+
+ fn parse_ref(
+ &self,
+ cmd: &clap::Command,
+ arg: Option<&clap::Arg>,
+ value: &std::ffi::OsStr,
+ ) -> Result<Self::Value, clap::Error> {
+ <Scope as std::str::FromStr>::from_str.parse_ref(cmd, arg, value)
+ }
+
+ fn possible_values(
+ &self,
+ ) -> Option<Box<dyn Iterator<Item = clap::builder::PossibleValue> + '_>> {
+ use clap::builder::PossibleValue;
+ Some(Box::new(
+ [PossibleValue::new("all"), PossibleValue::new("followed")].into_iter(),
+ ))
+ }
+}
+
+#[cfg(test)]
+mod test {
+ use super::Args;
+ use clap::error::ErrorKind;
+ use clap::Parser;
+
+ #[test]
+ fn should_parse_rid_non_urn() {
+ let args = Args::try_parse_from(["init", "--existing", "z3Tr6bC7ctEg2EHmLvknUr29mEDLH"]);
+ assert!(args.is_ok())
+ }
+
+ #[test]
+ fn should_parse_rid_urn() {
+ let args =
+ Args::try_parse_from(["init", "--existing", "rad:z3Tr6bC7ctEg2EHmLvknUr29mEDLH"]);
+ assert!(args.is_ok())
+ }
+
+ #[test]
+ fn should_not_parse_rid_url() {
+ let err =
+ Args::try_parse_from(["init", "--existing", "rad://z3Tr6bC7ctEg2EHmLvknUr29mEDLH"])
+ .unwrap_err();
+ assert_eq!(err.kind(), ErrorKind::ValueValidation);
+ }
+}
diff --git a/crates/radicle-cli/src/main.rs b/crates/radicle-cli/src/main.rs
index 8c448d44..8ff87d50 100644
--- a/crates/radicle-cli/src/main.rs
+++ b/crates/radicle-cli/src/main.rs
@@ -50,6 +50,7 @@ enum Commands {
Clone(clone::Args),
Debug(debug::Args),
Fork(fork::Args),
+ Init(init::Args),
Issue(issue::Args),
Path(path::Args),
Publish(publish::Args),
@@ -231,7 +232,9 @@ pub(crate) fn run_other(exe: &str, args: &[OsString]) -> Result<(), Option<anyho
term::run_command_args::<inbox::Options, _>(inbox::HELP, inbox::run, args.to_vec())
}
"init" => {
- term::run_command_args::<init::Options, _>(init::HELP, init::run, args.to_vec());
+ if let Some(Commands::Init(args)) = CliArgs::parse().command {
+ term::run_command_fn(init::run, args);
+ }
}
"inspect" => {
term::run_command_args::<inspect::Options, _>(
Exit code: 0
shell: 'export RUSTDOCFLAGS=''-D warnings'' cargo --version rustc --version cargo fmt --check cargo clippy --all-targets --workspace -- --deny warnings cargo build --all-targets --workspace cargo doc --workspace --no-deps cargo test --workspace --no-fail-fast '
Commands:
$ podman run --name 1b7b17ea-e1f9-44c8-aff0-df4bfd19e260 -v /opt/radcis/ci.rad.levitte.org/cci/state/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/s:/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/s:ro -v /opt/radcis/ci.rad.levitte.org/cci/state/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w:/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w -w /1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w -v /opt/radcis/ci.rad.levitte.org/.radicle:/${id}/.radicle:ro -e RAD_HOME=/${id}/.radicle rust:bookworm bash /1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/s/script.sh
+ export 'RUSTDOCFLAGS=-D warnings'
+ RUSTDOCFLAGS='-D warnings'
+ cargo --version
info: syncing channel updates for '1.88-x86_64-unknown-linux-gnu'
info: latest update on 2025-06-26, rust version 1.88.0 (6b00bc388 2025-06-23)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
info: downloading component 'rust-src'
info: downloading component 'rust-std'
info: downloading component 'rustc'
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
info: installing component 'rust-src'
info: installing component 'rust-std'
info: installing component 'rustc'
info: installing component 'rustfmt'
cargo 1.88.0 (873a06493 2025-05-10)
+ rustc --version
rustc 1.88.0 (6b00bc388 2025-06-23)
+ cargo fmt --check
+ cargo clippy --all-targets --workspace -- --deny warnings
Updating crates.io index
Downloading crates ...
Downloaded data-encoding-macro-internal v0.1.12
Downloaded faster-hex v0.9.0
Downloaded num-traits v0.2.19
Downloaded radicle-surf v0.22.0
Downloaded gix-date v0.9.4
Downloaded object v0.36.7
Downloaded base64 v0.13.1
Downloaded ff v0.13.0
Downloaded nonempty v0.5.0
Downloaded bytesize v2.0.1
Downloaded bit-set v0.8.0
Downloaded num-complex v0.4.6
Downloaded clap_lex v0.7.5
Downloaded crossbeam-channel v0.5.15
Downloaded num-integer v0.1.46
Downloaded diff v0.1.13
Downloaded fancy-regex v0.14.0
Downloaded sval_serde v2.14.1
Downloaded displaydoc v0.2.5
Downloaded num-cmp v0.1.0
Downloaded num v0.4.3
Downloaded radicle-std-ext v0.1.0
Downloaded nonempty v0.9.0
Downloaded escargot v0.5.10
Downloaded fxhash v0.2.1
Downloaded num-rational v0.4.2
Downloaded normalize-line-endings v0.3.0
Downloaded crossterm v0.25.0
Downloaded generic-array v0.14.7
Downloaded gix-prompt v0.9.1
Downloaded smallvec v1.13.2
Downloaded form_urlencoded v1.2.1
Downloaded utf8_iter v1.0.4
Downloaded icu_normalizer v1.5.0
Downloaded num-iter v0.1.45
Downloaded fraction v0.15.3
Downloaded gix-trace v0.1.12
Downloaded inout v0.1.3
Downloaded spin v0.9.8
Downloaded litemap v0.7.5
Downloaded once_cell v1.21.3
Downloaded serde_fmt v1.0.3
Downloaded p384 v0.13.0
Downloaded outref v0.5.2
Downloaded serde_derive_internals v0.29.1
Downloaded pbkdf2 v0.12.2
Downloaded overload v0.1.1
Downloaded gix-credentials v0.26.0
Downloaded gix-config-value v0.14.12
Downloaded socks5-client v0.4.1
Downloaded qcheck-macros v1.0.0
Downloaded tinyvec v1.6.0
Downloaded structured-logger v1.0.4
Downloaded poly1305 v0.8.0
Downloaded gix-sec v0.10.12
Downloaded scopeguard v1.2.0
Downloaded salsa20 v0.10.2
Downloaded thiserror v2.0.12
Downloaded tree-sitter-html v0.23.2
Downloaded group v0.13.0
Downloaded unicode-ident v1.0.12
Downloaded unicode-segmentation v1.11.0
Downloaded vsimd v0.8.0
Downloaded uuid-simd v0.8.0
Downloaded sval_nested v2.14.1
Downloaded gix-validate v0.9.4
Downloaded serde v1.0.219
Downloaded tracing-log v0.2.0
Downloaded filetime v0.2.23
Downloaded tinyvec_macros v0.1.1
Downloaded gix-quote v0.4.15
Downloaded yoke v0.7.5
Downloaded gix-path v0.10.15
Downloaded iana-time-zone v0.1.60
Downloaded tree-sitter-ruby v0.23.1
Downloaded ghash v0.5.1
Downloaded thiserror v1.0.69
Downloaded gix-features v0.39.1
Downloaded snapbox-macros v0.3.8
Downloaded zerofrom-derive v0.1.6
Downloaded noise-framework v0.4.0
Downloaded git-ref-format v0.3.1
Downloaded git-ref-format-core v0.3.1
Downloaded gix-command v0.4.1
Downloaded serde_json v1.0.140
Downloaded typeid v1.0.3
Downloaded icu_collections v1.5.0
Downloaded mio v0.8.11
Downloaded icu_normalizer_data v1.5.1
Downloaded yoke-derive v0.7.5
Downloaded lazy_static v1.5.0
Downloaded toml v0.9.5
Downloaded unicode-width v0.1.11
Downloaded lock_api v0.4.11
Downloaded getrandom v0.3.3
Downloaded icu_provider v1.5.0
Downloaded url v2.5.4
Downloaded ssh-key v0.6.6
Downloaded miniz_oxide v0.8.8
Downloaded idna v1.0.3
Downloaded memchr v2.7.2
Downloaded zerocopy v0.7.35
Downloaded tree-sitter-python v0.23.4
Downloaded syn v1.0.109
Downloaded tracing-subscriber v0.3.19
Downloaded icu_properties_data v1.5.1
Downloaded sha3 v0.10.8
Downloaded syn v2.0.89
Downloaded gimli v0.31.1
Downloaded unicode-width v0.2.1
Downloaded tree-sitter-md v0.3.2
Downloaded rustix v0.38.34
Downloaded git2 v0.19.0
Downloaded rustix v1.0.7
Downloaded tree-sitter-rust v0.23.2
Downloaded libm v0.2.8
Downloaded tree-sitter-c v0.23.2
Downloaded regex-syntax v0.6.29
Downloaded regex v1.11.1
Downloaded hashbrown v0.14.3
Downloaded zerovec v0.10.4
Downloaded vcpkg v0.2.15
Downloaded regex-automata v0.4.9
Downloaded tree-sitter v0.24.4
Downloaded winnow v0.6.26
Downloaded jiff v0.2.1
Downloaded tracing v0.1.41
Downloaded unicode-normalization v0.1.23
Downloaded log v0.4.27
Downloaded linux-raw-sys v0.4.13
Downloaded memmap2 v0.9.4
Downloaded libc v0.2.174
Downloaded indexmap v2.2.6
Downloaded gix-revwalk v0.17.0
Downloaded jsonschema v0.30.0
Downloaded indicatif v0.18.0
Downloaded tokio v1.47.1
Downloaded gix-pack v0.56.0
Downloaded tree-sitter-typescript v0.23.2
Downloaded portable-atomic v1.11.0
Downloaded icu_provider_macros v1.5.0
Downloaded flate2 v1.1.1
Downloaded matchers v0.1.0
Downloaded gix-chunk v0.4.11
Downloaded tree-sitter-bash v0.23.3
Downloaded gix-transport v0.44.0
Downloaded gix-actor v0.33.2
Downloaded linux-raw-sys v0.9.4
Downloaded zeroize v1.7.0
Downloaded sval_fmt v2.14.1
Downloaded sval_dynamic v2.14.1
Downloaded hmac v0.12.1
Downloaded gix-url v0.28.2
Downloaded gix-traverse v0.43.1
Downloaded gix-tempfile v15.0.0
Downloaded gix-revision v0.31.1
Downloaded gix-fs v0.12.1
Downloaded human-panic v2.0.3
Downloaded home v0.5.9
Downloaded heck v0.5.0
Downloaded gix-lock v15.0.1
Downloaded gix-hashtable v0.6.0
Downloaded gix-hash v0.15.1
Downloaded utf8parse v0.2.1
Downloaded utf16_iter v1.0.5
Downloaded universal-hash v0.5.1
Downloaded unit-prefix v0.5.1
Downloaded systemd-journal-logger v2.2.2
Downloaded mio v1.0.4
Downloaded toml_writer v1.0.2
Downloaded toml_datetime v0.7.0
Downloaded keccak v0.1.5
Downloaded getrandom v0.2.15
Downloaded sval v2.14.1
Downloaded synstructure v0.13.1
Downloaded multibase v0.9.1
Downloaded yansi v0.5.1
Downloaded idna_adapter v1.2.0
Downloaded gix-ref v0.49.1
Downloaded walkdir v2.5.0
Downloaded localtime v1.3.1
Downloaded tree-sitter-language v0.1.2
Downloaded test-log v0.2.18
Downloaded tempfile v3.10.1
Downloaded ssh-cipher v0.2.0
Downloaded test-log-macros v0.2.18
Downloaded sval_buffer v2.14.1
Downloaded subtle v2.5.0
Downloaded streaming-iterator v0.1.9
Downloaded stable_deref_trait v1.2.0
Downloaded sqlite3-sys v0.15.2
Downloaded maybe-async v0.2.10
Downloaded icu_properties v1.5.1
Downloaded tar v0.4.40
Downloaded libgit2-sys v0.17.0+1.8.1
Downloaded value-bag v1.11.1
Downloaded uuid v1.16.0
Downloaded tracing-core v0.1.34
Downloaded gix-refspec v0.27.0
Downloaded gix-packetline v0.18.4
Downloaded gix-object v0.46.1
Downloaded xattr v1.3.1
Downloaded writeable v0.5.5
Downloaded unicode-display-width v0.3.0
Downloaded tree-sitter-css v0.23.1
Downloaded regex-automata v0.1.10
Downloaded p521 v0.13.3
Downloaded num-bigint-dig v0.8.4
Downloaded num-bigint v0.4.6
Downloaded zerofrom v0.1.6
Downloaded lexopt v0.3.0
Downloaded tree-sitter-json v0.24.8
Downloaded socket2 v0.5.7
Downloaded typenum v1.17.0
Downloaded timeago v0.4.2
Downloaded thread_local v1.1.9
Downloaded itertools v0.14.0
Downloaded rand v0.8.5
Downloaded prodash v29.0.2
Downloaded tree-sitter-toml-ng v0.6.0
Downloaded sqlite v0.32.0
Downloaded write16 v1.0.0
Downloaded litrs v0.4.1
Downloaded rsa v0.9.6
Downloaded git-ref-format-macro v0.3.1
Downloaded schemars v1.0.4
Downloaded sqlite3-src v0.5.1
Downloaded gix-negotiate v0.17.0
Downloaded sval_ref v2.14.1
Downloaded zerovec-derive v0.10.3
Downloaded tinystr v0.7.6
Downloaded pretty_assertions v1.4.0
Downloaded spki v0.7.3
Downloaded jobserver v0.1.31
Downloaded gix-odb v0.66.0
Downloaded serde_derive v1.0.219
Downloaded sem_safe v0.2.0
Downloaded thiserror-impl v2.0.12
Downloaded thiserror-impl v1.0.69
Downloaded strsim v0.11.1
Downloaded inquire v0.7.5
Downloaded gix-protocol v0.47.0
Downloaded gix-diff v0.49.0
Downloaded signal-hook v0.3.18
Downloaded version_check v0.9.4
Downloaded value-bag-sval2 v1.11.1
Downloaded value-bag-serde1 v1.11.1
Downloaded tree-sitter-go v0.23.4
Downloaded ssh-encoding v0.2.0
Downloaded icu_locid v1.5.0
Downloaded newline-converter v0.3.0
Downloaded libz-sys v1.1.16
Downloaded itoa v1.0.11
Downloaded gix-utils v0.1.14
Downloaded sha2 v0.10.8
Downloaded ref-cast-impl v1.0.24
Downloaded proc-macro2 v1.0.92
Downloaded parking_lot v0.12.3
Downloaded os_info v3.12.0
Downloaded tree-sitter-highlight v0.24.4
Downloaded siphasher v1.0.1
Downloaded siphasher v0.3.11
Downloaded signature v1.6.4
Downloaded signal-hook-registry v1.4.5
Downloaded signal-hook-mio v0.2.4
Downloaded shell-words v1.1.0
Downloaded scrypt v0.11.0
Downloaded rustc-demangle v0.1.26
Downloaded referencing v0.30.0
Downloaded ref-cast v1.0.24
Downloaded icu_locid_transform_data v1.5.1
Downloaded radicle-git-ext v0.8.1
Downloaded qcheck v1.0.0
Downloaded serde_spanned v1.0.0
Downloaded percent-encoding v2.3.1
Downloaded rfc6979 v0.4.0
Downloaded proc-macro-error v1.0.4
Downloaded polyval v0.6.2
Downloaded phf v0.11.3
Downloaded gix-shallow v0.1.0
Downloaded serde-untagged v0.1.7
Downloaded sec1 v0.7.3
Downloaded schemars_derive v1.0.4
Downloaded ryu v1.0.17
Downloaded rand_core v0.6.4
Downloaded rand_chacha v0.3.1
Downloaded quote v1.0.36
Downloaded proc-macro-error-attr v1.0.4
Downloaded primeorder v0.13.6
Downloaded pkg-config v0.3.30
Downloaded pkcs8 v0.10.2
Downloaded pin-project-lite v0.2.16
Downloaded phf_shared v0.11.3
Downloaded pem-rfc7468 v0.7.0
Downloaded signature v2.2.0
Downloaded sha1_smol v1.0.0
Downloaded same-file v1.0.6
Downloaded pkcs1 v0.7.5
Downloaded opaque-debug v0.3.1
Downloaded icu_locid_transform v1.5.0
Downloaded similar v2.5.0
Downloaded parking_lot_core v0.9.9
Downloaded snapbox v0.4.17
Downloaded signals_receipts v0.2.0
Downloaded shlex v1.3.0
Downloaded p256 v0.13.2
Downloaded bloomy v1.2.0
Downloaded crossterm v0.29.0
Downloaded cc v1.2.2
Downloaded gix-commitgraph v0.25.1
Downloaded fluent-uri v0.3.2
Downloaded erased-serde v0.4.6
Downloaded env_logger v0.11.8
Downloaded env_filter v0.1.3
Downloaded emojis v0.6.4
Downloaded elliptic-curve v0.13.8
Downloaded either v1.11.0
Downloaded data-encoding-macro v0.1.14
Downloaded chrono v0.4.38
Downloaded chacha20poly1305 v0.10.1
Downloaded bytecount v0.6.8
Downloaded block-padding v0.3.3
Downloaded base64 v0.22.1
Downloaded anyhow v1.0.82
Downloaded sharded-slab v0.1.7
Downloaded regex-syntax v0.8.5
Downloaded paste v1.0.15
Downloaded fast-glob v0.3.3
Downloaded errno v0.3.13
Downloaded email_address v0.2.9
Downloaded byteorder v1.5.0
Downloaded blowfish v0.9.1
Downloaded block-buffer v0.10.4
Downloaded cpufeatures v0.2.12
Downloaded ed25519 v1.5.3
Downloaded ecdsa v0.16.9
Downloaded cyphergraphy v0.3.0
Downloaded dunce v1.0.5
Downloaded data-encoding v2.5.0
Downloaded crypto-common v0.1.6
Downloaded equivalent v1.0.1
Downloaded crc32fast v1.4.0
Downloaded chacha20 v0.9.1
Downloaded borrow-or-share v0.2.2
Downloaded ascii v1.1.0
Downloaded digest v0.10.7
Downloaded crossbeam-utils v0.8.19
Downloaded convert_case v0.7.1
Downloaded cipher v0.4.4
Downloaded cbc v0.1.2
Downloaded arc-swap v1.7.1
Downloaded anstyle-query v1.0.2
Downloaded anstyle-parse v0.2.3
Downloaded sval_json v2.14.1
Downloaded ppv-lite86 v0.2.17
Downloaded fastrand v2.1.0
Downloaded ec25519 v0.1.0
Downloaded dyn-clone v1.0.17
Downloaded derive_more v2.0.1
Downloaded der v0.7.9
Downloaded ct-codecs v1.1.1
Downloaded console v0.16.0
Downloaded clap_derive v4.5.41
Downloaded clap_builder v4.5.44
Downloaded document-features v0.2.11
Downloaded ctr v0.9.2
Downloaded colorchoice v1.0.0
Downloaded cfg-if v1.0.0
Downloaded bitflags v2.9.1
Downloaded anstream v0.6.13
Downloaded ahash v0.8.11
Downloaded cypheraddr v0.4.0
Downloaded const-oid v0.9.6
Downloaded clap v4.5.44
Downloaded aes-gcm v0.10.3
Downloaded aead v0.5.2
Downloaded colored v2.1.0
Downloaded backtrace v0.3.75
Downloaded amplify_syn v2.0.1
Downloaded bcrypt-pbkdf v0.10.0
Downloaded base32 v0.4.0
Downloaded anstyle v1.0.11
Downloaded amplify v4.6.0
Downloaded aho-corasick v1.1.3
Downloaded aes v0.8.4
Downloaded bitflags v1.3.2
Downloaded amplify_num v0.5.2
Downloaded amplify_derive v4.0.0
Downloaded base16ct v0.2.0
Downloaded base-x v0.2.11
Downloaded autocfg v1.2.0
Downloaded nu-ansi-term v0.46.0
Downloaded bit-vec v0.8.0
Downloaded adler2 v2.0.0
Downloaded addr2line v0.24.2
Downloaded cyphernet v0.5.2
Downloaded bytes v1.10.1
Downloaded bstr v1.9.1
Downloaded base64ct v1.6.0
Downloaded derive_more-impl v2.0.1
Downloaded crypto-bigint v0.5.5
Downloaded base64 v0.21.7
Compiling libc v0.2.174
Compiling proc-macro2 v1.0.92
Compiling unicode-ident v1.0.12
Checking cfg-if v1.0.0
Compiling serde v1.0.219
Compiling shlex v1.3.0
Compiling version_check v0.9.4
Compiling quote v1.0.36
Compiling syn v2.0.89
Checking memchr v2.7.2
Compiling jobserver v0.1.31
Compiling typeid v1.0.3
Compiling cc v1.2.2
Compiling autocfg v1.2.0
Checking smallvec v1.13.2
Checking aho-corasick v1.1.3
Checking getrandom v0.2.15
Checking regex-syntax v0.8.5
Compiling typenum v1.17.0
Compiling generic-array v0.14.7
Checking rand_core v0.6.4
Checking fastrand v2.1.0
Compiling lock_api v0.4.11
Checking regex-automata v0.4.9
Compiling parking_lot_core v0.9.9
Checking bitflags v2.9.1
Checking crypto-common v0.1.6
Checking scopeguard v1.2.0
Compiling synstructure v0.13.1
Checking parking_lot v0.12.3
Checking once_cell v1.21.3
Checking subtle v2.5.0
Checking tinyvec_macros v0.1.1
Checking stable_deref_trait v1.2.0
Checking tinyvec v1.6.0
Compiling thiserror v2.0.12
Compiling syn v1.0.109
Checking bstr v1.9.1
Checking unicode-normalization v0.1.23
Checking zeroize v1.7.0
Compiling serde_derive v1.0.219
Compiling zerofrom-derive v0.1.6
Compiling yoke-derive v0.7.5
Compiling thiserror-impl v2.0.12
Compiling zerovec-derive v0.10.3
Checking zerofrom v0.1.6
Checking yoke v0.7.5
Compiling displaydoc v0.2.5
Compiling crc32fast v1.4.0
Checking zerovec v0.10.4
Checking cpufeatures v0.2.12
Checking itoa v1.0.11
Checking hashbrown v0.14.3
Checking block-padding v0.3.3
Compiling icu_locid_transform_data v1.5.1
Checking tinystr v0.7.6
Checking litemap v0.7.5
Checking writeable v0.5.5
Compiling pkg-config v0.3.30
Checking icu_locid v1.5.0
Checking inout v0.1.3
Compiling icu_provider_macros v1.5.0
Checking block-buffer v0.10.4
Compiling icu_properties_data v1.5.1
Checking digest v0.10.7
Checking icu_provider v1.5.0
Checking cipher v0.4.4
Checking erased-serde v0.4.6
Checking serde_fmt v1.0.3
Compiling icu_normalizer_data v1.5.1
Checking adler2 v2.0.0
Compiling thiserror v1.0.69
Checking value-bag-serde1 v1.11.1
Checking miniz_oxide v0.8.8
Checking value-bag v1.11.1
Checking icu_locid_transform v1.5.0
Checking log v0.4.27
Checking icu_collections v1.5.0
Compiling thiserror-impl v1.0.69
Compiling rustix v0.38.34
Checking icu_properties v1.5.1
Checking utf8_iter v1.0.4
Checking write16 v1.0.0
Checking linux-raw-sys v0.4.13
Checking utf16_iter v1.0.5
Checking gix-trace v0.1.12
Checking percent-encoding v2.3.1
Checking sha2 v0.10.8
Checking faster-hex v0.9.0
Checking universal-hash v0.5.1
Checking opaque-debug v0.3.1
Checking form_urlencoded v1.2.1
Checking gix-utils v0.1.14
Compiling vcpkg v0.2.15
Checking gix-hash v0.15.1
Checking icu_normalizer v1.5.0
Compiling amplify_syn v2.0.1
Checking idna_adapter v1.2.0
Checking tempfile v3.10.1
Compiling libz-sys v1.1.16
Checking idna v1.0.3
Checking url v2.5.4
Compiling num-traits v0.2.19
Checking same-file v1.0.6
Checking byteorder v1.5.0
Checking signature v1.6.4
Checking ed25519 v1.5.3
Checking walkdir v2.5.0
Checking flate2 v1.1.1
Compiling amplify_derive v4.0.0
Checking prodash v29.0.2
Checking aead v0.5.2
Checking sha1_smol v1.0.0
Checking ascii v1.1.0
Checking ct-codecs v1.1.1
Checking amplify_num v0.5.2
Checking ec25519 v0.1.0
Checking gix-features v0.39.1
Checking poly1305 v0.8.0
Checking chacha20 v0.9.1
Compiling libgit2-sys v0.17.0+1.8.1
Compiling proc-macro-error-attr v1.0.4
Checking equivalent v1.0.1
Compiling serde_json v1.0.140
Checking indexmap v2.2.6
Checking polyval v0.6.2
Checking hmac v0.12.1
Checking amplify v4.6.0
Compiling sqlite3-src v0.5.1
Compiling proc-macro-error v1.0.4
Checking cyphergraphy v0.3.0
Checking base64ct v1.6.0
Checking ryu v1.0.17
Checking keccak v0.1.5
Checking home v0.5.9
Checking pem-rfc7468 v0.7.0
Checking gix-path v0.10.15
Checking sha3 v0.10.8
Checking pbkdf2 v0.12.2
Checking ghash v0.5.1
Checking git-ref-format-core v0.3.1
Checking aes v0.8.4
Checking ctr v0.9.2
Compiling crossbeam-utils v0.8.19
Checking base32 v0.4.0
Compiling data-encoding v2.5.0
Checking cypheraddr v0.4.0
Checking aes-gcm v0.10.3
Compiling data-encoding-macro-internal v0.1.12
Checking ssh-encoding v0.2.0
Checking chacha20poly1305 v0.10.1
Checking blowfish v0.9.1
Checking cbc v0.1.2
Compiling ref-cast v1.0.24
Checking ssh-cipher v0.2.0
Checking data-encoding-macro v0.1.14
Checking bcrypt-pbkdf v0.10.0
Checking noise-framework v0.4.0
Compiling git-ref-format-macro v0.3.1
Checking socks5-client v0.4.1
Compiling ref-cast-impl v1.0.24
Checking rand v0.8.5
Checking signature v2.2.0
Checking base-x v0.2.11
Checking ssh-key v0.6.6
Checking multibase v0.9.1
Checking qcheck v1.0.0
Checking crossbeam-channel v0.5.15
Checking git-ref-format v0.3.1
Checking cyphernet v0.5.2
Checking radicle-ssh v0.10.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-ssh)
Checking dyn-clone v1.0.17
Checking lazy_static v1.5.0
Checking radicle-std-ext v0.1.0
Checking jiff v0.2.1
Checking siphasher v1.0.1
Checking nonempty v0.9.0
Compiling serde_derive_internals v0.29.1
Checking radicle-dag v0.10.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-dag)
Checking winnow v0.6.26
Checking anstyle-query v1.0.2
Compiling schemars_derive v1.0.4
Checking gix-date v0.9.4
Checking gix-actor v0.33.2
Checking gix-hashtable v0.6.0
Checking gix-validate v0.9.4
Checking iana-time-zone v0.1.60
Checking utf8parse v0.2.1
Checking anstyle-parse v0.2.3
Checking chrono v0.4.38
Checking schemars v1.0.4
Checking gix-object v0.46.1
Checking colored v2.1.0
Checking serde-untagged v0.1.7
Checking bytesize v2.0.1
Checking localtime v1.3.1
Checking memmap2 v0.9.4
Checking fast-glob v0.3.3
Checking base64 v0.21.7
Checking anstyle v1.0.11
Checking colorchoice v1.0.0
Checking tree-sitter-language v0.1.2
Checking dunce v1.0.5
Checking anstream v0.6.13
Checking gix-chunk v0.4.11
Checking gix-commitgraph v0.25.1
Compiling rustix v1.0.7
Checking gix-revwalk v0.17.0
Checking gix-fs v0.12.1
Checking linux-raw-sys v0.9.4
Checking gix-tempfile v15.0.0
Checking mio v1.0.4
Checking sem_safe v0.2.0
Checking errno v0.3.13
Checking shell-words v1.1.0
Checking either v1.11.0
Checking gix-command v0.4.1
Checking signals_receipts v0.2.0
Compiling object v0.36.7
Compiling signal-hook v0.3.18
Checking gix-lock v15.0.1
Checking gix-config-value v0.14.12
Checking gix-url v0.28.2
Checking gix-quote v0.4.15
Checking gix-sec v0.10.12
Checking signal-hook-registry v1.4.5
Compiling getrandom v0.3.3
Checking gimli v0.31.1
Checking gix-prompt v0.9.1
Checking sqlite3-sys v0.15.2
Checking sqlite v0.32.0
Checking addr2line v0.24.2
Checking radicle-crypto v0.14.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-crypto)
Checking radicle-signals v0.11.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-signals)
Checking gix-traverse v0.43.1
Checking gix-revision v0.31.1
Checking gix-diff v0.49.0
Checking gix-packetline v0.18.4
Checking mio v0.8.11
Compiling tree-sitter v0.24.4
Compiling anyhow v1.0.82
Compiling unicode-segmentation v1.11.0
Checking rustc-demangle v0.1.26
Checking backtrace v0.3.75
Compiling convert_case v0.7.1
Checking signal-hook-mio v0.2.4
Checking gix-transport v0.44.0
Checking gix-refspec v0.27.0
Checking gix-pack v0.56.0
Checking gix-credentials v0.26.0
Checking gix-shallow v0.1.0
Checking gix-ref v0.49.1
Checking gix-negotiate v0.17.0
Compiling maybe-async v0.2.10
Checking regex v1.11.1
Checking arc-swap v1.7.1
Compiling portable-atomic v1.11.0
Checking gix-odb v0.66.0
Checking gix-protocol v0.47.0
Checking uuid v1.16.0
Compiling xattr v1.3.1
Compiling derive_more-impl v2.0.1
Compiling filetime v0.2.23
Checking unicode-width v0.2.1
Compiling litrs v0.4.1
Checking lexopt v0.3.0
Checking bitflags v1.3.2
Checking bytes v1.10.1
Compiling document-features v0.2.11
Checking derive_more v2.0.1
Checking crossterm v0.25.0
Checking console v0.16.0
Compiling tar v0.4.40
Checking newline-converter v0.3.0
Checking snapbox-macros v0.3.8
Checking fxhash v0.2.1
Checking salsa20 v0.10.2
Checking normalize-line-endings v0.3.0
Checking similar v2.5.0
Checking unit-prefix v0.5.1
Checking streaming-iterator v0.1.9
Checking unicode-width v0.1.11
Checking siphasher v0.3.11
Checking snapbox v0.4.17
Checking bloomy v1.2.0
Checking inquire v0.7.5
Checking indicatif v0.18.0
Compiling radicle-surf v0.22.0
Checking scrypt v0.11.0
Checking crossterm v0.29.0
Checking unicode-display-width v0.3.0
Checking systemd-journal-logger v2.2.2
Checking toml_datetime v0.7.0
Checking serde_spanned v1.0.0
Compiling tree-sitter-json v0.24.8
Compiling tree-sitter-typescript v0.23.2
Compiling tree-sitter-toml-ng v0.6.0
Compiling tree-sitter-css v0.23.1
Compiling tree-sitter-python v0.23.4
Compiling tree-sitter-html v0.23.2
Compiling tree-sitter-go v0.23.4
Compiling tree-sitter-rust v0.23.2
Compiling tree-sitter-c v0.23.2
Compiling tree-sitter-md v0.3.2
Compiling tree-sitter-ruby v0.23.1
Compiling tree-sitter-bash v0.23.3
Compiling heck v0.5.0
Checking pin-project-lite v0.2.16
Checking strsim v0.11.1
Checking clap_lex v0.7.5
Checking toml_writer v1.0.2
Checking clap_builder v4.5.44
Checking toml v0.9.5
Compiling clap_derive v4.5.41
Checking tokio v1.47.1
Checking os_info v3.12.0
Checking base64 v0.13.1
Checking nonempty v0.5.0
Compiling radicle-cli v0.17.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-cli)
Checking yansi v0.5.1
Checking diff v0.1.13
Compiling radicle-node v0.16.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-node)
Checking pretty_assertions v1.4.0
Checking human-panic v2.0.3
Checking structured-logger v1.0.4
Checking clap v4.5.44
Checking radicle-systemd v0.11.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-systemd)
Checking tree-sitter-highlight v0.24.4
Checking itertools v0.14.0
Checking num-integer v0.1.46
Checking socket2 v0.5.7
Checking timeago v0.4.2
Compiling escargot v0.5.10
Compiling qcheck-macros v1.0.0
Checking num-bigint v0.4.6
Compiling ahash v0.8.11
Checking num-iter v0.1.45
Checking num-complex v0.4.6
Checking env_filter v0.1.3
Checking borrow-or-share v0.2.2
Checking zerocopy v0.7.35
Checking bit-vec v0.8.0
Checking num-rational v0.4.2
Checking bit-set v0.8.0
Checking fluent-uri v0.3.2
Checking env_logger v0.11.8
Checking num v0.4.3
Checking phf_shared v0.11.3
Compiling test-log-macros v0.2.18
Checking vsimd v0.8.0
Compiling paste v1.0.15
Checking outref v0.5.2
Compiling radicle-remote-helper v0.14.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-remote-helper)
Checking test-log v0.2.18
Checking uuid-simd v0.8.0
Checking referencing v0.30.0
Checking phf v0.11.3
Checking fraction v0.15.3
Checking fancy-regex v0.14.0
Checking email_address v0.2.9
Checking base64 v0.22.1
Checking num-cmp v0.1.0
Checking bytecount v0.6.8
Checking emojis v0.6.4
Checking jsonschema v0.30.0
Checking git2 v0.19.0
Checking radicle-git-ext v0.8.1
Checking radicle-term v0.16.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-term)
Checking radicle-cob v0.17.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-cob)
Checking radicle v0.20.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle)
Checking radicle-fetch v0.16.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-fetch)
Checking radicle-cli-test v0.13.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-cli-test)
Checking radicle-protocol v0.4.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-protocol)
Checking radicle-schemars v0.6.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-schemars)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.90s
+ cargo build --all-targets --workspace
Compiling cfg-if v1.0.0
Compiling libc v0.2.174
Compiling shlex v1.3.0
Compiling serde v1.0.219
Compiling memchr v2.7.2
Compiling typeid v1.0.3
Compiling smallvec v1.13.2
Compiling aho-corasick v1.1.3
Compiling jobserver v0.1.31
Compiling getrandom v0.2.15
Compiling cc v1.2.2
Compiling regex-syntax v0.8.5
Compiling erased-serde v0.4.6
Compiling serde_fmt v1.0.3
Compiling regex-automata v0.4.9
Compiling value-bag-serde1 v1.11.1
Compiling value-bag v1.11.1
Compiling log v0.4.27
Compiling typenum v1.17.0
Compiling generic-array v0.14.7
Compiling rand_core v0.6.4
Compiling bitflags v2.9.1
Compiling fastrand v2.1.0
Compiling crypto-common v0.1.6
Compiling scopeguard v1.2.0
Compiling parking_lot_core v0.9.9
Compiling lock_api v0.4.11
Compiling once_cell v1.21.3
Compiling tinyvec_macros v0.1.1
Compiling subtle v2.5.0
Compiling parking_lot v0.12.3
Compiling tinyvec v1.6.0
Compiling zerofrom v0.1.6
Compiling stable_deref_trait v1.2.0
Compiling yoke v0.7.5
Compiling zeroize v1.7.0
Compiling zerovec v0.10.4
Compiling thiserror v2.0.12
Compiling adler2 v2.0.0
Compiling unicode-normalization v0.1.23
Compiling cpufeatures v0.2.12
Compiling bstr v1.9.1
Compiling miniz_oxide v0.8.8
Compiling itoa v1.0.11
Compiling hashbrown v0.14.3
Compiling tinystr v0.7.6
Compiling block-padding v0.3.3
Compiling writeable v0.5.5
Compiling litemap v0.7.5
Compiling inout v0.1.3
Compiling crc32fast v1.4.0
Compiling block-buffer v0.10.4
Compiling icu_locid v1.5.0
Compiling digest v0.10.7
Compiling cipher v0.4.4
Compiling icu_locid_transform_data v1.5.1
Compiling icu_properties_data v1.5.1
Compiling icu_collections v1.5.0
Compiling icu_normalizer_data v1.5.1
Compiling icu_provider v1.5.0
Compiling icu_locid_transform v1.5.0
Compiling utf8_iter v1.0.4
Compiling linux-raw-sys v0.4.13
Compiling write16 v1.0.0
Compiling utf16_iter v1.0.5
Compiling thiserror v1.0.69
Compiling percent-encoding v2.3.1
Compiling rustix v0.38.34
Compiling gix-trace v0.1.12
Compiling sha2 v0.10.8
Compiling icu_properties v1.5.1
Compiling universal-hash v0.5.1
Compiling faster-hex v0.9.0
Compiling opaque-debug v0.3.1
Compiling form_urlencoded v1.2.1
Compiling gix-utils v0.1.14
Compiling libz-sys v1.1.16
Compiling gix-hash v0.15.1
Compiling tempfile v3.10.1
Compiling byteorder v1.5.0
Compiling same-file v1.0.6
Compiling signature v1.6.4
Compiling walkdir v2.5.0
Compiling ed25519 v1.5.3
Compiling flate2 v1.1.1
Compiling icu_normalizer v1.5.0
Compiling prodash v29.0.2
Compiling aead v0.5.2
Compiling amplify_num v0.5.2
Compiling sha1_smol v1.0.0
Compiling idna_adapter v1.2.0
Compiling idna v1.0.3
Compiling ct-codecs v1.1.1
Compiling ascii v1.1.0
Compiling ec25519 v0.1.0
Compiling url v2.5.4
Compiling amplify v4.6.0
Compiling gix-features v0.39.1
Compiling num-traits v0.2.19
Compiling poly1305 v0.8.0
Compiling chacha20 v0.9.1
Compiling libgit2-sys v0.17.0+1.8.1
Compiling equivalent v1.0.1
Compiling indexmap v2.2.6
Compiling cyphergraphy v0.3.0
Compiling polyval v0.6.2
Compiling hmac v0.12.1
Compiling sqlite3-src v0.5.1
Compiling ryu v1.0.17
Compiling base64ct v1.6.0
Compiling keccak v0.1.5
Compiling home v0.5.9
Compiling sha3 v0.10.8
Compiling pem-rfc7468 v0.7.0
Compiling gix-path v0.10.15
Compiling serde_json v1.0.140
Compiling ghash v0.5.1
Compiling pbkdf2 v0.12.2
Compiling git-ref-format-core v0.3.1
Compiling ctr v0.9.2
Compiling aes v0.8.4
Compiling base32 v0.4.0
Compiling aes-gcm v0.10.3
Compiling cypheraddr v0.4.0
Compiling ssh-encoding v0.2.0
Compiling chacha20poly1305 v0.10.1
Compiling blowfish v0.9.1
Compiling cbc v0.1.2
Compiling data-encoding v2.5.0
Compiling git-ref-format-macro v0.3.1
Compiling data-encoding-macro v0.1.14
Compiling ssh-cipher v0.2.0
Compiling bcrypt-pbkdf v0.10.0
Compiling noise-framework v0.4.0
Compiling socks5-client v0.4.1
Compiling crossbeam-utils v0.8.19
Compiling rand v0.8.5
Compiling signature v2.2.0
Compiling base-x v0.2.11
Compiling multibase v0.9.1
Compiling qcheck v1.0.0
Compiling ssh-key v0.6.6
Compiling ref-cast v1.0.24
Compiling crossbeam-channel v0.5.15
Compiling cyphernet v0.5.2
Compiling git-ref-format v0.3.1
Compiling radicle-ssh v0.10.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-ssh)
Compiling radicle-std-ext v0.1.0
Compiling lazy_static v1.5.0
Compiling dyn-clone v1.0.17
Compiling jiff v0.2.1
Compiling siphasher v1.0.1
Compiling radicle-dag v0.10.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-dag)
Compiling nonempty v0.9.0
Compiling winnow v0.6.26
Compiling anstyle-query v1.0.2
Compiling gix-hashtable v0.6.0
Compiling gix-validate v0.9.4
Compiling iana-time-zone v0.1.60
Compiling gix-date v0.9.4
Compiling gix-actor v0.33.2
Compiling utf8parse v0.2.1
Compiling anstyle-parse v0.2.3
Compiling gix-object v0.46.1
Compiling chrono v0.4.38
Compiling schemars v1.0.4
Compiling colored v2.1.0
Compiling serde-untagged v0.1.7
Compiling bytesize v2.0.1
Compiling localtime v1.3.1
Compiling memmap2 v0.9.4
Compiling anstyle v1.0.11
Compiling colorchoice v1.0.0
Compiling fast-glob v0.3.3
Compiling base64 v0.21.7
Compiling dunce v1.0.5
Compiling tree-sitter-language v0.1.2
Compiling anstream v0.6.13
Compiling gix-chunk v0.4.11
Compiling gix-commitgraph v0.25.1
Compiling gix-fs v0.12.1
Compiling gix-revwalk v0.17.0
Compiling linux-raw-sys v0.9.4
Compiling gix-tempfile v15.0.0
Compiling mio v1.0.4
Compiling rustix v1.0.7
Compiling errno v0.3.13
Compiling sqlite3-sys v0.15.2
Compiling sem_safe v0.2.0
Compiling sqlite v0.32.0
Compiling shell-words v1.1.0
Compiling radicle-crypto v0.14.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-crypto)
Compiling either v1.11.0
Compiling unicode-segmentation v1.11.0
Compiling gix-command v0.4.1
Compiling signals_receipts v0.2.0
Compiling gix-lock v15.0.1
Compiling gix-config-value v0.14.12
Compiling gix-url v0.28.2
Compiling gix-quote v0.4.15
Compiling gix-sec v0.10.12
Compiling signal-hook-registry v1.4.5
Compiling gimli v0.31.1
Compiling signal-hook v0.3.18
Compiling gix-prompt v0.9.1
Compiling object v0.36.7
Compiling radicle-signals v0.11.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-signals)
Compiling addr2line v0.24.2
Compiling gix-traverse v0.43.1
Compiling gix-revision v0.31.1
Compiling gix-diff v0.49.0
Compiling gix-packetline v0.18.4
Compiling mio v0.8.11
Compiling tree-sitter v0.24.4
Compiling rustc-demangle v0.1.26
Compiling backtrace v0.3.75
Compiling signal-hook-mio v0.2.4
Compiling gix-transport v0.44.0
Compiling gix-pack v0.56.0
Compiling gix-refspec v0.27.0
Compiling gix-credentials v0.26.0
Compiling getrandom v0.3.3
Compiling gix-shallow v0.1.0
Compiling gix-ref v0.49.1
Compiling convert_case v0.7.1
Compiling gix-negotiate v0.17.0
Compiling regex v1.11.1
Compiling arc-swap v1.7.1
Compiling gix-odb v0.66.0
Compiling gix-protocol v0.47.0
Compiling derive_more-impl v2.0.1
Compiling uuid v1.16.0
Compiling xattr v1.3.1
Compiling filetime v0.2.23
Compiling lexopt v0.3.0
Compiling unicode-width v0.2.1
Compiling bitflags v1.3.2
Compiling bytes v1.10.1
Compiling console v0.16.0
Compiling crossterm v0.25.0
Compiling tar v0.4.40
Compiling derive_more v2.0.1
Compiling anyhow v1.0.82
Compiling portable-atomic v1.11.0
Compiling newline-converter v0.3.0
Compiling snapbox-macros v0.3.8
Compiling fxhash v0.2.1
Compiling salsa20 v0.10.2
Compiling unicode-width v0.1.11
Compiling similar v2.5.0
Compiling siphasher v0.3.11
Compiling normalize-line-endings v0.3.0
Compiling streaming-iterator v0.1.9
Compiling unit-prefix v0.5.1
Compiling indicatif v0.18.0
Compiling snapbox v0.4.17
Compiling radicle-surf v0.22.0
Compiling bloomy v1.2.0
Compiling inquire v0.7.5
Compiling scrypt v0.11.0
Compiling crossterm v0.29.0
Compiling systemd-journal-logger v2.2.2
Compiling unicode-display-width v0.3.0
Compiling tree-sitter-toml-ng v0.6.0
Compiling tree-sitter-go v0.23.4
Compiling tree-sitter-typescript v0.23.2
Compiling tree-sitter-c v0.23.2
Compiling tree-sitter-ruby v0.23.1
Compiling tree-sitter-md v0.3.2
Compiling tree-sitter-rust v0.23.2
Compiling tree-sitter-css v0.23.1
Compiling tree-sitter-json v0.24.8
Compiling tree-sitter-bash v0.23.3
Compiling tree-sitter-python v0.23.4
Compiling tree-sitter-html v0.23.2
Compiling toml_datetime v0.7.0
Compiling serde_spanned v1.0.0
Compiling pin-project-lite v0.2.16
Compiling toml_writer v1.0.2
Compiling clap_lex v0.7.5
Compiling strsim v0.11.1
Compiling toml v0.9.5
Compiling clap_builder v4.5.44
Compiling tokio v1.47.1
Compiling os_info v3.12.0
Compiling base64 v0.13.1
Compiling yansi v0.5.1
Compiling nonempty v0.5.0
Compiling diff v0.1.13
Compiling radicle-cli v0.17.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-cli)
Compiling radicle-node v0.16.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-node)
Compiling pretty_assertions v1.4.0
Compiling human-panic v2.0.3
Compiling structured-logger v1.0.4
Compiling clap v4.5.44
Compiling radicle-systemd v0.11.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-systemd)
Compiling tree-sitter-highlight v0.24.4
Compiling itertools v0.14.0
Compiling num-integer v0.1.46
Compiling socket2 v0.5.7
Compiling timeago v0.4.2
Compiling escargot v0.5.10
Compiling num-bigint v0.4.6
Compiling num-iter v0.1.45
Compiling num-complex v0.4.6
Compiling num-rational v0.4.2
Compiling env_filter v0.1.3
Compiling borrow-or-share v0.2.2
Compiling zerocopy v0.7.35
Compiling bit-vec v0.8.0
Compiling ahash v0.8.11
Compiling env_logger v0.11.8
Compiling bit-set v0.8.0
Compiling fluent-uri v0.3.2
Compiling num v0.4.3
Compiling phf_shared v0.11.3
Compiling vsimd v0.8.0
Compiling radicle-remote-helper v0.14.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-remote-helper)
Compiling outref v0.5.2
Compiling uuid-simd v0.8.0
Compiling referencing v0.30.0
Compiling phf v0.11.3
Compiling test-log v0.2.18
Compiling fraction v0.15.3
Compiling fancy-regex v0.14.0
Compiling email_address v0.2.9
Compiling base64 v0.22.1
Compiling bytecount v0.6.8
Compiling num-cmp v0.1.0
Compiling emojis v0.6.4
Compiling jsonschema v0.30.0
Compiling git2 v0.19.0
Compiling radicle-git-ext v0.8.1
Compiling radicle-term v0.16.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-term)
Compiling radicle-cob v0.17.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-cob)
Compiling radicle v0.20.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle)
Compiling radicle-fetch v0.16.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-fetch)
Compiling radicle-protocol v0.4.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-protocol)
Compiling radicle-cli-test v0.13.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-cli-test)
Compiling radicle-schemars v0.6.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-schemars)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 06s
+ cargo doc --workspace --no-deps
Checking regex-automata v0.4.9
Compiling syn v1.0.109
Checking idna v1.0.3
Checking radicle-ssh v0.10.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-ssh)
Compiling num-traits v0.2.19
Checking url v2.5.4
Checking radicle-dag v0.10.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-dag)
Checking git2 v0.19.0
Compiling amplify_syn v2.0.1
Checking bstr v1.9.1
Compiling proc-macro-error v1.0.4
Checking gix-path v0.10.15
Checking git-ref-format-core v0.3.1
Compiling amplify_derive v4.0.0
Compiling data-encoding-macro-internal v0.1.12
Compiling git-ref-format-macro v0.3.1
Checking gix-date v0.9.4
Checking gix-actor v0.33.2
Checking gix-validate v0.9.4
Checking data-encoding-macro v0.1.14
Checking multibase v0.9.1
Checking gix-object v0.46.1
Checking git-ref-format v0.3.1
Checking radicle-git-ext v0.8.1
Checking chrono v0.4.38
Checking gix-commitgraph v0.25.1
Checking gix-command v0.4.1
Checking gix-config-value v0.14.12
Checking gix-revwalk v0.17.0
Checking gix-url v0.28.2
Checking gix-quote v0.4.15
Checking gix-prompt v0.9.1
Checking gix-traverse v0.43.1
Checking gix-revision v0.31.1
Checking gix-diff v0.49.0
Checking radicle-signals v0.11.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-signals)
Checking gix-packetline v0.18.4
Checking regex v1.11.1
Checking amplify v4.6.0
Checking gix-pack v0.56.0
Checking tree-sitter v0.24.4
Checking gix-transport v0.44.0
Checking cyphergraphy v0.3.0
Checking gix-refspec v0.27.0
Checking gix-credentials v0.26.0
Checking gix-negotiate v0.17.0
Checking cypheraddr v0.4.0
Checking noise-framework v0.4.0
Checking gix-ref v0.49.1
Checking gix-shallow v0.1.0
Checking socks5-client v0.4.1
Checking gix-odb v0.66.0
Checking cyphernet v0.5.2
Checking uuid v1.16.0
Checking radicle-crypto v0.14.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-crypto)
Checking radicle-surf v0.22.0
Checking radicle-cob v0.17.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-cob)
Checking gix-protocol v0.47.0
Compiling radicle-cli v0.17.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-cli)
Checking human-panic v2.0.3
Checking tree-sitter-toml-ng v0.6.0
Checking radicle-term v0.16.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-term)
Checking tree-sitter-highlight v0.24.4
Checking radicle v0.20.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle)
Compiling radicle-node v0.16.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-node)
Checking radicle-systemd v0.11.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-systemd)
Documenting radicle-systemd v0.11.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-systemd)
Documenting radicle v0.20.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle)
Documenting radicle-cob v0.17.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-cob)
Documenting radicle-crypto v0.14.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-crypto)
Documenting radicle-term v0.16.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-term)
Documenting radicle-signals v0.11.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-signals)
Documenting radicle-ssh v0.10.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-ssh)
Documenting radicle-dag v0.10.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-dag)
Checking radicle-fetch v0.16.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-fetch)
Documenting radicle-cli v0.17.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-cli)
Documenting radicle-schemars v0.6.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-schemars)
Checking radicle-protocol v0.4.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-protocol)
Documenting radicle-protocol v0.4.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-protocol)
Documenting radicle-node v0.16.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-node)
Documenting radicle-remote-helper v0.14.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-remote-helper)
Documenting radicle-cli-test v0.13.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-cli-test)
Documenting radicle-fetch v0.16.0 (/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-fetch)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.59s
Generated /1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/target/doc/radicle/index.html and 15 other files
+ cargo test --workspace --no-fail-fast
Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s
Running unittests src/lib.rs (target/debug/deps/radicle-2d570a0fe531a2d7)
running 239 tests
test cob::cache::migrations::_2::tests::test_migration_2 ... ok
test canonical::formatter::test::ascii_control_characters ... ok
test canonical::formatter::test::ordered_nested_object ... ok
test cob::cache::migrations::_2::tests::test_patch_json_deserialization ... ok
test canonical::formatter::test::securesystemslib_asserts ... ok
test cob::common::test::test_color ... ok
test cob::cache::tests::test_migrate_to ... ok
test cob::cache::tests::test_check_version ... ok
test cob::common::test::test_emojis ... ok
test cob::common::test::test_title ... ok
test cob::identity::test::prop_json_eq_str ... ok
test cob::identity::test::test_identity_redact_revision ... ok
test cob::identity::test::test_identity_update_rejected ... ok
test cob::identity::test::test_identity_reject_concurrent ... ok
test cob::identity::test::test_identity_updates ... ok
test cob::identity::test::test_identity_remove_delegate_concurrent ... ok
test cob::issue::cache::tests::test_counts ... ok
test cob::issue::cache::tests::test_get ... ok
test cob::issue::cache::tests::test_is_empty ... ok
test cob::issue::cache::tests::test_list ... ok
test cob::issue::cache::tests::test_list_by_status ... ok
test cob::issue::cache::tests::test_remove ... ok
test cob::identity::test::test_valid_identity ... ok
test cob::identity::test::test_identity_updates_concurrent ... ok
test cob::issue::test::test_embeds ... ok
test cob::issue::test::test_embeds_edit ... ok
test cob::issue::test::test_invalid_actions ... ok
test cob::issue::test::test_invalid_tx ... ok
test cob::issue::test::test_invalid_cob ... ok
test cob::identity::test::test_identity_updates_concurrent_outdated ... ok
test cob::issue::test::test_invalid_tx_reference ... ok
test cob::issue::test::test_issue_all ... ok
test cob::issue::test::test_concurrency ... ok
test cob::issue::test::test_issue_comment_redact ... ok
test cob::issue::test::test_issue_comment ... ok
test cob::issue::test::test_issue_create_and_assign ... ok
test cob::issue::test::test_issue_create_and_get ... ok
test cob::issue::test::test_issue_create_and_reassign ... ok
test cob::issue::test::test_issue_create_and_change_state ... ok
test cob::issue::test::test_issue_create_and_unassign ... ok
test cob::issue::test::test_issue_edit_description ... ok
test cob::issue::test::test_issue_edit ... ok
test cob::issue::test::test_issue_label ... ok
test cob::issue::test::test_issue_state_serde ... ok
test cob::issue::test::test_ordering ... ok
test cob::patch::actions::test::test_review_edit ... ok
test cob::issue::test::test_issue_multilines ... ok
test cob::patch::cache::tests::test_find_by_revision ... ok
test cob::issue::test::test_issue_react ... ok
test cob::patch::cache::tests::test_is_empty ... ok
test cob::issue::test::test_issue_reply ... ok
test cob::patch::cache::tests::test_list ... ok
test cob::patch::cache::tests::test_remove ... ok
test cob::patch::cache::tests::test_list_by_status ... ok
test cob::patch::encoding::review::test::test_review_deserialize_summary_migration_null_summary ... ok
test cob::patch::encoding::review::test::test_review_deserialize_summary_migration_without_summary ... ok
test cob::patch::encoding::review::test::test_review_deserialize_summary_migration_with_summary ... ok
test cob::patch::encoding::review::test::test_review_deserialize_summary_v2 ... ok
test cob::patch::encoding::review::test::test_review_summary ... ok
test cob::patch::test::test_json ... ok
test cob::patch::test::test_json_serialization ... ok
test cob::patch::cache::tests::test_get ... ok
test cob::patch::test::test_patch_discussion ... ok
test cob::patch::test::test_patch_create_and_get ... ok
test cob::patch::test::test_patch_merge ... ok
test cob::patch::test::test_patch_redact ... ok
test cob::patch::test::test_patch_review_comment ... ok
test cob::patch::test::test_patch_review ... ok
test cob::patch::cache::tests::test_counts ... ok
test cob::patch::test::test_patch_review_edit ... ok
test cob::patch::test::test_patch_review_duplicate ... ok
test cob::patch::test::test_patch_review_remove_summary ... ok
test cob::patch::test::test_reactions_json_serialization ... ok
test cob::patch::test::test_revision_edit_redact ... ok
test cob::patch::test::test_revision_reaction ... ok
test cob::patch::test::test_revision_review_merge_redacted ... ok
test cob::patch::test::test_patch_review_edit_comment ... ok
test cob::stream::tests::test_all_from ... ok
test cob::stream::tests::test_all_from_until ... ok
test cob::stream::tests::test_from_until ... ok
test cob::stream::tests::test_all_until ... ok
test cob::stream::tests::test_regression_from_until ... ok
test cob::thread::tests::test_comment_edit_missing ... ok
test cob::thread::tests::test_comment_edit_redacted ... ok
test cob::patch::test::test_patch_review_revision_redact ... ok
test cob::thread::tests::test_comment_redact_missing ... ok
test cob::thread::tests::test_duplicate_comments ... ok
test cob::thread::tests::test_edit_comment ... ok
test cob::thread::tests::test_redact_comment ... ok
test git::canonical::quorum::test::merge_base_commutative ... ok
test git::canonical::quorum::test::test_merge_bases ... ok
test cob::thread::tests::test_timeline ... ok
test git::canonical::rules::tests::test_deserialization ... ok
test git::canonical::rules::tests::test_deserialize_extensions ... ok
test git::canonical::rules::tests::test_order ... ok
test git::canonical::rules::tests::test_roundtrip ... ok
test cob::patch::test::test_patch_update ... ok
test git::canonical::rules::tests::test_rule_validate_success ... ok
test git::canonical::rules::tests::test_special_branches ... ok
test git::canonical::tests::test_commit_quorum_fork_of_a_fork ... ok
test git::canonical::tests::test_commit_quorum_forked_merge_commits ... ok
test git::canonical::tests::test_commit_quorum_groups ... ok
test git::canonical::tests::test_commit_quorum_linear ... ok
test git::canonical::tests::test_commit_quorum_merges ... ok
test git::canonical::tests::test_commit_quorum_single ... ok
test git::canonical::tests::test_commit_quorum_three_way_fork ... ok
test git::canonical::tests::test_commit_quorum_two_way_fork ... ok
test git::canonical::tests::test_quorum_different_types ... ok
test git::canonical::rules::tests::test_canonical ... ok
test git::canonical::tests::test_tag_quorum ... ok
test git::test::test_version_from_str ... ok
test git::test::test_version_ord ... ok
test identity::did::test::test_did_encode_decode ... ok
test identity::did::test::test_did_vectors ... ok
test identity::doc::id::test::prop_from_str ... ok
test git::canonical::rules::tests::test_rule_validate_failures ... ok
test identity::doc::test::test_canonical_doc ... ok
test identity::doc::test::test_canonical_example ... ok
test identity::doc::test::test_duplicate_dids ... ok
test identity::doc::test::test_future_version_error ... ok
test identity::doc::test::test_is_valid_version ... ok
test identity::doc::test::test_max_delegates ... ok
test identity::doc::test::test_not_found ... ok
test identity::doc::test::test_parse_version ... ok
test identity::doc::test::test_visibility_json ... ok
test identity::doc::update::test::test_can_update_crefs ... ok
test identity::doc::update::test::test_cannot_include_default_branch_rule ... ok
test identity::doc::update::test::test_default_branch_rule_exists_after_verification ... ok
test identity::project::test::test_project_name ... ok
test node::address::store::test::test_alias ... ok
test node::address::store::test::test_disconnected ... ok
test node::address::store::test::test_disconnected_ban ... ok
test node::address::store::test::test_empty ... ok
test git::canonical::tests::test_quorum_properties ... ok
test node::address::store::test::test_get_none ... ok
test node::address::store::test::test_insert_and_get ... ok
test node::address::store::test::test_entries ... ok
test node::address::store::test::test_insert_and_update ... ok
test node::address::store::test::test_insert_and_remove ... ok
test node::address::store::test::test_insert_duplicate ... ok
test node::address::store::test::test_remove_nothing ... ok
test node::command::test::command_result ... ok
test node::config::test::partial ... ok
test node::db::test::test_version ... ok
test node::features::test::test_operations ... ok
test node::notifications::store::test::test_branch_notifications ... ok
test node::notifications::store::test::test_clear ... ok
test node::notifications::store::test::test_cob_notifications ... ok
test node::address::store::test::test_node_aliases ... ok
test node::notifications::store::test::test_counts_by_repo ... ok
test node::notifications::store::test::test_duplicate_notifications ... ok
test node::notifications::store::test::test_notification_status ... ok
test node::policy::store::test::test_follow_and_unfollow_node ... ok
test node::policy::store::test::test_node_aliases ... ok
test node::policy::store::test::test_node_policies ... ok
test node::policy::store::test::test_repo_policies ... ok
test node::policy::store::test::test_node_policy ... ok
test node::policy::store::test::test_repo_policy ... ok
test node::policy::store::test::test_update_alias ... ok
test node::policy::store::test::test_seed_and_unseed_repo ... ok
test node::policy::store::test::test_update_scope ... ok
test node::refs::store::test::test_set_and_delete ... ok
test node::refs::store::test::test_count ... ok
test node::routing::test::test_count ... ok
test node::refs::store::test::test_set_and_get ... ok
test node::routing::test::test_insert_and_get ... ok
test node::routing::test::test_entries ... ok
test node::routing::test::test_insert_and_remove ... ok
test node::routing::test::test_insert_duplicate ... ok
test node::routing::test::test_insert_and_get_resources ... ok
test node::routing::test::test_insert_existing_updated_time ... ok
test node::routing::test::test_len ... ok
test node::routing::test::test_remove_many ... ok
test node::routing::test::test_remove_redundant ... ok
test node::routing::test::test_update_existing_multi ... ok
test node::routing::test::test_prune ... ok
test node::sync::announce::test::all_synced_nodes_are_preferred_seeds ... ok
test node::sync::announce::test::announcer_adapts_target_to_reach ... ok
test node::sync::announce::test::announcer_preferred_seeds_or_replica_factor ... ok
test node::sync::announce::test::announcer_reached_max_replication_target ... ok
test node::sync::announce::test::announcer_reached_preferred_seeds ... ok
test node::sync::announce::test::announcer_reached_min_replication_target ... ok
test node::sync::announce::test::announcer_timed_out ... ok
test node::sync::announce::test::announcer_synced_with_unknown_node ... ok
test node::sync::announce::test::announcer_with_replication_factor_zero_and_preferred_seeds ... ok
test node::sync::announce::test::cannot_construct_announcer ... ok
test node::sync::announce::test::construct_node_appears_in_multiple_input_sets ... ok
test node::sync::announce::test::construct_only_preferred_seeds_provided ... ok
test node::sync::announce::test::invariant_progress_should_match_state ... ok
test node::sync::announce::test::local_node_in_multiple_sets ... ok
test node::sync::announce::test::local_node_in_preferred_seeds ... ok
test node::sync::announce::test::local_node_in_synced_set ... ok
test node::sync::announce::test::local_node_in_unsynced_set ... ok
test node::sync::announce::test::local_node_only_in_all_sets_results_in_no_seeds_error ... ok
test node::sync::announce::test::synced_with_local_node_is_ignored ... ok
test node::sync::announce::test::preferred_seeds_already_synced ... ok
test node::sync::announce::test::synced_with_same_node_multiple_times ... ok
test node::sync::announce::test::timed_out_after_reaching_success ... ok
test node::sync::fetch::test::all_nodes_are_candidates ... ok
test node::sync::fetch::test::could_not_reach_target ... ok
test node::sync::fetch::test::all_nodes_are_fetchable ... ok
test node::sync::fetch::test::ignores_duplicates_and_local_node ... ok
test node::sync::fetch::test::preferred_seeds_target_returned_over_replicas ... ok
test node::sync::fetch::test::reaches_target_of_max_replicas ... ok
test node::sync::fetch::test::reaches_target_of_preferred_seeds ... ok
test node::sync::test::ensure_replicas_construction ... ok
test node::sync::test::replicas_constrain_to ... ok
test node::sync::fetch::test::reaches_target_of_replicas ... ok
test node::test::test_command_result ... ok
test node::test::test_user_agent ... ok
test node::timestamp::tests::test_timestamp_max ... ok
test node::test::test_alias ... ok
test cob::thread::tests::prop_ordering ... ok
test profile::test::canonicalize_home ... ok
test profile::test::test_config ... ok
test rad::tests::test_fork ... ok
test rad::tests::test_checkout ... ok
test serde_ext::test::test_localtime ... ok
test serde_ext::test::test_localtime_ext ... ok
test rad::tests::test_init ... ok
test storage::git::tests::test_references_of ... ok
test storage::git::tests::test_sign_refs ... ok
test storage::git::transport::local::url::test::test_url_parse ... ok
test storage::git::transport::local::url::test::test_url_to_string ... ok
test storage::git::transport::remote::url::test::test_url_parse ... ok
test storage::refs::tests::prop_canonical_roundtrip ... ok
test profile::config::test::schema ... ok
test storage::tests::test_storage ... ok
test test::assert::test::assert_with_message ... ok
test test::assert::test::test_assert_no_move ... ok
test test::assert::test::test_assert_panic_0 - should panic ... ok
test test::assert::test::test_assert_panic_1 - should panic ... ok
test test::assert::test::test_assert_panic_2 - should panic ... ok
test test::assert::test::test_assert_succeed ... ok
test test::assert::test::test_panic_message ... ok
test version::test::test_version ... ok
test storage::git::tests::test_remote_refs ... ok
test storage::refs::tests::test_rid_verification ... ok
test identity::doc::test::prop_encode_decode ... ok
test result: ok. 239 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.53s
Running unittests src/lib.rs (target/debug/deps/radicle_cli-f3d8320346434c29)
running 29 tests
test commands::block::args::test::should_not_parse ... ok
test commands::block::args::test::should_parse_rid ... ok
test commands::clone::args::test::should_parse_rid_non_urn ... ok
test commands::block::args::test::should_parse_nid ... ok
test commands::clone::args::test::should_parse_rid_url ... ok
test commands::fork::args::test::should_parse_rid_non_urn ... ok
test commands::clone::args::test::should_parse_rid_urn ... ok
test commands::fork::args::test::should_not_parse_rid_url ... ok
test commands::fork::args::test::should_parse_rid_urn ... ok
test commands::init::args::test::should_not_parse_rid_url ... ok
test commands::init::args::test::should_parse_rid_non_urn ... ok
test commands::init::args::test::should_parse_rid_urn ... ok
test commands::inspect::test::test_tree ... ok
test commands::patch::review::builder::tests::test_review_comments_before ... ok
test commands::patch::review::builder::tests::test_review_comments_basic ... ok
test commands::patch::review::builder::tests::test_review_comments_split_hunk ... ok
test commands::publish::args::test::should_not_parse_rid_url ... ok
test commands::publish::args::test::should_parse_rid_non_urn ... ok
test commands::publish::args::test::should_parse_rid_urn ... ok
test commands::patch::review::builder::tests::test_review_comments_multiline ... ok
test git::pretty_diff::test::test_pretty ... ignored
test git::ddiff::tests::diff_encode_decode_ddiff_hunk ... ok
test git::unified_diff::test::test_diff_content_encode_decode_content ... ok
test git::unified_diff::test::test_diff_encode_decode_diff ... ok
test terminal::format::test::test_bytes ... ok
test terminal::format::test::test_strip_comments ... ok
test terminal::patch::test::test_edit_display_message ... ok
test terminal::patch::test::test_create_display_message ... ok
test terminal::patch::test::test_update_display_message ... ok
test result: ok. 28 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.01s
Running unittests src/main.rs (target/debug/deps/rad-542b082137ab6f0c)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running tests/commands.rs (target/debug/deps/commands-3a9eab8f1346877f)
running 109 tests
test framework_home ... ok
test git_push_and_fetch ... ok
test git_push_amend ... ok
test git_push_canonical_annotated_tags ... ok
test git_push_canonical_lightweight_tags ... ok
test git_push_diverge ... ok
test rad_auth ... ok
test rad_auth_errors ... ok
test rad_block ... ok
test rad_checkout ... ok
test git_tag ... ok
test git_push_rollback ... ok
test git_push_converge ... ok
test rad_clone ... ok
test rad_clean ... ok
test rad_clone_bare ... ok
test rad_clone_all ... ok
test rad_clone_unknown ... ok
test rad_clone_connect ... ok
test rad_cob_migrate ... ok
test rad_cob_multiset ... ok
test rad_cob_log ... ok
test rad_clone_directory ... ok
test rad_clone_partial_fail ... ok
test rad_cob_operations ... ok
test rad_cob_show ... ok
test rad_cob_update ... ok
test rad_config ... ok
test rad_cob_update_identity ... ok
test rad_help ... ok
test rad_diff ... ok
test rad_id_collaboration ... ignored, slow
test rad_id ... ok
test rad_id_conflict ... ok
test rad_id_private ... ok
test rad_id_multi_delegate ... ok
test rad_id_threshold ... ok
test rad_id_unknown_field ... ok
test rad_id_update_delete_field ... ok
test rad_id_threshold_soft_fork ... ok
test rad_init ... ignored, part of many other tests
test rad_init_bare ... ok
test rad_init_detached_head ... ok
test rad_init_existing ... ok
test rad_init_existing_bare ... ok
test rad_init_no_git ... ok
test rad_init_no_seed ... ok
test rad_init_private ... ok
test rad_fetch ... ok
test rad_fork ... ok
test rad_inbox ... ok
test rad_init_private_no_seed ... ok
test rad_init_private_clone ... ok
test rad_init_private_clone_seed ... ok
test rad_init_sync_not_connected ... ok
test rad_init_private_seed ... ok
test rad_init_with_existing_remote ... ok
test rad_init_sync_preferred ... ok
test rad_inspect ... ok
test rad_issue ... ok
test rad_jj_bare ... ok
test rad_jj_colocated_patch ... ok
test rad_key_mismatch ... ok
test rad_issue_list ... ok
test rad_merge_no_ff ... ok
test rad_merge_after_update ... ok
test rad_merge_via_push ... ok
test rad_node_connect ... ok
test rad_node_connect_without_address ... ok
test rad_patch ... ok
test rad_node ... ok
test rad_patch_change_base ... ok
test rad_patch_ahead_behind ... ok
test rad_patch_checkout ... ok
test rad_init_sync_and_clone ... ok
test rad_init_sync_timeout ... ok
test rad_patch_checkout_revision ... ok
test rad_patch_checkout_force ... ok
test rad_patch_detached_head ... ok
test rad_patch_diff ... ok
test rad_patch_draft ... ok
test rad_patch_edit ... ok
test rad_patch_fetch_2 ... FAILED
test rad_patch_merge_draft ... ok
test rad_patch_fetch_1 ... ok
test rad_patch_revert_merge ... ok
test rad_patch_open_explore ... ok
test rad_patch_update ... ok
test rad_patch_delete ... ok
test rad_patch_via_push ... FAILED
test rad_publish ... ok
test rad_review_by_hunk ... ok
test rad_seed_and_follow ... ok
test rad_remote ... ok
test rad_self ... ok
test rad_seed_many ... ok
test rad_sync_without_node ... ok
test rad_push_and_pull_patches ... ok
test rad_unseed ... ok
test rad_warn_old_nodes ... ok
test rad_unseed_many ... ok
test rad_sync ... ok
test rad_watch ... ok
test test_clone_without_seeds ... ok
test test_cob_deletion ... ok
test test_cob_replication ... ok
test rad_workflow ... ok
test rad_patch_pull_update ... ok
test test_replication_via_seed ... ok
failures:
---- rad_patch_fetch_2 stdout ----
1760105273 test: Using PATH ["/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-cli/target/debug", "/usr/local/cargo/bin", "/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin", "/tmp/radicle-Ya596k/work/alice"]
1760105273 test: rad-init.md: Running `/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/target/debug/rad` with ["init", "--name", "heartwood", "--description", "Radicle Heartwood Protocol & Stack", "--no-confirm", "--public", "-v"] in `/tmp/radicle-Ya596k/work/alice`..
1760105273 test: rad-init.md: Running `/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/target/debug/rad` with ["init"] in `/tmp/radicle-Ya596k/work/alice`..
1760105273 test: rad-init.md: Running `/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/target/debug/rad` with ["ls"] in `/tmp/radicle-Ya596k/work/alice`..
1760105273 test: rad-init.md: Running `/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/target/debug/rad` with ["node", "inventory"] in `/tmp/radicle-Ya596k/work/alice`..
1760105273 test: Using PATH ["/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-cli/target/debug", "/usr/local/cargo/bin", "/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin", "/tmp/radicle-Ya596k/work/alice"]
1760105273 test: rad-patch-fetch-2.md: Running `git` with ["checkout", "-b", "alice/1", "-q"] in `/tmp/radicle-Ya596k/work/alice`..
1760105273 test: rad-patch-fetch-2.md: Running `git` with ["commit", "--allow-empty", "-m", "Changes #1", "-q"] in `/tmp/radicle-Ya596k/work/alice`..
1760105273 test: rad-patch-fetch-2.md: Running `git` with ["push", "rad", "-o", "patch.message=Changes", "HEAD:refs/patches"] in `/tmp/radicle-Ya596k/work/alice`..
1760105273 test: rad-patch-fetch-2.md: Running `git` with ["checkout", "master", "-q"] in `/tmp/radicle-Ya596k/work/alice`..
1760105273 test: rad-patch-fetch-2.md: Running `git` with ["branch", "-D", "alice/1", "-q"] in `/tmp/radicle-Ya596k/work/alice`..
1760105273 test: rad-patch-fetch-2.md: Running `git` with ["update-ref", "-d", "refs/remotes/rad/alice/1"] in `/tmp/radicle-Ya596k/work/alice`..
1760105273 test: rad-patch-fetch-2.md: Running `git` with ["update-ref", "-d", "refs/remotes/rad/patches/5e2dedcc5d515fcbc1cca483d3376609fe889bfb"] in `/tmp/radicle-Ya596k/work/alice`..
1760105273 test: rad-patch-fetch-2.md: Running `git` with ["gc", "--prune=now"] in `/tmp/radicle-Ya596k/work/alice`..
1760105273 test: rad-patch-fetch-2.md: Running `git` with ["branch", "-r"] in `/tmp/radicle-Ya596k/work/alice`..
1760105273 test: rad-patch-fetch-2.md: Running `git` with ["pull"] in `/tmp/radicle-Ya596k/work/alice`..
1760105273 test: rad-patch-fetch-2.md: Running `git` with ["branch", "-r"] in `/tmp/radicle-Ya596k/work/alice`..
thread 'rad_patch_fetch_2' panicked at crates/radicle-cli-test/src/lib.rs:503:36:
--- Expected
++++ actual: stdout
1 - rad/HEAD -> rad/master
2 1 | rad/master
3 2 | rad/patches/5e2dedcc5d515fcbc1cca483d3376609fe889bfb
Exit status: 0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
---- rad_patch_via_push stdout ----
1760105275 test: Using PATH ["/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-cli/target/debug", "/usr/local/cargo/bin", "/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin", "/tmp/radicle-5vbDcR/work/alice"]
1760105275 test: rad-init.md: Running `/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/target/debug/rad` with ["init", "--name", "heartwood", "--description", "Radicle Heartwood Protocol & Stack", "--no-confirm", "--public", "-v"] in `/tmp/radicle-5vbDcR/work/alice`..
1760105275 test: rad-init.md: Running `/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/target/debug/rad` with ["init"] in `/tmp/radicle-5vbDcR/work/alice`..
1760105275 test: rad-init.md: Running `/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/target/debug/rad` with ["ls"] in `/tmp/radicle-5vbDcR/work/alice`..
1760105275 test: rad-init.md: Running `/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/target/debug/rad` with ["node", "inventory"] in `/tmp/radicle-5vbDcR/work/alice`..
1760105275 test: Using PATH ["/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/crates/radicle-cli/target/debug", "/usr/local/cargo/bin", "/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin", "/tmp/radicle-5vbDcR/work/alice"]
1760105275 test: rad-patch-via-push.md: Running `git` with ["checkout", "-b", "feature/1"] in `/tmp/radicle-5vbDcR/work/alice`..
1760105275 test: rad-patch-via-push.md: Running `git` with ["commit", "-a", "-m", "Add things", "-q", "--allow-empty"] in `/tmp/radicle-5vbDcR/work/alice`..
1760105275 test: rad-patch-via-push.md: Running `git` with ["push", "-o", "patch.message=Add things #1", "-o", "patch.message=See commits for details.", "rad", "HEAD:refs/patches"] in `/tmp/radicle-5vbDcR/work/alice`..
1760105275 test: rad-patch-via-push.md: Running `/1b7b17ea-e1f9-44c8-aff0-df4bfd19e260/w/target/debug/rad` with ["patch", "show", "6035d2f582afbe01ff23ea87528ae523d76875b6"] in `/tmp/radicle-5vbDcR/work/alice`..
1760105275 test: rad-patch-via-push.md: Running `git` with ["branch", "-vv"] in `/tmp/radicle-5vbDcR/work/alice`..
1760105275 test: rad-patch-via-push.md: Running `git` with ["status", "--short", "--branch"] in `/tmp/radicle-5vbDcR/work/alice`..
1760105275 test: rad-patch-via-push.md: Running `git` with ["fetch"] in `/tmp/radicle-5vbDcR/work/alice`..
1760105275 test: rad-patch-via-push.md: Running `git` with ["push"] in `/tmp/radicle-5vbDcR/work/alice`..
1760105275 test: rad-patch-via-push.md: Running `git` with ["show-ref"] in `/tmp/radicle-5vbDcR/work/alice`..
thread 'rad_patch_via_push' panicked at crates/radicle-cli-test/src/lib.rs:503:36:
--- Expected
++++ actual: stdout
1 1 | 42d894a83c9c356552a57af09ccdbd5587a99045 refs/heads/feature/1
2 2 | f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 refs/heads/master
3 - f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 refs/remotes/rad/HEAD
4 3 | f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 refs/remotes/rad/master
5 4 | 42d894a83c9c356552a57af09ccdbd5587a99045 refs/remotes/rad/patches/6035d2f582afbe01ff23ea87528ae523d76875b6
Exit status: 0
failures:
rad_patch_fetch_2
rad_patch_via_push
test result: FAILED. 105 passed; 2 failed; 2 ignored; 0 measured; 0 filtered out; finished in 79.68s
error: test failed, to rerun pass `-p radicle-cli --test commands`
Running unittests src/lib.rs (target/debug/deps/radicle_cli_test-86286ee1951488d5)
running 3 tests
test tests::test_parse ... ok
test tests::test_run ... ok
test tests::test_example_spaced_brackets ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/debug/deps/radicle_cob-0306f64780721ed5)
running 8 tests
test object::tests::test_serde ... ok
test tests::invalid_parse_refstr ... ok
test tests::parse_refstr ... ok
test tests::list_cobs ... ok
test type_name::test::valid_typenames ... ok
test tests::roundtrip ... ok
test tests::traverse_cobs ... ok
test tests::update_cob ... ok
test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
Running unittests src/lib.rs (target/debug/deps/radicle_crypto-afd6259deef790e7)
running 12 tests
test ssh::fmt::test::test_key ... ok
test ssh::fmt::test::test_fingerprint ... ok
test ssh::keystore::tests::test_init_no_passphrase ... ok
test ssh::test::prop_encode_decode_sk ... ok
test ssh::test::test_agent_encoding_remove ... ok
test ssh::test::test_agent_encoding_sign ... ok
test tests::prop_encode_decode ... ok
test tests::test_e25519_dh ... ok
test tests::test_encode_decode ... ok
test tests::prop_key_equality ... ok
test ssh::keystore::tests::test_signer ... ok
test ssh::keystore::tests::test_init_passphrase ... ok
test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.89s
Running unittests src/lib.rs (target/debug/deps/radicle_dag-7d941d2839407890)
running 20 tests
test tests::test_contains ... ok
test tests::test_dependencies ... ok
test tests::test_cycle ... ok
test tests::test_diamond ... ok
test tests::test_fold_diamond ... ok
test tests::test_fold_multiple_roots ... ok
test tests::test_fold_reject ... ok
test tests::test_fold_sorting_1 ... ok
test tests::test_fold_sorting_2 ... ok
test tests::test_get ... ok
test tests::test_is_empty ... ok
test tests::test_len ... ok
test tests::test_merge_1 ... ok
test tests::test_merge_2 ... ok
test tests::test_prune_1 ... ok
test tests::test_complex ... ok
test tests::test_prune_2 ... ok
test tests::test_prune_by_sorting ... ok
test tests::test_remove ... ok
test tests::test_siblings ... ok
test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/debug/deps/radicle_fetch-a7bd5d4a6acb930c)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/debug/deps/radicle_node-0d94bb6d4f2c9b81)
running 74 tests
test reactor::timer::tests::test_next ... ok
test reactor::timer::tests::test_wake ... ok
test reactor::timer::tests::test_wake_exact ... ok
test fingerprint::tests::matching ... ok
test control::tests::test_control_socket ... ok
test control::tests::test_seed_unseed ... ok
test tests::e2e::missing_default_branch ... ok
test tests::e2e::missing_delegate_default_branch ... ok
test tests::e2e::test_catchup_on_refs_announcements ... ok
test tests::e2e::test_background_foreground_fetch ... ok
test tests::e2e::test_channel_reader_limit ... ok
test tests::e2e::test_clone ... ok
test tests::e2e::test_dont_fetch_owned_refs ... ok
test tests::e2e::test_connection_crossing ... ok
test tests::e2e::test_fetch_followed_remotes ... ok
test tests::e2e::test_fetch_preserve_owned_refs ... ok
test tests::e2e::test_concurrent_fetches ... ok
test tests::e2e::test_fetch_unseeded ... ok
test tests::e2e::test_fetch_up_to_date ... ok
test tests::e2e::test_inventory_sync_basic ... ok
test tests::e2e::test_fetch_emits_canonical_ref_update ... ok
test tests::e2e::test_large_fetch ... ok
test tests::e2e::test_migrated_clone ... ok
test tests::e2e::test_missing_remote ... ok
test tests::e2e::test_multiple_offline_inits ... ok
test tests::e2e::test_non_fastforward_sigrefs ... ok
test tests::e2e::test_outdated_delegate_sigrefs ... ok
test tests::e2e::test_outdated_sigrefs ... ok
test tests::e2e::test_inventory_sync_bridge ... ok
test tests::e2e::test_replication ... ok
test tests::e2e::test_inventory_sync_ring ... ok
test tests::e2e::test_inventory_sync_star ... ok
test tests::e2e::test_replication_invalid ... ok
test tests::e2e::test_replication_ref_in_sigrefs ... ok
test tests::test_announcement_rebroadcast ... ok
test tests::test_announcement_rebroadcast_duplicates ... ok
test tests::test_announcement_rebroadcast_timestamp_filtered ... ok
test tests::test_announcement_relay ... ok
test tests::test_disconnecting_unresponsive_peer ... ok
test tests::test_connection_kept_alive ... ok
test tests::test_fetch_missing_inventory_on_gossip ... ok
test tests::test_fetch_missing_inventory_on_schedule ... ok
test tests::test_inbound_connection ... ok
test tests::test_inventory_decode ... ok
test tests::test_init_and_seed ... ok
test tests::test_inventory_relay ... ok
test tests::test_inventory_relay_bad_timestamp ... ok
test tests::test_inventory_sync ... ok
test tests::test_maintain_connections ... ok
test tests::test_maintain_connections_failed_attempt ... ok
test tests::test_maintain_connections_transient ... ok
test tests::test_outbound_connection ... ok
test tests::test_inventory_pruning ... ok
test tests::test_persistent_peer_connect ... ok
test tests::test_persistent_peer_reconnect_success ... ok
test tests::test_persistent_peer_reconnect_attempt ... ok
test tests::test_ping_response ... ok
test tests::test_queued_fetch_from_ann_same_rid ... ok
test tests::test_queued_fetch_from_command_same_rid ... ok
test tests::test_redundant_connect ... ok
test tests::test_queued_fetch_max_capacity ... ok
test tests::test_refs_announcement_followed ... ok
test tests::test_refs_announcement_fetch_trusted_no_inventory ... ok
test tests::test_refs_announcement_no_subscribe ... ok
test tests::test_refs_announcement_offline ... ok
test tests::test_refs_announcement_relay_private ... ok
test tests::test_refs_announcement_relay_public ... ok
test tests::test_refs_synced_event ... ok
test tests::test_seeding ... ok
test wire::test::test_inventory_ann_with_extension ... ok
test wire::test::test_pong_message_with_extension ... ok
test tests::test_seed_repo_subscribe ... ok
test tests::prop_inventory_exchange_dense ... ok
test tests::test_announcement_message_amplification ... ok
test result: ok. 74 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 19.40s
Running unittests src/main.rs (target/debug/deps/radicle_node-c868df5414756436)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/debug/deps/radicle_protocol-97ebc64cd3aa78d6)
running 45 tests
test deserializer::test::test_decode_next ... ok
test deserializer::test::prop_decode_next ... ok
test deserializer::test::test_unparsed ... ok
test service::filter::test::test_sizes ... ok
test service::filter::test::test_parameters ... ok
test service::limiter::test::test_limitter_different_rates ... ok
test service::limiter::test::test_limitter_refill ... ok
test service::limiter::test::test_limitter_multi ... ok
test service::gossip::store::test::test_announced ... ok
test service::message::tests::test_ref_remote_limit ... ok
test wire::frame::test::test_encode_git_large ... ok
test wire::frame::test::test_stream_id ... ok
test service::message::tests::test_inventory_limit ... ok
test wire::message::tests::prop_roundtrip_address ... ok
test service::message::tests::prop_refs_announcement_signing ... ok
test wire::message::tests::prop_zero_bytes_encode_decode ... ok
test wire::message::tests::test_inv_ann_max_size ... ok
test wire::message::tests::test_node_ann_max_size ... ok
test wire::message::tests::test_ping_encode_size_overflow - should panic ... ok
test wire::message::tests::test_pingpong_encode_max_size ... ok
test wire::message::tests::test_pong_encode_size_overflow - should panic ... ok
test wire::message::tests::prop_roundtrip_message ... ok
test wire::tests::prop_oid ... ok
test wire::tests::prop_roundtrip_filter ... ok
test wire::tests::prop_roundtrip_publickey ... ok
test wire::tests::prop_roundtrip_refs ... ok
test wire::tests::prop_roundtrip_repoid ... ok
test wire::tests::prop_roundtrip_signed_refs ... ok
test wire::tests::prop_roundtrip_tuple ... ok
test wire::tests::prop_roundtrip_u16 ... ok
test wire::tests::prop_roundtrip_u32 ... ok
test wire::tests::prop_roundtrip_u64 ... ok
test wire::tests::prop_roundtrip_vec ... ok
test wire::tests::prop_signature ... ok
test wire::tests::prop_string ... ok
test wire::tests::test_alias ... ok
test wire::tests::test_bounded_vec_limit ... ok
test wire::tests::test_filter_invalid ... ok
test wire::tests::test_string ... ok
test wire::varint::test::prop_roundtrip_varint ... ok
test wire::varint::test::test_encode_overflow - should panic ... ok
test wire::varint::test::test_encoding ... ok
test wire::message::tests::test_refs_ann_max_size ... ok
test wire::message::tests::prop_message_decoder ... ok
test service::message::tests::test_node_announcement_validate ... ok
test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.55s
Running unittests src/main.rs (target/debug/deps/git_remote_rad-2deb345917eb3b76)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/main.rs (target/debug/deps/radicle_schemars-fb5673a1de7be445)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/debug/deps/radicle_signals-3340fefd7bdb5980)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/debug/deps/radicle_ssh-45829b725338b561)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/debug/deps/radicle_systemd-1ac372ee1186082a)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/debug/deps/radicle_term-8ef8be3b737582a7)
running 21 tests
test ansi::tests::colors_enabled ... ok
test ansi::tests::colors_disabled ... ok
test element::test::test_spaced ... ok
test ansi::tests::wrapping ... ok
test cell::test::test_width ... ok
test element::test::test_truncate ... ok
test element::test::test_width ... ok
test table::test::test_table ... ok
test table::test::test_table_border ... ok
test table::test::test_table_border_maximized ... ok
test table::test::test_table_truncate ... ok
test table::test::test_table_unicode ... ok
test table::test::test_table_border_truncated ... ok
test table::test::test_table_unicode_truncate ... ok
test table::test::test_truncate ... ok
test textarea::test::test_wrapping ... ok
test textarea::test::test_wrapping_fenced_block ... ok
test textarea::test::test_wrapping_code_block ... ok
test vstack::test::test_vstack_maximize ... ok
test vstack::test::test_vstack ... ok
test textarea::test::test_wrapping_paragraphs ... ok
test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle
running 1 test
test crates/radicle/src/cob/patch/encoding/review.rs - cob::patch::encoding::review::Review (line 23) ... ignored
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_cli
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_cli_test
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_cob
running 1 test
test crates/radicle-cob/src/backend/git/stable.rs - backend::git::stable::with_advanced_timestamp (line 56) ... ignored
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_crypto
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_dag
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_fetch
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_node
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_protocol
running 6 tests
test crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::truncate (line 50) ... ok
test crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::max (line 96) ... ok
test crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::collect_from (line 30) ... ok
test crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::unbound (line 149) ... ok
test crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::with_capacity (line 66) ... ok
test crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::push (line 122) ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.56s
Doc-tests radicle_signals
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_ssh
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_systemd
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_term
running 1 test
test crates/radicle-term/src/table.rs - table (line 4) ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.55s
error: 1 target failed:
`-p radicle-cli --test commands`
Exit code: 101
{
"response": "finished",
"result": "failure"
}