--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": "*"
    }
}

--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,
    "platform": [],
    "platform-dev": []
}

--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--