aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart/src/commands
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-03 22:26:55 +0900
committernsfisis <nsfisis@gmail.com>2026-05-03 22:26:55 +0900
commit2a680f571eae31737525ef96105e929ae420b061 (patch)
tree6297d7b76753de69e9934550a739c39459d8a681 /crates/mozart/src/commands
parent55e6f5367bf86d1dc6e99b7492d86c5208dd1f1c (diff)
downloadphp-mozart-2a680f571eae31737525ef96105e929ae420b061.tar.gz
php-mozart-2a680f571eae31737525ef96105e929ae420b061.tar.zst
php-mozart-2a680f571eae31737525ef96105e929ae420b061.zip
fix(resolver): strip inline #ref and gate alias trace on alias stability
Two related parity gaps surfaced by the `alias-with-reference` fixture: 1. A root require like `dev-main#abcd as 1.0.0` left the SAT-side constraint as `dev-main#abcd`, which no candidate matched, so resolution failed before the alias could be materialized. Mirror Composer's `extractAliases` regex (which captures only the constraint up to `#`) and `RootPackageLoader::extractReferences` (which records the hash separately): drop the trailing `#hex` from the resolver-side constraint and from the alias's left-hand side. Lockfile generation already pulls the reference back out of the raw require map for the post-resolve override. 2. `MarkAliasInstalled`'s trace line gated the reference suffix on the *target* package's stability, so a stable alias like `1.0.0` pointing at a dev-branch target rendered as `1.0.0 abcd`. Mirror `AliasPackage::getFullPrettyVersion`: the alias decides on its own whether to append the suffix based on its own normalized version, so a stable alias skips the suffix even when the target is dev.
Diffstat (limited to 'crates/mozart/src/commands')
0 files changed, 0 insertions, 0 deletions