Skip to content

Commit 9bd4433

Browse files
committed
refactor: git version parsing
1 parent 6ad9387 commit 9bd4433

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

src/stupid/version.rs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,14 @@ impl FromStr for StupidVersion {
2525
type Err = anyhow::Error;
2626

2727
fn from_str(s: &str) -> Result<Self, Self::Err> {
28-
let mut ver_str = s
28+
let ver_str = s
2929
.strip_prefix("git version ")
3030
.ok_or_else(|| anyhow!("failed to parse git version"))?;
3131

32-
if let Some((triplet, _extra)) = ver_str.split_once(' ') {
33-
ver_str = triplet;
34-
};
32+
let ver_str = ver_str
33+
.split_once(' ')
34+
.map(|(ver_str, _supplement)| ver_str)
35+
.unwrap_or(ver_str);
3536

3637
let (dotted, extra) = if let Some((dotted, extra)) = ver_str.split_once('-') {
3738
(dotted, Some(extra.to_string()))
@@ -97,12 +98,8 @@ mod tests {
9798
),
9899
] {
99100
let version_str = format!("git version {version_str}");
100-
assert_eq!(
101-
version,
102-
version_str
103-
.parse::<StupidVersion>()
104-
.unwrap_or_else(|_| panic!("{}", version_str))
105-
);
101+
let parsed_version = version_str.parse::<StupidVersion>().expect(&version_str);
102+
assert_eq!(version, parsed_version);
106103
}
107104
}
108105

0 commit comments

Comments
 (0)