Exit with an error when a change could not be signed

[?]
Jan 16, 2021, 12:33 AM
7MNTFTDF62XHPRL56GJLTGRVB6QOLYDRYGY2XOKDO745RXOCBB4QC

Dependencies

  • [2] ZXTHL45O address clippy lints
  • [3] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [4] DJYHARZ7 Skipping old files when recording

Change contents

  • replacement in pijul/src/commands/record.rs at line 118
    [3.104455][3.104455:104711](),[3.104711][2.0:35](),[2.35][3.104757:105083](),[3.104757][3.104757:105083]()
    if let Some((pk, signature)) = sign_hash(&mut key_path, hash).await? {
    let sig = toml::Value::try_from(vec![Signature {
    public_key: pk,
    timestamp: change.header.timestamp,
    signature,
    }])?;
    let mut toml = toml::map::Map::new();
    toml.insert("signatures".to_string(), sig);
    change.unhashed = Some(toml.into());
    let hash2 = repo.changes.save_change(&change).unwrap();
    assert_eq!(hash2, hash);
    [3.104455]
    [3.105083]
    match sign_hash(&mut key_path, hash).await? {
    Some((pk, signature)) if !signature.is_empty() => {
    let sig = toml::Value::try_from(vec![Signature {
    public_key: pk,
    timestamp: change.header.timestamp,
    signature,
    }])?;
    let mut toml = toml::map::Map::new();
    toml.insert("signatures".to_string(), sig);
    change.unhashed = Some(toml.into());
    let hash2 = repo.changes.save_change(&change).unwrap();
    assert_eq!(hash2, hash);
    }
    _ => {
    bail!("Could not sign the change");
    }