diff options
author | Lars Wirzenius <liw@sequoia-pgp.org> | 2021-10-15 15:29:36 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@sequoia-pgp.org> | 2021-10-15 15:43:58 +0300 |
commit | 8b0506f8b1570b34ccec908ed4fa3797cbe9222f (patch) | |
tree | d3f432a6fb9343b9264493e92f6a8d89e32508e3 | |
parent | 102cb378ea13e972acad02dd0540da71b82ca8dd (diff) |
sq: When merging keyrings, produce output in a reproducible order
The output keyring now has keys in fingerprint order.
Closes #762
-rw-r--r-- | sq/src/commands/keyring.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sq/src/commands/keyring.rs b/sq/src/commands/keyring.rs index 81fce15e..fc3d867a 100644 --- a/sq/src/commands/keyring.rs +++ b/sq/src/commands/keyring.rs @@ -371,8 +371,13 @@ fn merge(inputs: Option<clap::Values>, output: &mut dyn io::Write) } } - for (_, cert) in certs.iter_mut() { - cert.take().unwrap().as_tsk().serialize(output)?; + let mut fingerprints: Vec<Fingerprint> = certs.keys().cloned().collect(); + fingerprints.sort(); + + for fpr in fingerprints.iter() { + if let Some(Some(cert)) = certs.get(fpr) { + cert.as_tsk().serialize(output)?; + } } Ok(()) |