Fix: Version-Datei wird bei jedem Start selbst aktualisiert

AppServiceProvider schreibt /var/lib/mailwolt/version wenn der git-Tag
neuer ist. Kein manuelles Eingreifen mehr nötig auf Dev-Server.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
main v1.1.350
boban 2026-04-26 22:08:28 +02:00
parent dbd7848f68
commit bf76e93103
1 changed files with 7 additions and 3 deletions

View File

@ -41,10 +41,14 @@ class AppServiceProvider extends ServiceProvider
}); });
$fileVer = trim(@file_get_contents('/var/lib/mailwolt/version') ?: ''); $fileVer = trim(@file_get_contents('/var/lib/mailwolt/version') ?: '');
$gitVer = trim(@shell_exec('git -C ' . escapeshellarg(base_path()) . ' describe --tags --abbrev=0 2>/dev/null') ?: ''); $out = []; @exec('git -C ' . escapeshellarg(base_path()) . ' describe --tags --abbrev=0 2>/dev/null', $out);
$gitVer = ltrim($gitVer, 'vV'); $gitVer = ltrim(trim($out[0] ?? ''), 'vV');
// git-Tag bevorzugen wenn er neuer als die Version-Datei ist
$appVer = ($gitVer && (!$fileVer || version_compare($gitVer, $fileVer, '>'))) ? $gitVer : ($fileVer ?: 'dev'); $appVer = ($gitVer && (!$fileVer || version_compare($gitVer, $fileVer, '>'))) ? $gitVer : ($fileVer ?: 'dev');
// Versions-Datei selbst aktualisieren wenn veraltet
if ($appVer !== 'dev' && $appVer !== $fileVer) {
@mkdir('/var/lib/mailwolt', 0755, true);
@file_put_contents('/var/lib/mailwolt/version', $appVer);
}
config(['app.version' => $appVer]); config(['app.version' => $appVer]);
if (file_exists(base_path('.git/HEAD'))) { if (file_exists(base_path('.git/HEAD'))) {
$ref = trim(file_get_contents(base_path('.git/HEAD'))); $ref = trim(file_get_contents(base_path('.git/HEAD')));