From 3e0219c4384465bc0f66369817426e3baa103583 Mon Sep 17 00:00:00 2001 From: Zsolt Szeberenyi Date: Sat, 13 Jun 2015 10:15:56 +0200 Subject: [PATCH] Change the content hash to be only based on values that affect dependency resolution --- src/Composer/Factory.php | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/Composer/Factory.php b/src/Composer/Factory.php index 755b8884f..d14cee7bd 100644 --- a/src/Composer/Factory.php +++ b/src/Composer/Factory.php @@ -496,7 +496,26 @@ class Factory private function getContentHash($composerFilePath) { $content = json_decode(file_get_contents($composerFilePath), true); - ksort($content); - return md5(json_encode($content)); + + $relevantKeys = array( + 'require', + 'require-dev', + 'conflict', + 'replace', + 'provide', + 'suggest', + 'minimum-stability', + 'prefer-stable', + 'repositories', + ); + + $relevantContent = array(); + + foreach (array_intersect($relevantKeys, array_keys($content)) as $key) { + $relevantContent[$key] = $content[$key]; + } + + ksort($relevantContent); + return md5(json_encode($relevantContent)); } }