Created
July 7, 2014 17:36
-
-
Save dzuelke/7f69765036f1e4bceaa7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/Composer/Installer.php b/src/Composer/Installer.php | |
index fac7132..7b62242 100644 | |
--- a/src/Composer/Installer.php | |
+++ b/src/Composer/Installer.php | |
@@ -647,7 +647,7 @@ class Installer | |
private function createPolicy() | |
{ | |
- return new DefaultPolicy($this->package->getPreferStable()); | |
+ return new DefaultPolicy((!$this->update && $this->locker->isLocked()) ? $this->locker->getPreferStable() : $this->package->getPreferStable()); | |
} | |
private function createRequest(Pool $pool, RootPackageInterface $rootPackage, PlatformRepository $platformRepo) | |
diff --git a/src/Composer/Package/Locker.php b/src/Composer/Package/Locker.php | |
index 2aa3618..bee9552 100644 | |
--- a/src/Composer/Package/Locker.php | |
+++ b/src/Composer/Package/Locker.php | |
@@ -173,6 +173,13 @@ class Locker | |
return isset($lockData['stability-flags']) ? $lockData['stability-flags'] : array(); | |
} | |
+ public function getPreferStable() | |
+ { | |
+ $lockData = $this->getLockData(); | |
+ | |
+ return isset($lockData['prefer-stable']) ? $lockData['prefer-stable'] : false; | |
+ } | |
+ | |
public function getAliases() | |
{ | |
$lockData = $this->getLockData(); | |
@@ -206,7 +213,7 @@ class Locker | |
* | |
* @return bool | |
*/ | |
- public function setLockData(array $packages, $devPackages, array $platformReqs, $platformDevReqs, array $aliases, $minimumStability, array $stabilityFlags) | |
+ public function setLockData(array $packages, $devPackages, array $platformReqs, $platformDevReqs, array $aliases, $minimumStability, array $stabilityFlags, $preferStable) | |
{ | |
$lock = array( | |
'_readme' => array('This file locks the dependencies of your project to a known state', | |
@@ -218,6 +225,7 @@ class Locker | |
'aliases' => array(), | |
'minimum-stability' => $minimumStability, | |
'stability-flags' => $stabilityFlags, | |
+ 'prefer-stable' => $preferStable, | |
); | |
foreach ($aliases as $package => $versions) { |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment