Avatar

Versionierung von MLF (Project organisation)

by Auge ⌂, (2971 days ago) @ Micha
edited by Auge, ,

Hallo Milo

Ich hab mal etwas Code zusammengeschraubt und dabei folgende Erkenntnis gewonnen.

1. Tags wie bspw. "2.4beta1", "2.4.beta1", "2.4.beta" oder "2.4.b" werden mit einem einfachen Kleiner-Größer-Vergleich mit "2.4.0" als größer als die Letztere erkannt. Buchstaben werden also (von kleinen zu großen Werten) hinter Ziffern einsortiert. Wenn ich beim einfachen Code bleiben wollte (man ist ja faul ;-)), hieße das, über die Vergabe der Versionsnummern nachzudenken, was du ja auch schon einmal angeregt hast oder, wohin ich tendiere, der Code muss zwischen den Stellen der Versionsnummer unterscheiden lernen.

2. Den Bohei mit Buchstaben in der Versionsnummer beiseite lassend, kann auf diese Weise einfach die versionsnummer aus den Skripten für die Installation und Update herausgelassen werden. Schön so. :-)

// check version:
if(!file_exists('../config/VERSION')) {
 $update['errors'][] = 'Error in line '.__LINE__.': Missing the file config/VERSION.';
}
$newVersion = trim(file_get_contents('../config/VERSION'));
if ($newVersion < $settings['version']) {
 $update['errors'][] = 'Error in line '.__LINE__.': The version you want to install (see string in config/VERSION) must be greater than the current installed version. Current version: '. htmlspecialchars($settings['version']) .', version you want to install: '.  htmlspecialchars($newVersion) .'.';
}
if(!in_array($settings['version'], $newVersion)) {
 $update['errors'][] = 'Error in line '.__LINE__.': This update file doesn\'t work with the current version.';
}
 

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

locked
60873 views

Complete thread:

 RSS Feed of thread