Fix: git_dirty_check bricht nicht mehr mit rc=2 ab

Auf Produktivservern gibt es fast immer kleine Änderungen (App-generierte
Dateien, Setup-Änderungen). Statt Abbruch: tracked Dateien via git reset
--hard zurücksetzen, untracked Nicht-Systemdateien via git clean entfernen.
.env, storage/ und node_modules/ werden dabei bewusst ausgespart.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
main v1.1.272
boban 2026-04-26 08:21:45 +02:00
parent 2688b2528b
commit 880b99f1e0
1 changed files with 7 additions and 7 deletions

View File

@ -71,13 +71,13 @@ git_safe(){
} }
git_dirty_check(){ git_dirty_check(){
if [[ "$ALLOW_DIRTY" != "1" ]]; then local dirty
local dirty dirty="$(as_app "git -C ${APP_DIR} status --porcelain" 2>/dev/null || true)"
dirty="$(as_app "git -C ${APP_DIR} status --porcelain")" if [[ -n "$dirty" ]]; then
if [[ -n "$dirty" ]]; then echo "[!] Uncommitted Änderungen gefunden — tracked Dateien werden zurückgesetzt:"
echo "[!] Arbeitsbaum hat uncommitted Änderungen. Abbruch (ALLOW_DIRTY=1 zum Überschreiben)." echo "$dirty"
exit 2 as_app "git -C ${APP_DIR} reset --hard HEAD" 2>/dev/null || true
fi as_app "git -C ${APP_DIR} clean -fd --exclude='.env' --exclude='storage/' --exclude='node_modules/'" 2>/dev/null || true
fi fi
} }