pub fn parse_diff_name_status(output: &str) -> Result<ChangeSet>Expand description
Parse git diff --name-status -z output
Format: status\0filename\0 or status\0old\0new\0 for renames
Status codes:
- A = added
- M = modified
- D = deleted
R<similarity>= renamed (e.g., R075)C<similarity>= copied- T = type change (treat as modified)
- U = unmerged (treat as modified)
- X = unknown (treat as modified)
See: https://git-scm.com/docs/git-diff#_diff_format
ยงErrors
Returns GitError::InvalidOutput when the diff stream is truncated or
otherwise malformed (missing filenames, rename metadata, or status codes).