pub fn parse_raw_changes(output: &[u8]) -> Result<Vec<Change>, String>Expand description
What:
Read the NUL-separated raw output of git diff-tree -r -z --raw --no-renames --no-abbrev.
Why:
Each change is a header (:<old mode> <new mode> <old oid> <new oid> <status>) followed by its path.
Output that does not follow that shape is a failure, never a partial reading.
In TS you’d write (pseudocode):
function parseRawChanges(output: Uint8Array): Change[]; // throws