Parse "Atomic-Changes: HASH1, HASH2, ..." from a commit message.
(message: &str)
| 3561 | |
| 3562 | /// Parse "Atomic-Changes: HASH1, HASH2, ..." from a commit message. |
| 3563 | fn parse_atomic_changes_trailer(message: &str) -> Option<Vec<String>> { |
| 3564 | for line in message.lines() { |
| 3565 | let line = line.trim(); |
| 3566 | if let Some(rest) = line.strip_prefix("Atomic-Changes:") { |
| 3567 | let hashes: Vec<String> = rest |
| 3568 | .split(',') |
| 3569 | .map(|s| s.trim().to_string()) |
| 3570 | .filter(|s| !s.is_empty()) |
| 3571 | .collect(); |
| 3572 | if !hashes.is_empty() { |
| 3573 | return Some(hashes); |
| 3574 | } |
| 3575 | } |
| 3576 | } |
| 3577 | None |
| 3578 | } |
| 3579 | |
| 3580 | /// Parse a PR/MR number from a commit message. |
| 3581 | /// |