The format is defined in libpijul/src/change/noenc.rs, specifically:
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq, Default)]
pub struct Author {
pub name: String,
#[serde(default)]
pub full_name: Option<String>,
#[serde(default)]
pub email: Option<String>,
}
R4SKL65GETMZDUYNYY6CV22EPUAFKDA3WGRZGCISHLVETCD6WK4AC
JKKBLMQQHRGQVLTKTY2GUG2MLRICUM6B7TPUUSEPN4EGQYOCX4HAC
WBRPDT27LZ3IV2YPYEBGBH7H7FJO2BRP6QHQHV4YNY2HH5FCGVCAC
ZS3UJEZU4PZEYOXQNZWZGDNXTP5ESNPRAEHPJQ24O3TWZH746IBQC
This is done.
The current change format version is 6, but 4 is still present in a few places. Version 4 appears to be different primarily different in the encoding of author information. It’s still a list of authors, but the author type itself was expanded from a struct with three fixed fields to a dictionary that can hold arbitrary keys (usually just a single
key
entry).A good small example in the pijul codebase is GLMOA3PFDR7HHJ3QMVZBNNJ3CGZAF72AZ5UBNEQON37K5WFNZP6QC:
Note the
full_name
andname
fields under author.