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