diff --git a/scripts/update.sh b/scripts/update.sh index d8f0701..f66bce8 100644 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -66,11 +66,13 @@ artisan_up(){ } git_safe(){ - # Falls nötig: Repo als safe markieren (z.B. wenn Root den Wrapper aufruft) - as_app "git -C ${APP_DIR} config --global --add safe.directory ${APP_DIR} >/dev/null 2>&1 || true" - # .git/objects-Rechte reparieren: root-Läufe können Objekte mit falschen Rechten anlegen - find "${APP_DIR}/.git/objects" -not -user "$APP_USER" \ - -exec chown "$APP_USER":"$APP_GROUP" {} \; 2>/dev/null || true + # System-Level safe.directory (root schreibt /etc/gitconfig → gilt für alle User) + git config --system --add safe.directory "${APP_DIR}" >/dev/null 2>&1 || true + # User-Level als Fallback + as_app "git config --global --add safe.directory ${APP_DIR} >/dev/null 2>&1 || true" + # .git vollständig + APP_DIR-Eintrag dem APP_USER gehören + chown "${APP_USER}":"${APP_GROUP}" "${APP_DIR}" 2>/dev/null || true + chown -R "${APP_USER}":"${APP_GROUP}" "${APP_DIR}/.git" 2>/dev/null || true } git_dirty_check(){