--TEST-- Partial update installs from lock even if package don't exist in public repo anymore --COMPOSER-- { "repositories": [ { "type": "package", "package": [ { "name": "a/a", "version": "dev-master", "extra": { "branch-alias": { "dev-master": "2.3.x-dev" } }, "source": { "reference": "newmaster-a2", "type": "git", "url": "" } }, { "name": "b/b", "version": "dev-master", "extra": { "branch-alias": { "dev-master": "2.3.x-dev" } }, "source": { "reference": "newmaster-b2", "type": "git", "url": "" }, "require": { "a/a": "dev-master" } } ] } ], "require": { "a/a": "~2.1", "b/b": "~2.1" }, "minimum-stability": "dev" } --INSTALLED-- [ { "name": "a/a", "version": "dev-master", "version_normalized": "9999999-dev", "extra": { "branch-alias": { "dev-master": "2.1.x-dev" } }, "source": { "reference": "oldmaster-a", "type": "git", "url": "" }, "type": "library" }, { "name": "b/b", "version": "dev-master", "version_normalized": "9999999-dev", "extra": { "branch-alias": { "dev-master": "2.1.x-dev" } }, "source": { "reference": "oldmaster-b", "type": "git", "url": "" }, "require": { "a/a": "dev-master" }, "type": "library" } ] --LOCK-- { "packages": [ { "name": "a/a", "version": "dev-master", "extra": { "branch-alias": { "dev-master": "2.2.x-dev" } }, "source": { "reference": "newmaster-a", "type": "git", "url": "" }, "type": "library" }, { "name": "b/b", "version": "dev-master", "extra": { "branch-alias": { "dev-master": "2.1.x-dev" } }, "source": { "reference": "oldmaster-b", "type": "git", "url": "" }, "require": { "a/a": "dev-master" }, "type": "library" } ], "packages-dev": [], "aliases": [], "minimum-stability": "dev", "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, "platform": {}, "platform-dev": {} } --RUN-- update b/b --EXPECT-LOCK-- { "packages": [ { "name": "a/a", "version": "dev-master", "extra": { "branch-alias": { "dev-master": "2.2.x-dev" } }, "source": { "reference": "newmaster-a", "type": "git", "url": "" }, "type": "library" }, { "name": "b/b", "version": "dev-master", "extra": { "branch-alias": { "dev-master": "2.3.x-dev" } }, "source": { "reference": "newmaster-b2", "type": "git", "url": "" }, "require": { "a/a": "dev-master" }, "type": "library" } ], "packages-dev": [], "aliases": [], "minimum-stability": "dev", "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, "platform": {}, "platform-dev": {} } --EXPECT-- Marking a/a (2.1.x-dev oldmaster-a) as uninstalled, alias of a/a (dev-master oldmaster-a) Marking b/b (2.1.x-dev oldmaster-b) as uninstalled, alias of b/b (dev-master oldmaster-b) Upgrading a/a (dev-master oldmaster-a => dev-master newmaster-a) Marking a/a (2.2.x-dev newmaster-a) as installed, alias of a/a (dev-master newmaster-a) Upgrading b/b (dev-master oldmaster-b => dev-master newmaster-b2) Marking b/b (2.3.x-dev newmaster-b2) as installed, alias of b/b (dev-master newmaster-b2)