Fix: App-Version bevorzugt git-Tag wenn neuer als Version-Datei

Lokalserver zeigte 1.0.137 weil /var/lib/mailwolt/version nie durch
update.sh aktualisiert wurde. git describe --tags liefert immer den
aktuellen Tag direkt aus dem Repo.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
main v1.1.348
boban 2026-04-26 21:59:04 +02:00
parent 77fad53655
commit cae269fae1
1 changed files with 6 additions and 1 deletions

View File

@ -40,7 +40,12 @@ class AppServiceProvider extends ServiceProvider
} catch (\Throwable) {}
});
config(['app.version' => trim(@file_get_contents('/var/lib/mailwolt/version')) ?: 'dev']);
$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') ?: '');
$gitVer = ltrim($gitVer, 'vV');
// git-Tag bevorzugen wenn er neuer als die Version-Datei ist
$appVer = ($gitVer && (!$fileVer || version_compare($gitVer, $fileVer, '>'))) ? $gitVer : ($fileVer ?: 'dev');
config(['app.version' => $appVer]);
if (file_exists(base_path('.git/HEAD'))) {
$ref = trim(file_get_contents(base_path('.git/HEAD')));
if (str_starts_with($ref, 'ref:')) {