From 62c827a7b858796a7f51de3eeff1d6c56c3afe7b Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 17 May 2026 16:21:20 +0900 Subject: fix(compile): align ChangeReportInterface::get_local_changes return type --- crates/shirabe/src/command/status_command.rs | 2 +- crates/shirabe/src/downloader/change_report_interface.rs | 4 +++- crates/shirabe/src/downloader/vcs_downloader.rs | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/crates/shirabe/src/command/status_command.rs b/crates/shirabe/src/command/status_command.rs index e4f25cd..15749ae 100644 --- a/crates/shirabe/src/command/status_command.rs +++ b/crates/shirabe/src/command/status_command.rs @@ -112,7 +112,7 @@ impl StatusCommand { } if let Some(changes) = - change_reporter.get_local_changes(package.as_ref(), target_dir.clone()) + change_reporter.get_local_changes(package.as_ref(), &target_dir)? { errors.insert(target_dir.clone(), changes); } diff --git a/crates/shirabe/src/downloader/change_report_interface.rs b/crates/shirabe/src/downloader/change_report_interface.rs index f0ca8e0..1b1c813 100644 --- a/crates/shirabe/src/downloader/change_report_interface.rs +++ b/crates/shirabe/src/downloader/change_report_interface.rs @@ -1,7 +1,9 @@ //! ref: composer/src/Composer/Downloader/ChangeReportInterface.php +use anyhow::Result; + use crate::package::package_interface::PackageInterface; pub trait ChangeReportInterface { - fn get_local_changes(&self, package: &dyn PackageInterface, path: &str) -> Option; + fn get_local_changes(&self, package: &dyn PackageInterface, path: &str) -> Result>; } diff --git a/crates/shirabe/src/downloader/vcs_downloader.rs b/crates/shirabe/src/downloader/vcs_downloader.rs index 05593e5..5e19016 100644 --- a/crates/shirabe/src/downloader/vcs_downloader.rs +++ b/crates/shirabe/src/downloader/vcs_downloader.rs @@ -457,7 +457,7 @@ pub trait VcsDownloader: _update: bool, ) -> Result> { // the default implementation just fails if there are any changes, override in child classes to provide stash-ability - if self.get_local_changes(package, path.to_string()).is_some() { + if self.get_local_changes(package, path)?.is_some() { return Err(RuntimeException { message: format!("Source directory {} has uncommitted changes.", path), code: 0, -- cgit v1.3.1