aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart/src/commands/init.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-01 22:02:32 +0900
committernsfisis <nsfisis@gmail.com>2026-05-01 22:02:32 +0900
commit8a87adf120d5057b06d0474b293fab079e1ce967 (patch)
tree9dc4327244216e9bddf8aace63405e66f1b7d0fb /crates/mozart/src/commands/init.rs
parentbaa40325659a44938ad2e9ad6525ea3b3aaacfe2 (diff)
downloadphp-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/src/commands/init.rs')
0 files changed, 0 insertions, 0 deletions