diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-01 22:02:32 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-01 22:02:32 +0900 |
| commit | 8a87adf120d5057b06d0474b293fab079e1ce967 (patch) | |
| tree | 9dc4327244216e9bddf8aace63405e66f1b7d0fb /crates/mozart-core | |
| parent | baa40325659a44938ad2e9ad6525ea3b3aaacfe2 (diff) | |
| download | php-mozart-8a87adf120d5057b06d0474b293fab079e1ce967.tar.gz php-mozart-8a87adf120d5057b06d0474b293fab079e1ce967.tar.zst php-mozart-8a87adf120d5057b06d0474b293fab079e1ce967.zip | |
fix(install): preserve LockedPackage extra_fields in installed.json
Composer's InstalledFilesystemRepository::write() dumps the full
package via ArrayDumper, so flags like `abandoned` and
`default-branch` (which Mozart parks in LockedPackage::extra_fields)
should round-trip from composer.lock into vendor/composer/installed.json.
locked_to_installed_entry was zeroing the destination's extra_fields,
silently stripping these flags every time installed.json got
rewritten.
Carry the extra_fields map across verbatim. The
install-forces-reinstall-if-abandon-changes installer fixture is
already exit-0 green at the harness layer; this aligns the actual
end-state with Composer's EXPECT-INSTALLED so a future EXPECT-INSTALLED
comparison won't re-flag this gap.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/mozart-core')
0 files changed, 0 insertions, 0 deletions
