diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-28 22:43:11 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-28 22:43:43 +0900 |
| commit | eea4efe87e455742ec17881ee93d8095925e8516 (patch) | |
| tree | 6d242f4fdd0bf32f0494a6fbbd62bce9ed6e1dc7 /crates/shirabe/src/downloader | |
| parent | cc5d73c05a0abca2eebcc8a6afa0b1543ee49850 (diff) | |
| download | php-shirabe-eea4efe87e455742ec17881ee93d8095925e8516.tar.gz php-shirabe-eea4efe87e455742ec17881ee93d8095925e8516.tar.zst php-shirabe-eea4efe87e455742ec17881ee93d8095925e8516.zip | |
refactor(repository): introduce Rc<RefCell<_>> handles for repositories
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/downloader')
| -rw-r--r-- | crates/shirabe/src/downloader/perforce_downloader.rs | 7 | ||||
| -rw-r--r-- | crates/shirabe/src/downloader/svn_downloader.rs | 6 |
2 files changed, 6 insertions, 7 deletions
diff --git a/crates/shirabe/src/downloader/perforce_downloader.rs b/crates/shirabe/src/downloader/perforce_downloader.rs index 4a54511..fcea57c 100644 --- a/crates/shirabe/src/downloader/perforce_downloader.rs +++ b/crates/shirabe/src/downloader/perforce_downloader.rs @@ -90,10 +90,10 @@ impl PerforceDownloader { return; } - let package_rc = package.as_rc().borrow(); - let repository = package_rc.as_package_interface().get_repository(); + let repository = package.get_repository(); let repo_config: Option<IndexMap<String, PhpMixed>> = if let Some(repo) = repository { - if let Some(vcs_repo) = repo.as_any().downcast_ref::<VcsRepository>() { + let repo_ref = repo.borrow(); + if let Some(vcs_repo) = repo_ref.as_any().downcast_ref::<VcsRepository>() { Some(self.get_repo_config(vcs_repo)) } else { None @@ -101,7 +101,6 @@ impl PerforceDownloader { } else { None }; - drop(package_rc); self.perforce = Some(Perforce::create( repo_config.unwrap_or_default(), url, diff --git a/crates/shirabe/src/downloader/svn_downloader.rs b/crates/shirabe/src/downloader/svn_downloader.rs index 9f5d2ed..98456a4 100644 --- a/crates/shirabe/src/downloader/svn_downloader.rs +++ b/crates/shirabe/src/downloader/svn_downloader.rs @@ -70,10 +70,10 @@ impl SvnDownloader { let r#ref = package.get_source_reference(); { - let package_ref = package.as_rc().borrow(); - let repo = package_ref.as_package_interface().get_repository(); + let repo = package.get_repository(); if let Some(repo) = repo { - if let Some(vcs_repo) = repo.as_any().downcast_ref::<VcsRepository>() { + let repo_ref = repo.borrow(); + if let Some(vcs_repo) = repo_ref.as_any().downcast_ref::<VcsRepository>() { let repo_config = vcs_repo.get_repo_config(); if repo_config.contains_key("svn-cache-credentials") { if let Some(val) = repo_config |
