From 2bb4f62d0a7b98ea4b3195fbfefdd7b5f0aff19c Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 3 May 2026 20:19:40 +0900 Subject: fix(install): emit reference-suffixed removal and default-branch alias trace Composer's UninstallOperation::show renders the package's getFullPrettyVersion(), which for dev packages includes the (truncated) source reference. Mozart was passing only the bare pretty version, so removal lines for dev packages dropped the ref. The MarkAliasUninstalled detection also missed the synthetic 9999999-dev alias that ArrayLoader::getBranchAlias surfaces for default-branch dev packages without an explicit branch-alias. Those aliases were never being retired alongside their targets. The new lock's implicit branch-aliases (from extra.branch-alias and the default-branch fallback) now count as "still present", so packages that remain in the lock don't trigger spurious uninstall traces. Co-Authored-By: Claude Opus 4.7 (1M context) --- crates/mozart/tests/installer.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'crates/mozart/tests') diff --git a/crates/mozart/tests/installer.rs b/crates/mozart/tests/installer.rs index ec89e39..f6324b6 100644 --- a/crates/mozart/tests/installer.rs +++ b/crates/mozart/tests/installer.rs @@ -382,7 +382,7 @@ installer_fixture!(update_changes_url, ignore); installer_fixture!(update_dev_ignores_providers); installer_fixture!(update_dev_packages_updates_repo_url); installer_fixture!(update_dev_to_new_ref_picks_up_changes); -installer_fixture!(update_downgrades_unstable_packages, ignore); +installer_fixture!(update_downgrades_unstable_packages); installer_fixture!(update_ignore_platform_package_requirement_list); installer_fixture!(update_ignore_platform_package_requirement_list_upper_bounds); installer_fixture!(update_ignore_platform_package_requirement_wildcard); @@ -412,8 +412,8 @@ installer_fixture!( ); installer_fixture!(update_syncs_outdated, ignore); installer_fixture!(update_to_empty_from_blank); -installer_fixture!(update_to_empty_from_locked, ignore); +installer_fixture!(update_to_empty_from_locked); installer_fixture!(update_with_all_dependencies); installer_fixture!(update_without_lock); -installer_fixture!(updating_dev_from_lock_removes_old_deps, ignore); +installer_fixture!(updating_dev_from_lock_removes_old_deps); installer_fixture!(updating_dev_updates_url_and_reference); -- cgit v1.3.1