From a0d1d59868adfd07385e95b6b6999b1fc3e023ce Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Mon, 8 Apr 2013 15:37:29 +0200 Subject: [PATCH] Fix handling of aliases in streamable repos, fixes #1776, fixes #1749 --- src/Composer/DependencyResolver/Pool.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Composer/DependencyResolver/Pool.php b/src/Composer/DependencyResolver/Pool.php index fb5decf55..b3d1db70b 100644 --- a/src/Composer/DependencyResolver/Pool.php +++ b/src/Composer/DependencyResolver/Pool.php @@ -112,7 +112,7 @@ class Pool $this->packages[] = $package; foreach ($names as $provided) { - $this->packageByName[$provided][] =& $this->packages[$this->id - 2]; + $this->packageByName[$provided][$package['id']] = $this->packages[$this->id - 2]; } // handle root package aliases @@ -134,7 +134,7 @@ class Pool $this->packages[] = $alias; foreach ($names as $provided) { - $this->packageByName[$provided][] =& $this->packages[$this->id - 2]; + $this->packageByName[$provided][$alias['id']] = $this->packages[$this->id - 2]; } } @@ -149,7 +149,7 @@ class Pool $this->packages[] = $alias; foreach ($names as $provided) { - $this->packageByName[$provided][] =& $this->packages[$this->id - 2]; + $this->packageByName[$provided][$alias['id']] = $this->packages[$this->id - 2]; } } } @@ -349,6 +349,9 @@ class Pool $package = $this->packages[$data['id'] - 1] = $data['repo']->loadPackage($data); } + foreach ($package->getNames() as $name) { + $this->packageByName[$name][$data['id']] = $package; + } $package->setId($data['id']); $data = $package; }