Disallow overwriting existing identities via `pijul id edit`
Dependencies
- [2]
KKNMDXAITweak identity subcommand - [3]
QKBU6HCDPrevent illegal characters in identity name - [4]
4KJ45IJLImplement new identity management - [5]
4OJWMSOWFully replace crate::Identity
Change contents
- replacement in pijul/src/identity/create.rs at line 32
/// * `replace_current` - If the new identity will replace an existing one/// * `replace_current` - The identity to replace - replacement in pijul/src/identity/create.rs at line 35
replace_current: bool,replace_current: Option<&String>, - replacement in pijul/src/identity/create.rs at line 45
.with_initial_text(if replace_current {.with_initial_text(if replace_current.is_some() { - replacement in pijul/src/identity/create.rs at line 57
if replace_current {// The user is trying to edit an existing identityOk(())if let Some(name) = replace_current {if name == input {// The user is trying to edit an existing identityOk(())} else {// The user is editing an existing identity but trying to overwrite a different nameErr(format!("The identity {existing_identity} already exists. Either remove the identity or edit it directly."))} - replacement in pijul/src/identity/create.rs at line 66
Err(format!("That identity already exists: {existing_identity}",))// The user is creating a new identity but trying to use an existing nameErr(format!("The identity {existing_identity} already exists. Either remove the identity or edit it directly.")) - replacement in pijul/src/identity/create.rs at line 346
self.prompt_changes(false, link_remote).await?self.prompt_changes(None, link_remote).await? - replacement in pijul/src/commands/identity.rs at line 396
cli_args.prompt_changes(true, !options.no_link).await?cli_args.prompt_changes(Some(&old_identity.name), !options.no_link).await?