diff options
Diffstat (limited to 'crates/shirabe/src/package/version/version_guesser.rs')
| -rw-r--r-- | crates/shirabe/src/package/version/version_guesser.rs | 65 |
1 files changed, 23 insertions, 42 deletions
diff --git a/crates/shirabe/src/package/version/version_guesser.rs b/crates/shirabe/src/package/version/version_guesser.rs index 562d141..4eb3864 100644 --- a/crates/shirabe/src/package/version/version_guesser.rs +++ b/crates/shirabe/src/package/version/version_guesser.rs @@ -130,16 +130,12 @@ impl VersionGuesser { if "-dev" == substr(version_data.version.as_deref().unwrap_or(""), -4, None) && Preg::is_match(r"{\.9{7}}", version_data.version.as_deref().unwrap_or("")) - .unwrap_or(false) { - version_data.pretty_version = Some( - Preg::replace( - r"{(\.9{7})+}", - ".x", - version_data.version.as_deref().unwrap_or(""), - ) - .unwrap_or_default(), - ); + version_data.pretty_version = Some(Preg::replace( + r"{(\.9{7})+}", + ".x", + version_data.version.as_deref().unwrap_or(""), + )); } let feature_non_empty = version_data @@ -158,16 +154,12 @@ impl VersionGuesser { r"{\.9{7}}", version_data.feature_version.as_deref().unwrap_or(""), ) - .unwrap_or(false) { - version_data.feature_pretty_version = Some( - Preg::replace( - r"{(\.9{7})+}", - ".x", - version_data.feature_version.as_deref().unwrap_or(""), - ) - .unwrap_or_default(), - ); + version_data.feature_pretty_version = Some(Preg::replace( + r"{(\.9{7})+}", + ".x", + version_data.feature_version.as_deref().unwrap_or(""), + )); } version_data @@ -210,19 +202,13 @@ impl VersionGuesser { for branch in self.process.borrow().split_lines(&output) { if !branch.is_empty() { let mut m: IndexMap<CaptureKey, String> = IndexMap::new(); - if Preg::is_match3(r"{^(?:\* ) *(\(no branch\)|\(detached from \S+\)|\(HEAD detached at \S+\)|\S+) *([a-f0-9]+) .*$}", - &branch, - Some(&mut m),) - .unwrap_or(false) - { - let g1 = m - .get(&CaptureKey::ByIndex(1)) - .cloned() - .unwrap_or_default(); - let g2 = m - .get(&CaptureKey::ByIndex(2)) - .cloned() - .unwrap_or_default(); + if Preg::is_match3( + r"{^(?:\* ) *(\(no branch\)|\(detached from \S+\)|\(HEAD detached at \S+\)|\S+) *([a-f0-9]+) .*$}", + &branch, + Some(&mut m), + ) { + let g1 = m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default(); + let g2 = m.get(&CaptureKey::ByIndex(2)).cloned().unwrap_or_default(); if g1 == "(no branch)" || strpos(&g1, "(detached ") == Some(0) || strpos(&g1, "(HEAD detached at") == Some(0) @@ -243,16 +229,14 @@ impl VersionGuesser { if !branch.is_empty() && { let mut tmp: IndexMap<CaptureKey, String> = IndexMap::new(); - !Preg::is_match3(r"{^ *.+/HEAD }", &branch, Some(&mut tmp)).unwrap_or(false) + !Preg::is_match3(r"{^ *.+/HEAD }", &branch, Some(&mut tmp)) } { let mut m: IndexMap<CaptureKey, String> = IndexMap::new(); if Preg::is_match3( r"{^(?:\* )? *((?:remotes/(?:origin|upstream)/)?[^\s/]+) *([a-f0-9]+) .*$}", &branch, Some(&mut m), - ) - .unwrap_or(false) - { + ) { branches.push(m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default()); } } @@ -498,8 +482,7 @@ impl VersionGuesser { ) .is_some(); if !has_branch_alias || has_self_version { - let branch = - Preg::replace(r"{^dev-}", "", version.as_deref().unwrap_or("")).unwrap_or_default(); + let branch = Preg::replace(r"{^dev-}", "", version.as_deref().unwrap_or("")); let mut length: i64 = PHP_INT_MAX; // return directly, if branch is configured to be non-feature branch @@ -532,8 +515,7 @@ impl VersionGuesser { let mut last_index: i64 = -1; for (index, candidate) in branches.iter().enumerate() { let index = index as i64; - let candidate_version = - Preg::replace(r"{^remotes/\S+/}", "", candidate).unwrap_or_default(); + let candidate_version = Preg::replace(r"{^remotes/\S+/}", "", candidate); // do not compare against itself or other feature branches if candidate == &branch @@ -613,7 +595,6 @@ impl VersionGuesser { ), branch_name.unwrap_or(""), ) - .unwrap_or(false) } /// @return array{version: string|null, commit: '', pretty_version: string|null} @@ -700,7 +681,7 @@ impl VersionGuesser { trunk_path, branches_path, tags_path, ); - if let Some(matches) = Preg::is_match_with_indexed_captures(&url_pattern, &output)? { + if let Some(matches) = Preg::is_match_with_indexed_captures(&url_pattern, &output) { let m1 = matches.get(1).cloned().unwrap_or_default(); let m2 = matches.get(2).cloned(); let m3 = matches.get(3).cloned(); @@ -758,7 +739,7 @@ impl VersionGuesser { } }; let mut m: IndexMap<CaptureKey, String> = IndexMap::new(); - if Preg::is_match3(r"{^(\d+(?:\.\d+)*)-dev$}i", &version, Some(&mut m)).unwrap_or(false) { + if Preg::is_match3(r"{^(\d+(?:\.\d+)*)-dev$}i", &version, Some(&mut m)) { return Ok(format!( "{}.x-dev", m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default() |
