Reset package IDs before they can be used in the pool in case there are already some in the cache

main
Jordi Boggiano 12 years ago
parent 541bcabbc0
commit 5978197b5d

@ -83,6 +83,7 @@ class Pool
if ($repo instanceof ComposerRepository && $repo->hasProviders()) {
$this->composerRepos[] = $repo;
$repo->resetPackageIds();
} elseif ($repo instanceof StreamableRepositoryInterface) {
foreach ($repo->getMinimalPackages() as $package) {
$name = $package['name'];

@ -199,6 +199,13 @@ class ComposerRepository extends ArrayRepository implements NotifiableRepository
return $this->hasProviders;
}
public function resetPackageIds()
{
foreach ($this->providersByUid as $package) {
$package->setId(-1);
}
}
public function whatProvides(Pool $pool, $name)
{
// skip platform packages

Loading…
Cancel
Save