Sfoglia il codice sorgente

Fetch only non-dev packages from lock if doing a dev update fails due to a previously incomplete lock file, fixes #1650

Jordi Boggiano 12 anni fa
parent
commit
373ff04261
1 ha cambiato i file con 6 aggiunte e 1 eliminazioni
  1. 6 1
      src/Composer/Installer.php

+ 6 - 1
src/Composer/Installer.php

@@ -377,7 +377,12 @@ class Installer
         // to the version specified in the lock, or their currently installed version
         // to the version specified in the lock, or their currently installed version
         if ($this->update && $this->updateWhitelist) {
         if ($this->update && $this->updateWhitelist) {
             if ($this->locker->isLocked()) {
             if ($this->locker->isLocked()) {
-                $currentPackages = $this->locker->getLockedRepository($withDevReqs)->getPackages();
+                try {
+                    $currentPackages = $this->locker->getLockedRepository($withDevReqs)->getPackages();
+                } catch (\RuntimeException $e) {
+                    // fetch only non-dev packages from lock if doing a dev update fails due to a previously incomplete lock file
+                    $currentPackages = $this->locker->getLockedRepository()->getPackages();
+                }
             } else {
             } else {
                 $currentPackages = $installedRepo->getPackages();
                 $currentPackages = $installedRepo->getPackages();
             }
             }