Browse Source

Prevent duplicate PEAR replaces if the given vendorAlias equals the channel alias

Jordi Boggiano 12 years ago
parent
commit
1f31810901
1 changed files with 3 additions and 1 deletions
  1. 3 1
      src/Composer/Repository/PearRepository.php

+ 3 - 1
src/Composer/Repository/PearRepository.php

@@ -120,7 +120,9 @@ class PearRepository extends ArrayRepository
                 }
 
                 // alias package with user-specified prefix. it makes private pear channels looks like composer's.
-                if (!empty($this->vendorAlias)) {
+                if (!empty($this->vendorAlias)
+                    && ($this->vendorAlias != 'pear-'.$channelInfo->getAlias() || $channelInfo->getName() != $packageDefinition->getChannelName())
+                ) {
                     $composerPackageAlias = "{$this->vendorAlias}/{$packageDefinition->getPackageName()}";
                     $aliasConstraint = new VersionConstraint('==', $normalizedVersion);
                     $replaces[] = new Link($composerPackageName, $composerPackageAlias, $aliasConstraint, 'replaces', (string) $aliasConstraint);