From eceda0ffc79f8506ab0aa9363721e518886c501e Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Sun, 21 Oct 2012 19:16:11 +0200 Subject: [PATCH] Fix regression introduced in beb9a5bd727d49bf539db676f1aa946901090257 --- src/Composer/DependencyResolver/Pool.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/Composer/DependencyResolver/Pool.php b/src/Composer/DependencyResolver/Pool.php index 2216d5215..28cdcfaaf 100644 --- a/src/Composer/DependencyResolver/Pool.php +++ b/src/Composer/DependencyResolver/Pool.php @@ -387,6 +387,23 @@ class Pool $replaces = $candidate->getReplaces(); } + // aliases create multiple replaces/provides for one target so they can not use the shortcut + if (isset($replaces[0]) || isset($provides[0])) { + foreach ($provides as $link) { + if ($link->getTarget() === $name && $constraint->matches($link->getConstraint())) { + return self::MATCH_PROVIDE; + } + } + + foreach ($replaces as $link) { + if ($link->getTarget() === $name && $constraint->matches($link->getConstraint())) { + return self::MATCH_REPLACE; + } + } + + return self::MATCH_NONE; + } + if (isset($provides[$name]) && $constraint->matches($provides[$name]->getConstraint())) { return self::MATCH_PROVIDE; }