1
0
Fork 0

Fix package sorting logic, fixes #11287

pull/11292/head
Jordi Boggiano 2023-02-03 22:48:18 +01:00
parent 50cded331c
commit 2f2d6c9de7
No known key found for this signature in database
GPG Key ID: 7BBD42C429EC80BC
1 changed files with 12 additions and 11 deletions

View File

@ -28,21 +28,22 @@ class PackageSorter
*/ */
public static function getMostCurrentVersion(array $packages): ?PackageInterface public static function getMostCurrentVersion(array $packages): ?PackageInterface
{ {
return array_reduce($packages, static function ($carry, $pkg) { if (count($packages) === 0) {
if ($carry === null) { return null;
return $pkg;
} }
if ($pkg->isDefaultBranch()) { $highest = reset($packages);
return $pkg; foreach ($packages as $candidate) {
if ($candidate->isDefaultBranch()) {
return $candidate;
} }
if (!$carry->isDefaultBranch() && version_compare($carry->getVersion(), $pkg->getVersion(), '<')) { if (version_compare($highest->getVersion(), $candidate->getVersion(), '<')) {
return $pkg; $highest = $candidate;
}
} }
return $carry; return $highest;
});
} }
/** /**