aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-04 09:51:44 +0900
committernsfisis <nsfisis@gmail.com>2026-05-04 09:51:44 +0900
commitf7b87d6934ea05d35e3ee0576e7d82d3b67b001e (patch)
tree7081e89512fd657da4f674002733246b187737c6 /crates/mozart
parent74c188162886755c380a4696d8b684cb28687402 (diff)
downloadphp-mozart-f7b87d6934ea05d35e3ee0576e7d82d3b67b001e.tar.gz
php-mozart-f7b87d6934ea05d35e3ee0576e7d82d3b67b001e.tar.zst
php-mozart-f7b87d6934ea05d35e3ee0576e7d82d3b67b001e.zip
fix(resolver): normalize bare branch atoms to dev-NAME in root aliases
Composer's VersionParser::normalize maps `master`/`trunk`/`default` (with or without `dev-` prefix) to `dev-NAME`, not `9999999-dev`. Mozart was emitting the four-segment 9999999 form for these atoms in normalize_root_alias_atom, so a root require like `dev-master as 1.1.0` recorded its target as `9999999.9999999.9999999.9999999-dev` and never matched the pool's `dev-master` entry — the alias was silently dropped and transitive `^1.1` requires couldn't see the materialized 1.1.0 alias.
Diffstat (limited to 'crates/mozart')
-rw-r--r--crates/mozart/tests/installer.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/crates/mozart/tests/installer.rs b/crates/mozart/tests/installer.rs
index 955a1ad..729e9db 100644
--- a/crates/mozart/tests/installer.rs
+++ b/crates/mozart/tests/installer.rs
@@ -388,7 +388,7 @@ installer_fixture!(update_allow_list_removes_unused);
installer_fixture!(update_allow_list_require_new_replace);
installer_fixture!(update_allow_list_warns_non_existing_patterns);
installer_fixture!(update_allow_list_with_dependencies);
-installer_fixture!(update_allow_list_with_dependencies_alias, ignore);
+installer_fixture!(update_allow_list_with_dependencies_alias);
installer_fixture!(update_allow_list_with_dependencies_new_requirement);
installer_fixture!(update_allow_list_with_dependencies_require_new);
installer_fixture!(update_allow_list_with_dependencies_require_new_replace);