aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart-vcs/src/downloader/mod.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-09 19:59:58 +0900
committernsfisis <nsfisis@gmail.com>2026-05-09 19:59:58 +0900
commit72b2e877c01e67ba7edd37e34ac2eadb7a1c62c4 (patch)
treeddccef3355d76f759b3cf43af0fcc3c8b79eaa6d /crates/mozart-vcs/src/downloader/mod.rs
parentf9671f2dcde92d5c037595d0d3f01396a8190970 (diff)
downloadphp-mozart-72b2e877c01e67ba7edd37e34ac2eadb7a1c62c4.tar.gz
php-mozart-72b2e877c01e67ba7edd37e34ac2eadb7a1c62c4.tar.zst
php-mozart-72b2e877c01e67ba7edd37e34ac2eadb7a1c62c4.zip
refactor(vcs): mirror Composer interfaces; rename get_local_changes
- Rename `local_changes` → `get_local_changes` to match Composer's `getLocalChanges` - Add `is_change_report`, `is_vcs_capable_downloader`, `is_dvcs_downloader` trait methods to replace PHP `instanceof` checks - Add `VersionParser` stub to keep `VersionGuesser::new` signature compatible with Composer's constructor - Add `ArrayDumper` in status.rs mirroring `Composer\Package\Dumper\ArrayDumper`; expand `build_package_config` to include all fields that `VersionGuesser` inspects
Diffstat (limited to 'crates/mozart-vcs/src/downloader/mod.rs')
-rw-r--r--crates/mozart-vcs/src/downloader/mod.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/crates/mozart-vcs/src/downloader/mod.rs b/crates/mozart-vcs/src/downloader/mod.rs
index 8948921..352f330 100644
--- a/crates/mozart-vcs/src/downloader/mod.rs
+++ b/crates/mozart-vcs/src/downloader/mod.rs
@@ -25,7 +25,7 @@ pub trait VcsDownloader {
/// Detect local changes in the working copy.
/// Returns `None` if clean, `Some(diff)` if modified.
/// Mirrors `Composer\Downloader\ChangeReportInterface::getLocalChanges`.
- fn local_changes(&self, target: &Path) -> Result<Option<String>>;
+ fn get_local_changes(&self, target: &Path) -> Result<Option<String>>;
/// Detect commits present locally but not on the tracking remote.
/// Returns `None` if there are no unpushed commits or the concept does
@@ -44,4 +44,13 @@ pub trait VcsDownloader {
/// Get commit log between two references.
fn commit_logs(&self, from: &str, to: &str, target: &Path) -> Result<String>;
+
+ /// instanceof ChangeReportInterface
+ fn is_change_report(&self) -> bool;
+
+ /// instanceof VcsCapableDownloaderInterface
+ fn is_vcs_capable_downloader(&self) -> bool;
+
+ /// instanceof DvcsDownloaderInterface
+ fn is_dvcs_downloader(&self) -> bool;
}