2021-11-08 13:21:59 +00:00
--TEST--
Partially updating one root requirement with transitive deps fully updates transitive deps, and always updates symlinked path repos, but not the transitive deps of the path repos.
--COMPOSER--
{
"repositories": [
{"type": "path", "url": "./DependencyResolver/Fixtures/poolbuilder/symlinked-path-repo"},
{"type": "path", "url": "./DependencyResolver/Fixtures/poolbuilder/mirrored-path-repo", "options": {"symlink": false}},
{
"type": "package",
"package": [
{"name": "root/update", "version": "1.0.4", "require": {"symlinked/transitive2": ">=1.0.1", "mirrored/transitive2": ">=1.0.1"}},
{"name": "symlinked/transitive", "version": "1.0.0"},
{"name": "symlinked/transitive", "version": "1.0.1"},
{"name": "symlinked/transitive", "version": "2.0.3"},
{"name": "symlinked/transitive2", "version": "1.0.0"},
{"name": "symlinked/transitive2", "version": "1.0.3"},
{"name": "symlinked/transitive2", "version": "2.0.3"},
{"name": "mirrored/transitive", "version": "1.0.0"},
{"name": "mirrored/transitive", "version": "1.0.5"},
{"name": "mirrored/transitive2", "version": "1.0.0"},
{"name": "mirrored/transitive2", "version": "1.0.7"}
]
}
],
"require": {
"root/update": "*",
"symlinked/path-pkg": "*",
"mirrored/path-pkg": "*"
}
}
2021-11-25 14:18:24 +00:00
2021-11-08 13:21:59 +00:00
--LOCK--
{
"packages": [
{"name": "root/update", "version": "1.0.1", "require": {"symlinked/transitive2": ">=1.0.1", "mirrored/transitive2": ">=1.0.1"}},
{"name": "symlinked/transitive", "version": "1.0.0"},
{"name": "symlinked/transitive2", "version": "1.0.0"},
{"name": "mirrored/transitive", "version": "1.0.0"},
{"name": "mirrored/transitive2", "version": "1.0.0"},
{
"name": "symlinked/path-pkg",
"version": "1.0.0",
"require": {
"symlinked/transitive": "1.*",
"symlinked/transitive2": "1.*"
},
"dist": {"type": "path", "url": "./symlinked-path-repo", "reference": "abcd"}, "transport-options": {}
},
{
"name": "mirrored/path-pkg",
"version": "1.0.0",
"require": {
"mirrored/transitive": "1.*",
"mirrored/transitive2": "1.*"
},
"dist": {"type": "path", "url": "./mirrored-path-repo", "reference": "abcd"}, "transport-options": {"symlink": false}
}
],
"packages-dev": [],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": {
},
"prefer-stable": false,
"prefer-lowest": false,
2024-09-18 14:32:40 +00:00
"platform": {},
"platform-dev": {}
2021-11-08 13:21:59 +00:00
}
2021-11-25 14:18:24 +00:00
2021-11-08 13:21:59 +00:00
--RUN--
update --with-all-dependencies root/update
--EXPECT-EXIT-CODE--
2
--EXPECT-OUTPUT--
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires symlinked/path-pkg * -> satisfiable by symlinked/path-pkg[2.0.0].
- symlinked/path-pkg 2.0.0 requires symlinked/transitive 2.* -> found symlinked/transitive[2.0.3] but the package is fixed to 1.0.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
--EXPECT--