pub fn parse_diff(diff: &str) -> Vec<DiffHunk>
Parse a unified diff into hunks with file paths and changed line numbers.