1
0
Fork 0

Test conflict with an unrequired alias does not prevent install.

The alias still ends up being marked as installed as the install step
reads it from the branch alias in the lock file and doesn't know a
conflict required it to be skipped.
pull/9477/head
Nils Adermann 2020-11-13 16:55:35 +01:00
parent 780e6fc027
commit c02d2842b0
1 changed files with 32 additions and 0 deletions

View File

@ -0,0 +1,32 @@
--TEST--
Test that conflict on a branch alias is ignored if the alias is not required for installation.
The alias ends up being marked installed anyway because the install step doesn't know that the branch alias which is
present in the lock file was ignored during resolution. This is acceptable as deps were resolvable without the alias
and we don't want to modify branch alias meta data in the lock file.
--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", "extra": {"branch-alias": {"dev-main": "1.3.x-dev"} } },
{ "name": "some/dep", "version": "1.2.x-dev" }
]
}
],
"require": {
"some/dep": "dev-main"
},
"conflict": {
"some/dep": ">=1.3"
}
}
--RUN--
update
--EXPECT--
Installing some/dep (dev-main)
Marking some/dep (1.3.x-dev) as installed, alias of some/dep (dev-main)'