|
@@ -42,11 +42,12 @@ class WritableArrayRepository extends ArrayRepository implements WritableReposit
|
|
{
|
|
{
|
|
$packages = $this->getPackages();
|
|
$packages = $this->getPackages();
|
|
|
|
|
|
- // get at most one package of each name, prefering non-aliased ones
|
|
|
|
|
|
+ // get at most one package of each (name, version) combination, prefering non-aliased ones
|
|
$packagesByName = array();
|
|
$packagesByName = array();
|
|
foreach ($packages as $package) {
|
|
foreach ($packages as $package) {
|
|
- if (!isset($packagesByName[$package->getName()]) || $packagesByName[$package->getName()] instanceof AliasPackage) {
|
|
|
|
- $packagesByName[$package->getName()] = $package;
|
|
|
|
|
|
+ $index = $package->getName() . $package->getVersion();
|
|
|
|
+ if (!isset($packagesByName[$index]) || $packagesByName[$index] instanceof AliasPackage) {
|
|
|
|
+ $packagesByName[$index] = $package;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|