From 8aae17870a5ec2fdd9f0d4d61d33c792ff7b62b0 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 5 Jul 2026 18:09:25 +0900 Subject: fix(git-bitbucket-driver): match PHP exception/fallibility semantics for fallback paths VcsDriverInterface::get_source/get_dist were made fallible in the Rust port even though PHP's are infallible, forcing GitBitbucketDriver's fallback delegation to silently swallow errors via unwrap_or_default()/ok().flatten(). Make the trait infallible to match PHP, updating the mechanical Ok(...) wrapping in all implementors. Also narrow attempt_clone_fallback's cleanup to only trigger on RuntimeException, mirroring PHP's catch (\RuntimeException $e), using the same downcast pattern already used by has_composer_file for TransportException. --- crates/shirabe/src/repository/vcs_repository.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'crates/shirabe/src/repository/vcs_repository.rs') diff --git a/crates/shirabe/src/repository/vcs_repository.rs b/crates/shirabe/src/repository/vcs_repository.rs index 8d747c6..6a31c78 100644 --- a/crates/shirabe/src/repository/vcs_repository.rs +++ b/crates/shirabe/src/repository/vcs_repository.rs @@ -869,7 +869,7 @@ impl VcsRepository { ); if !data.contains_key("dist") { - let dist = driver.get_dist(identifier)?; + let dist = driver.get_dist(identifier); data.insert( "dist".to_string(), match dist { @@ -883,7 +883,7 @@ impl VcsRepository { ); } if !data.contains_key("source") { - let source = driver.get_source(identifier)?; + let source = driver.get_source(identifier); data.insert( "source".to_string(), PhpMixed::Array( -- cgit v1.3.1