Browse Source

Always move time to the end of the package spec in the lock file, fixes #1498

Jordi Boggiano 12 years ago
parent
commit
0525297ff5
1 changed files with 8 additions and 4 deletions
  1. 8 4
      src/Composer/Package/Locker.php

+ 8 - 4
src/Composer/Package/Locker.php

@@ -287,11 +287,15 @@ class Locker
             $spec = $this->dumper->dump($package);
             unset($spec['version_normalized']);
 
+            // always move time to the end of the package definition
+            $time = isset($spec['time']) ? $spec['time'] : null;
+            unset($spec['time']);
             if ($package->isDev()) {
-                $time = $this->getPackageTime($package);
-                if (null !== $time) {
-                    $spec['time'] = $time;
-                }
+                // use the exact commit time of the current reference if it's a dev package
+                $time = $this->getPackageTime($package) ?: $time;
+            }
+            if (null !== $time) {
+               $spec['time'] = $time;
             }
 
             unset($spec['installation-source']);