From 4233a4823d7316e6d363c5bd0daad066d2a6cd73 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Sun, 19 Feb 2012 16:33:19 +0100 Subject: [PATCH] Skip platform repo and only force-update packages that have a new source ref --- src/Composer/Command/InstallCommand.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Composer/Command/InstallCommand.php b/src/Composer/Command/InstallCommand.php index 937393a1c..760c14e8f 100644 --- a/src/Composer/Command/InstallCommand.php +++ b/src/Composer/Command/InstallCommand.php @@ -196,10 +196,13 @@ EOT // force dev packages to be updated to latest reference on update if ($update) { - foreach ($installedPackages as $package) { + foreach ($localRepo->getPackages() as $package) { + // skip non-dev packages if (!$package->isDev()) { continue; } + + // skip packages that will be updated/uninstalled foreach ($operations as $operation) { if (('update' === $operation->getJobType() && $package === $operation->getInitialPackage()) || ('uninstall' === $operation->getJobType() && $package === $operation->getPackage()) @@ -210,8 +213,10 @@ EOT // force update $newPackage = $composer->getRepositoryManager()->findPackage($package->getName(), $package->getVersion()); - $operation = new UpdateOperation($package, $newPackage); - $operations[] = $operation; + if ($newPackage->getSourceReference() !== $package->getSourceReference()) { + $operation = new UpdateOperation($package, $newPackage); + $operations[] = $operation; + } } }