Alpha and beta releases sort above the final release
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 74/100
Rechercherichtung
Die Sortierung liegt in comparisonVersionString() in src/Repository/ReleasesCollection.php. Dort werden Suffixe im Stil -beta.1 in numerische Teile umgeschrieben, die version_compare() anschließend falsch einordnet. Beginne damit, #[Skip] aus ReleasesCollectionTest::sortByVersionPutsPreReleasesBelowFinalRelease zu entfernen und vendor/bin/testo --filter=sortByVersionPutsPreReleasesBelowFinalRelease auszuführen. Fertig ist es, wenn dieser Test besteht und finale Releases über rc, beta und alpha sortiert werden, auch über -RC in Großschreibung. Prüfe zuerst #49, denn das Ersetzen der Release-Suche könnte diesen Code entfernen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
ReleasesCollection::sortByVersion() ranks alpha and beta pre-releases above the final release of the same version. Sorting v2024.1.0-alpha.1, v2024.1.0, v2024.1.0-beta.1, v2024.1.0-rc.1 gives:
v2024.1.0-beta.1
v2024.1.0-alpha.1
v2024.1.0
v2024.1.0-rc.1
Expected: v2024.1.0, v2024.1.0-rc.1, v2024.1.0-beta.1, v2024.1.0-alpha.1.
get-binary and download-protoc-binary install the first release of the sorted list that passes the stability filter. With --stability=beta (or lower) they pick the beta over the final release that is already out.
comparisonVersionString() replaces -<stability> with .<weight>.. v2024.1.0-beta.1 therefore compares as v2024.1.0.2..1, and version_compare() ranks it above v2024.1.0 because it has more numeric parts. Lower-case -rc tags are left untouched (the stability is RC), so they happen to sort correctly. Upper-case -RC tags have the same problem as beta and alpha. #2 was about the order among pre-releases.
Steps to reproduce
- Remove
#[Skip]fromReleasesCollectionTest::sortByVersionPutsPreReleasesBelowFinalRelease. - Run
vendor/bin/testo --filter=sortByVersionPutsPreReleasesBelowFinalRelease.
Additional context
The release lookup may be replaced by DLoad in #49, in which case this code goes away.
- Vorherrschende Sprache
- PHP
- Sterne
- 30
- Forks
- 15
- Ø Merge
- 45 Min.
- Gemergte PRs (30 T.)
- 11
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus roadrunner-php/cli
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
roadrunner-php/cli#69 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
roadrunner-php/cli#68 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
roadrunner-php/cli#67 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
roadrunner-php/cli#62 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
roadrunner-php/cli#61 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in roadrunner-php/cli
Ähnliche Issues
-
FrameworkBundle SecurityBundle
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
symfony/symfony-docs#23277 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
[Sync EN] hard link does not need special permissionsEvtl. vergeben @lacatoire hat das heute übernommen. Offensync-en
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
Maintainer antworten meist innerhalb von 1 Tag
-
sync-en
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 4 Tagen
-
bug mod:appointments
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
3pontos-tech/gil-benefits#303 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag