aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/downloader
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-07-25 16:16:33 +0900
committernsfisis <nsfisis@gmail.com>2026-07-25 16:17:10 +0900
commit432472808051cb4f1bb9517b858dbc810aaa5a63 (patch)
tree4c58b97942853ea2c3f58368203fa93187746cf8 /crates/shirabe/src/downloader
parentd4608662f28b9a5135986b1702afe3199957eabe (diff)
downloadphp-shirabe-432472808051cb4f1bb9517b858dbc810aaa5a63.tar.gz
php-shirabe-432472808051cb4f1bb9517b858dbc810aaa5a63.tar.zst
php-shirabe-432472808051cb4f1bb9517b858dbc810aaa5a63.zip
refactor: replace redundant clones with moves
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/downloader')
-rw-r--r--crates/shirabe/src/downloader/download_manager.rs5
-rw-r--r--crates/shirabe/src/downloader/file_downloader.rs18
-rw-r--r--crates/shirabe/src/downloader/fossil_downloader.rs10
-rw-r--r--crates/shirabe/src/downloader/git_downloader.rs12
-rw-r--r--crates/shirabe/src/downloader/hg_downloader.rs12
-rw-r--r--crates/shirabe/src/downloader/path_downloader.rs6
-rw-r--r--crates/shirabe/src/downloader/perforce_downloader.rs4
-rw-r--r--crates/shirabe/src/downloader/vcs_downloader.rs12
8 files changed, 33 insertions, 46 deletions
diff --git a/crates/shirabe/src/downloader/download_manager.rs b/crates/shirabe/src/downloader/download_manager.rs
index 7ecdfd96..2aa9c74e 100644
--- a/crates/shirabe/src/downloader/download_manager.rs
+++ b/crates/shirabe/src/downloader/download_manager.rs
@@ -151,7 +151,7 @@ impl DownloadManager {
"Downloader \"{}\" is a {} type downloader and can not be used to download {} for package {}",
shirabe_php_shim::get_class_obj(&*downloader.borrow()),
downloader_installation_source,
- installation_source.clone().unwrap_or_default(),
+ installation_source.unwrap_or_default(),
package,
),
code: 0,
@@ -521,8 +521,7 @@ impl DownloadManager {
// reverse sources in case dist is the preferred source for this package
if !self.prefer_source
- && (self.prefer_dist
- || "dist" == self.resolve_package_install_preference(package.clone()))
+ && (self.prefer_dist || "dist" == self.resolve_package_install_preference(package))
{
sources = array_reverse(&sources, false);
}
diff --git a/crates/shirabe/src/downloader/file_downloader.rs b/crates/shirabe/src/downloader/file_downloader.rs
index aaa3995a..bb5c9705 100644
--- a/crates/shirabe/src/downloader/file_downloader.rs
+++ b/crates/shirabe/src/downloader/file_downloader.rs
@@ -224,7 +224,7 @@ impl DownloaderInterface for FileDownloader {
// TODO(plugin): dispatch PreFileDownloadEvent and apply its custom cache key / processed url.
urls[0] = url.clone();
- let checksum = package.get_dist_sha1_checksum().map(|s| s.to_string());
+ let checksum = package.get_dist_sha1_checksum();
let cache_key = url.cache_key.clone();
// use from cache if it is present and has a valid checksum or we have no checksum to check against
@@ -263,7 +263,7 @@ impl DownloaderInterface for FileDownloader {
self.last_cache_writes
.lock()
.unwrap()
- .insert(package.get_name().to_string(), cache_key.clone());
+ .insert(package.get_name(), cache_key.clone());
}
} else {
if output {
@@ -297,15 +297,15 @@ impl DownloaderInterface for FileDownloader {
DOWNLOAD_METADATA
.lock()
.unwrap()
- .insert(package.get_name().to_string(), file_size);
+ .insert(package.get_name(), file_size);
if Platform::get_env("GITHUB_ACTIONS").is_some()
&& Platform::get_env("COMPOSER_TESTS_ARE_RUNNING").is_none()
{
- RESPONSE_HEADERS.lock().unwrap().insert(
- package.get_name().to_string(),
- response.get_headers().clone(),
- );
+ RESPONSE_HEADERS
+ .lock()
+ .unwrap()
+ .insert(package.get_name(), response.get_headers().clone());
}
if let Some(cache) = self.cache.as_ref()
@@ -314,7 +314,7 @@ impl DownloaderInterface for FileDownloader {
self.last_cache_writes
.lock()
.unwrap()
- .insert(package.get_name().to_string(), cache_key.clone());
+ .insert(package.get_name(), cache_key.clone());
cache.borrow_mut().copy_from(&cache_key, &file_name);
}
@@ -479,7 +479,7 @@ impl DownloaderInterface for FileDownloader {
path.to_string(),
format!("{}/{}", vendor_dir, first_segment),
format!("{}/composer/", vendor_dir),
- vendor_dir.clone(),
+ vendor_dir,
];
if let Some(paths) = self
diff --git a/crates/shirabe/src/downloader/fossil_downloader.rs b/crates/shirabe/src/downloader/fossil_downloader.rs
index 9442e87c..2f6df9a4 100644
--- a/crates/shirabe/src/downloader/fossil_downloader.rs
+++ b/crates/shirabe/src/downloader/fossil_downloader.rs
@@ -138,10 +138,7 @@ impl VcsDownloader for FossilDownloader {
"fossil".to_string(),
"update".to_string(),
"--".to_string(),
- package
- .get_source_reference()
- .unwrap_or_default()
- .to_string(),
+ package.get_source_reference().unwrap_or_default(),
],
real_path,
&mut output,
@@ -190,10 +187,7 @@ impl VcsDownloader for FossilDownloader {
"fossil".to_string(),
"up".to_string(),
"--".to_string(),
- target
- .get_source_reference()
- .unwrap_or_default()
- .to_string(),
+ target.get_source_reference().unwrap_or_default(),
],
real_path,
&mut output,
diff --git a/crates/shirabe/src/downloader/git_downloader.rs b/crates/shirabe/src/downloader/git_downloader.rs
index eaedc453..c2599d2b 100644
--- a/crates/shirabe/src/downloader/git_downloader.rs
+++ b/crates/shirabe/src/downloader/git_downloader.rs
@@ -426,13 +426,13 @@ impl GitDownloader {
}
let mut command1: Vec<String> = vec!["git".to_string(), "checkout".to_string()];
- command1.extend(force.clone());
+ command1.extend(force);
command1.extend(vec![git_ref.clone(), "--".to_string()]);
let command2 = vec![
"git".to_string(),
"reset".to_string(),
"--hard".to_string(),
- git_ref.clone(),
+ git_ref,
"--".to_string(),
];
{
@@ -827,7 +827,7 @@ impl VcsDownloader for GitDownloader {
io_interface::NORMAL,
);
self.inner.io.write_error3(
- &format!(" Cloning to cache at {}", cache_path.clone()),
+ &format!(" Cloning to cache at {}", cache_path),
true,
io_interface::DEBUG,
);
@@ -909,7 +909,7 @@ impl VcsDownloader for GitDownloader {
"git".to_string(),
"clone".to_string(),
"--no-checkout".to_string(),
- cache_path.clone(),
+ cache_path,
path.clone(),
];
base.extend(clone_flags);
@@ -1054,7 +1054,7 @@ impl VcsDownloader for GitDownloader {
.unwrap_or(false);
if has_cached {
msg = format!("Checking out {} from cache", self.get_short_hash(&r#ref));
- remote_url = cache_path.clone();
+ remote_url = cache_path;
} else {
msg = format!("Checking out {}", self.get_short_hash(&r#ref));
remote_url = "%url%".to_string();
@@ -1092,7 +1092,7 @@ impl VcsDownloader for GitDownloader {
"set-url".to_string(),
"composer".to_string(),
"--".to_string(),
- remote_url.clone(),
+ remote_url,
],
vec![
"git".to_string(),
diff --git a/crates/shirabe/src/downloader/hg_downloader.rs b/crates/shirabe/src/downloader/hg_downloader.rs
index 98ba4174..1feecd3e 100644
--- a/crates/shirabe/src/downloader/hg_downloader.rs
+++ b/crates/shirabe/src/downloader/hg_downloader.rs
@@ -100,10 +100,7 @@ impl VcsDownloader for HgDownloader {
"hg".to_string(),
"up".to_string(),
"--".to_string(),
- package
- .get_source_reference()
- .unwrap_or_default()
- .to_string(),
+ package.get_source_reference().unwrap_or_default(),
];
let mut ignored_output = String::new();
if self.inner.process.borrow_mut().execute_args(
@@ -139,10 +136,7 @@ impl VcsDownloader for HgDownloader {
self.inner.process.clone(),
);
- let ref_ = target
- .get_source_reference()
- .unwrap_or_default()
- .to_string();
+ let ref_ = target.get_source_reference().unwrap_or_default();
self.inner.io.write_error(&format!(
" Updating to {}",
target.get_source_reference().unwrap_or_default()
@@ -163,7 +157,7 @@ impl VcsDownloader for HgDownloader {
};
hg_utils.run_command(pull_command, url.to_string(), Some(path.to_string()));
- let ref_clone = ref_.clone();
+ let ref_clone = ref_;
let up_command = move |_url: String| -> Vec<String> {
vec![
"hg".to_string(),
diff --git a/crates/shirabe/src/downloader/path_downloader.rs b/crates/shirabe/src/downloader/path_downloader.rs
index d6c5fee7..1f5498ad 100644
--- a/crates/shirabe/src/downloader/path_downloader.rs
+++ b/crates/shirabe/src/downloader/path_downloader.rs
@@ -64,12 +64,12 @@ impl PathDownloader {
let mut guesser = VersionGuesser::new(
self.inner.config.clone(),
self.inner.process.clone(),
- parser.clone(),
+ parser,
Some(self.inner.io.borrow().clone()),
);
let dumper = ArrayDumper::new();
- let package_config = dumper.dump(package.clone());
+ let package_config = dumper.dump(package);
let package_version = guesser.guess_version(&package_config, &path);
if let Ok(Some(version)) = package_version {
return version.commit;
@@ -332,7 +332,7 @@ impl DownloaderInterface for PathDownloader {
self.inner.io.borrow().write_error3(
&format!(
" - {}{}",
- InstallOperation::format(package.clone(), false),
+ InstallOperation::format(package, false),
appendix
),
true,
diff --git a/crates/shirabe/src/downloader/perforce_downloader.rs b/crates/shirabe/src/downloader/perforce_downloader.rs
index 2bbf9b72..5f272fd5 100644
--- a/crates/shirabe/src/downloader/perforce_downloader.rs
+++ b/crates/shirabe/src/downloader/perforce_downloader.rs
@@ -116,7 +116,7 @@ impl VcsDownloader for PerforceDownloader {
path: &str,
url: &str,
) -> anyhow::Result<Option<PhpMixed>> {
- let source_ref = package.get_source_reference().map(|s| s.to_string());
+ let source_ref = package.get_source_reference();
let label = self.get_label_from_source_reference(source_ref.clone().unwrap_or_default());
self.inner.io.write_error(&format!(
@@ -127,7 +127,7 @@ impl VcsDownloader for PerforceDownloader {
{
let mut perforce = self.perforce.borrow_mut();
let perforce = perforce.as_mut().unwrap();
- perforce.set_stream(&source_ref.clone().unwrap_or_default());
+ perforce.set_stream(&source_ref.unwrap_or_default());
perforce.p4_login();
perforce.write_p4_client_spec();
perforce.connect_client();
diff --git a/crates/shirabe/src/downloader/vcs_downloader.rs b/crates/shirabe/src/downloader/vcs_downloader.rs
index 26394341..45ca0e3a 100644
--- a/crates/shirabe/src/downloader/vcs_downloader.rs
+++ b/crates/shirabe/src/downloader/vcs_downloader.rs
@@ -57,14 +57,14 @@ impl VcsDownloaderBase {
let mut guesser = VersionGuesser::new(
self.config.clone(),
self.process.clone(),
- parser.clone(),
+ parser,
Some(self.io.clone()),
);
let dumper = ArrayDumper::new();
- let package_config = dumper.dump(package.clone());
+ let package_config = dumper.dump(package);
if let Ok(Some(package_version)) = guesser.guess_version(&package_config, path) {
- return package_version.commit.clone();
+ return package_version.commit;
}
None
@@ -415,15 +415,15 @@ pub trait VcsDownloader:
let guesser = VersionGuesser::new(
self.config().clone(),
self.process().clone(),
- parser.clone(),
+ parser,
Some(self.io().clone()),
);
let dumper = ArrayDumper::new();
- let package_config = dumper.dump(package.clone());
+ let package_config = dumper.dump(package);
let mut guesser = guesser;
if let Ok(Some(package_version)) = guesser.guess_version(&package_config, path) {
- return package_version.commit.clone();
+ return package_version.commit;
}
None