use std::collections::BTreeSet; use std::str::FromStr; use std::{ffi::OsString, io}; use anyhow::{anyhow, Context}; use radicle::cob::identity::{self, IdentityMut, Revision, RevisionId}; use radicle::identity::{doc, Doc, Identity, PayloadError, RawDoc, Visibility}; use radicle::node::device::Device; use radicle::node::NodeId; use radicle::prelude::{Did, RepoId}; use radicle::storage::refs; use radicle::storage::{ReadRepository, ReadStorage as _, WriteRepository}; use radicle::{cob, crypto, Profile}; use radicle_surf::diff::Diff; use radicle_term::Element; use serde_json as json; use crate::git::unified_diff::Encode as _; use crate::git::Rev; use crate::terminal as term; use crate::terminal::args::{Args, Error, Help}; use crate::terminal::patch::Message; use crate::terminal::Interactive; pub const HELP: Help = Help { name: "id", description: "Manage repository identities", version: env!("RADICLE_VERSION"), usage: r#" Usage rad id list [