From 86f1fbeb50b1a52b1d1282509be992723a33a009 Mon Sep 17 00:00:00 2001 From: Florian Wilde Date: Mon, 27 Jul 2026 10:13:56 +0200 Subject: [PATCH] fix(scripts): Ausfuehrbarkeitsbit im Git setzen Die Shell-Skripte lagen als 100644 im Index. Nach einem frischen Clone auf dem Server scheiterte damit jedes "./scripts/setup.sh" und "./scripts/update.sh" an fehlender Berechtigung; wer sich mit chmod +x behalf, hatte danach ein schmutziges Arbeitsverzeichnis, und genau daran brach update.sh ab. Unter Windows faellt das nicht auf, weil core.filemode dort auf false steht -- das Bit muss deshalb mit "git update-index --chmod=+x" gesetzt werden. Auch docker/entrypoint.sh bekommt es; der Dockerfile-Aufruf chmod +x bleibt als zweiter Riegel bestehen. Ausserdem sagt update.sh jetzt, welche Dateien geaendert sind, statt nur zu melden, dass etwas nicht sauber ist. Wer die Meldung liest, soll nicht erst "git status" nachschlagen muessen. Co-Authored-By: Claude Opus 5 --- docker/entrypoint.sh | 0 scripts/backup.sh | 0 scripts/restore.sh | 0 scripts/setup.sh | 0 scripts/update.sh | 11 +++++++++-- 5 files changed, 9 insertions(+), 2 deletions(-) mode change 100644 => 100755 docker/entrypoint.sh mode change 100644 => 100755 scripts/backup.sh mode change 100644 => 100755 scripts/restore.sh mode change 100644 => 100755 scripts/setup.sh mode change 100644 => 100755 scripts/update.sh diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh old mode 100644 new mode 100755 diff --git a/scripts/backup.sh b/scripts/backup.sh old mode 100644 new mode 100755 diff --git a/scripts/restore.sh b/scripts/restore.sh old mode 100644 new mode 100755 diff --git a/scripts/setup.sh b/scripts/setup.sh old mode 100644 new mode 100755 diff --git a/scripts/update.sh b/scripts/update.sh old mode 100644 new mode 100755 index 3c2cbfe..e689a8e --- a/scripts/update.sh +++ b/scripts/update.sh @@ -75,8 +75,15 @@ printf ' Aktuell: v%s (%s)\n' "$version_vorher" "$vorher" if [ "$pull" -eq 1 ]; then schritt "Neuen Stand holen" - if [ -n "$(git status --porcelain)" ]; then - abbruch "Das Arbeitsverzeichnis ist nicht sauber. Bitte erst committen oder verwerfen." + schmutz="$(git status --porcelain)" + if [ -n "$schmutz" ]; then + # Nicht nur meckern, sondern zeigen, worum es geht – sonst muss man + # raten, was man da eigentlich verwerfen soll. + printf '\n%sGeaendert gegenueber dem Stand im Git:%s\n' "$fett" "$aus" + printf '%s\n' "$schmutz" | sed 's/^/ /' + printf '\n Verwerfen: git checkout -- .\n' + printf ' Behalten: git stash\n' + abbruch "Das Arbeitsverzeichnis ist nicht sauber." fi git fetch --all --tags --quiet