use radicle::prelude::*; use radicle::storage::git::Repository; use super::*; pub fn run( patch_id: &PatchId, undo: bool, profile: &Profile, repository: &Repository, ) -> anyhow::Result<()> { let signer = term::signer(profile)?; let mut patches = term::cob::patches_mut(profile, repository)?; let Ok(mut patch) = patches.get_mut(patch_id) else { anyhow::bail!("Patch `{patch_id}` not found"); }; if undo { patch.unarchive(&signer)?; } else { patch.archive(&signer)?; } Ok(()) }