فهرست منبع

Avoid conflicts when two branches have the same name but different cases

Jordi Boggiano 6 سال پیش
والد
کامیت
b9c951f6fa
1فایلهای تغییر یافته به همراه4 افزوده شده و 3 حذف شده
  1. 4 3
      src/Packagist/WebBundle/Package/Updater.php

+ 4 - 3
src/Packagist/WebBundle/Package/Updater.php

@@ -183,6 +183,7 @@ class Updater
 
 
         $existingVersions = $versionRepository->getVersionMetadataForUpdate($package);
         $existingVersions = $versionRepository->getVersionMetadataForUpdate($package);
 
 
+        $processedVersions = [];
         $lastUpdated = true;
         $lastUpdated = true;
         $lastProcessed = null;
         $lastProcessed = null;
         $idsToMarkUpdated = [];
         $idsToMarkUpdated = [];
@@ -191,11 +192,11 @@ class Updater
                 continue;
                 continue;
             }
             }
 
 
-            if ($lastProcessed && $lastProcessed->getVersion() === $version->getVersion()) {
-                $io->write('Skipping version '.$version->getPrettyVersion().' (duplicate of '.$lastProcessed->getPrettyVersion().')', true, IOInterface::VERBOSE);
+            if (isset($processedVersions[strtolower($version->getVersion())])) {
+                $io->write('Skipping version '.$version->getPrettyVersion().' (duplicate of '.$processedVersions[$version->getVersion()]->getPrettyVersion().')', true, IOInterface::VERBOSE);
                 continue;
                 continue;
             }
             }
-            $lastProcessed = $version;
+            $processedVersions[strtolower($version->getVersion())] = $version;
 
 
             $result = $this->updateInformation($versionRepository, $package, $existingVersions, $version, $flags, $rootIdentifier);
             $result = $this->updateInformation($versionRepository, $package, $existingVersions, $version, $flags, $rootIdentifier);
             $lastUpdated = $result['updated'];
             $lastUpdated = $result['updated'];