--TEST-- Test that conflict with a branch alias in the lock file leads to an error on install from lock, even if the branch alias was removed on the remote end. --COMPOSER-- { "repositories": [ { "type": "package", "package": [ { "name": "some/dep", "version": "1.0.0" }, { "name": "some/dep", "version": "1.1.0" }, { "name": "some/dep", "version": "1.2.0" }, { "name": "some/dep", "version": "dev-main" }, { "name": "some/dep", "version": "1.2.x-dev" }, { "name": "conflictor/foo", "version": "1.0.0", "conflict": { "some/dep": ">=1.3" } } ] } ], "require": { "some/dep": "dev-main", "conflictor/foo": "1.0.0" } } --LOCK-- { "packages": [ { "name": "conflictor/foo", "version": "1.0.0", "conflict": { "some/dep": ">=1.3" }, "type": "library" }, { "name": "some/dep", "version": "dev-main", "extra": {"branch-alias": {"dev-main": "1.3.x-dev"} }, "type": "library" } ], "packages-dev": [], "aliases": [], "minimum-stability": "stable", "stability-flags": { "some/dep": 20 }, "prefer-stable": false, "prefer-lowest": false, "platform": {}, "platform-dev": {} } --RUN-- install --EXPECT-EXIT-CODE-- 2 --EXPECT-OUTPUT-- Installing dependencies from lock file (including require-dev) Verifying lock file contents can be installed on current platform. Your lock file does not contain a compatible set of packages. Please run composer update. Problem 1 - conflictor/foo is locked to version 1.0.0 and an update of this package was not requested. - some/dep is locked to version 1.3.x-dev and an update of this package was not requested. - conflictor/foo 1.0.0 conflicts with some/dep 1.3.x-dev. --EXPECT--