aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/repository/vcs/hg_driver.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-20 08:33:49 +0900
committernsfisis <nsfisis@gmail.com>2026-05-20 08:33:57 +0900
commitf31b101ce1e921a026ba234b1f0a83b0392bc118 (patch)
treeb7ac2aa84d71ebd162cc21aeab0240e7e0544988 /crates/shirabe/src/repository/vcs/hg_driver.rs
parent5e31fa33c3b5cf726a57a063b8e7a070869250fe (diff)
downloadphp-shirabe-f31b101ce1e921a026ba234b1f0a83b0392bc118.tar.gz
php-shirabe-f31b101ce1e921a026ba234b1f0a83b0392bc118.tar.zst
php-shirabe-f31b101ce1e921a026ba234b1f0a83b0392bc118.zip
fix(compile): fix all remaining compile errors
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/repository/vcs/hg_driver.rs')
-rw-r--r--crates/shirabe/src/repository/vcs/hg_driver.rs57
1 files changed, 40 insertions, 17 deletions
diff --git a/crates/shirabe/src/repository/vcs/hg_driver.rs b/crates/shirabe/src/repository/vcs/hg_driver.rs
index f7c0c16..eb1be8f 100644
--- a/crates/shirabe/src/repository/vcs/hg_driver.rs
+++ b/crates/shirabe/src/repository/vcs/hg_driver.rs
@@ -10,7 +10,7 @@ use crate::util::hg::Hg as HgUtils;
use crate::util::url::Url;
use chrono::{DateTime, Utc};
use indexmap::IndexMap;
-use shirabe_external_packages::composer::pcre::preg::Preg;
+use shirabe_external_packages::composer::pcre::preg::{CaptureKey, Preg};
use shirabe_php_shim::{RuntimeException, dirname, is_dir, is_writable};
#[derive(Debug)]
@@ -43,10 +43,10 @@ impl HgDriver {
}
let sanitized =
- Preg::replace(r"{[^a-z0-9]}i", "-", Url::sanitize(self.inner.url.clone()));
+ Preg::replace(r"{[^a-z0-9]}i", "-", &Url::sanitize(self.inner.url.clone()))?;
self.repo_dir = format!("{}/{}/", cache_vcs_dir, sanitized);
- let fs = Filesystem::new(None);
+ let mut fs = Filesystem::new(None);
fs.ensure_directory_exists(&cache_vcs_dir)?;
if !is_writable(&dirname(&self.repo_dir)) {
@@ -84,10 +84,10 @@ impl HgDriver {
Some(self.repo_dir.clone()),
) != 0
{
- self.inner.io.write_error3(format!("<error>Failed to update {}, package information from this repository may be outdated ({})</error>", self.inner.url, self.inner.process.borrow().get_error_output()).into(), true, crate::io::io_interface::NORMAL);
+ self.inner.io.write_error3(&format!("<error>Failed to update {}, package information from this repository may be outdated ({})</error>", self.inner.url, self.inner.process.borrow().get_error_output()), true, crate::io::io_interface::NORMAL);
}
} else {
- let fs2 = Filesystem::new(None);
+ let mut fs2 = Filesystem::new(None);
fs2.remove_directory(&self.repo_dir)?;
let repo_dir = self.repo_dir.clone();
@@ -222,10 +222,13 @@ impl HgDriver {
);
for tag in self.inner.process.borrow().split_lines(&output) {
if !tag.is_empty() {
- if let Some(m) = Preg::match_(r"^([^\s]+)\s+\d+:(.*)$", &tag) {
+ let mut m: IndexMap<CaptureKey, String> = IndexMap::new();
+ if Preg::match_strict_groups3(r"^([^\s]+)\s+\d+:(.*)$", &tag, Some(&mut m))
+ .unwrap_or(false)
+ {
tags.insert(
- m.get("1").cloned().unwrap_or_default(),
- m.get("2").cloned().unwrap_or_default(),
+ m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default(),
+ m.get(&CaptureKey::ByIndex(2)).cloned().unwrap_or_default(),
);
}
}
@@ -251,10 +254,20 @@ impl HgDriver {
);
for branch in self.inner.process.borrow().split_lines(&output) {
if !branch.is_empty() {
- if let Some(m) = Preg::match_(r"^([^\s]+)\s+\d+:([a-f0-9]+)", &branch) {
- let name = m.get("1").cloned().unwrap_or_default();
+ let mut m: IndexMap<CaptureKey, String> = IndexMap::new();
+ if Preg::match_strict_groups3(
+ r"^([^\s]+)\s+\d+:([a-f0-9]+)",
+ &branch,
+ Some(&mut m),
+ )
+ .unwrap_or(false)
+ {
+ let name = m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default();
if !name.starts_with('-') {
- branches.insert(name, m.get("2").cloned().unwrap_or_default());
+ branches.insert(
+ name,
+ m.get(&CaptureKey::ByIndex(2)).cloned().unwrap_or_default(),
+ );
}
}
}
@@ -268,10 +281,20 @@ impl HgDriver {
);
for branch in self.inner.process.borrow().split_lines(&output) {
if !branch.is_empty() {
- if let Some(m) = Preg::match_(r"^(?:[\s*]*)([^\s]+)\s+\d+:(.*)$", &branch) {
- let name = m.get("1").cloned().unwrap_or_default();
+ let mut m: IndexMap<CaptureKey, String> = IndexMap::new();
+ if Preg::match_strict_groups3(
+ r"^(?:[\s*]*)([^\s]+)\s+\d+:(.*)$",
+ &branch,
+ Some(&mut m),
+ )
+ .unwrap_or(false)
+ {
+ let name = m.get(&CaptureKey::ByIndex(1)).cloned().unwrap_or_default();
if !name.starts_with('-') {
- bookmarks.insert(name, m.get("2").cloned().unwrap_or_default());
+ bookmarks.insert(
+ name,
+ m.get(&CaptureKey::ByIndex(2)).cloned().unwrap_or_default(),
+ );
}
}
}
@@ -301,7 +324,7 @@ impl HgDriver {
return false;
}
- let process = crate::util::process_executor::ProcessExecutor::new(io);
+ let mut process = crate::util::process_executor::ProcessExecutor::new(io);
let mut output = String::new();
if process.execute_args(
&["hg", "summary"].map(|s| s.to_string()).to_vec(),
@@ -317,14 +340,14 @@ impl HgDriver {
return false;
}
- let process = crate::util::process_executor::ProcessExecutor::new(io);
+ let mut process = crate::util::process_executor::ProcessExecutor::new(io);
let mut ignored = String::new();
let exit = process.execute_args(
&["hg", "identify", "--", url]
.map(|s| s.to_string())
.to_vec(),
&mut ignored,
- None,
+ (),
);
exit == 0