diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-04 00:13:04 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-04 00:13:04 +0900 |
| commit | 16f8cf26db22c4fb1073b55d57d31110ea9773cc (patch) | |
| tree | 6e6b5d02c3099160ca0c5c0616f7e86f79f2d1d4 /crates/mozart-core/src/lib.rs | |
| parent | 837327901f28b229695c7cfd435a2c4f5fe2763d (diff) | |
| download | php-mozart-16f8cf26db22c4fb1073b55d57d31110ea9773cc.tar.gz php-mozart-16f8cf26db22c4fb1073b55d57d31110ea9773cc.tar.zst php-mozart-16f8cf26db22c4fb1073b55d57d31110ea9773cc.zip | |
fix(update): run full resolve under --lock to surface alias changes
Drop the content-hash-only short-circuit for `--lock` and route the
flag through the same updateMirrors flow Composer uses
(`UpdateCommand::execute` line 219). Locked packages are pinned at
their lock versions, but the resolver still runs and the installer
still emits the operation trace — including MarkAliasInstalled lines
for aliases the lock declares but installed.json hasn't recorded yet.
Three follow-on fixes the new flow needs:
- Re-attach `<lock-version> as <alias>` from `lock.aliases` when
building the mirrors-mode require list, so the resolver's alias
extractor materializes the alias entry. The bare `<version>` form
is required because `==<version>` fails Composer's normalize.
- Don't `continue` past Action::Skip in the install loop. Composer's
Transaction::calculateOperations emits MarkAliasInstalled even when
the target package is already at the right version, as long as the
alias is missing from installed.json.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/mozart-core/src/lib.rs')
0 files changed, 0 insertions, 0 deletions
