aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart-class-map-generator/src/lib.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-03 12:32:10 +0900
committernsfisis <nsfisis@gmail.com>2026-05-03 12:32:10 +0900
commit2af684c6397001944c9d9aac20ca59677d6a9650 (patch)
tree054f40875ca547223c36f19e876269baadb1bf6f /crates/mozart-class-map-generator/src/lib.rs
parentab2772b8c85139df7d5e625ac5262d385e5ab4c0 (diff)
downloadphp-mozart-2af684c6397001944c9d9aac20ca59677d6a9650.tar.gz
php-mozart-2af684c6397001944c9d9aac20ca59677d6a9650.tar.zst
php-mozart-2af684c6397001944c9d9aac20ca59677d6a9650.zip
fix(install): emit MarkAliasUninstalled and fix dev-branch upgrade direction
Two pieces of Composer's update-trace machinery were missing: 1. VersionParser::isUpgrade in Composer\Package\Version (which overrides the upstream Semver one) substitutes dev-master / dev-trunk / dev-default with the 9999999-dev default-branch alias, then returns true whenever either side starts with `dev-`. Mozart's is_upgrade compared via the generic version order, so dev-master → dev-foo came out as Downgrading. Port the override. 2. Transaction::calculateOperations seeds removeAliasMap from the currently-installed AliasPackages and emits MarkAliasUninstalled for every entry not covered by the new lock. Mozart never emitted those, so updating away from a branch-aliased package produced no trace line for the alias retirement. Walk installed.json's `extra.branch-alias` map, compare against the new lock's aliases[] block, and emit a MarkAliasUninstalled PackageOperation (a new variant on the executor surface — no filesystem effects, only the trace recorder cares). Unblocks update_alias, update_alias_lock2, and update_no_dev_still_resolves_dev installer fixtures. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/mozart-class-map-generator/src/lib.rs')
0 files changed, 0 insertions, 0 deletions