Fix: git_safe() system-level safe.directory + chown .git für APP_USER-Wechsel

Nach APP_USER-Wechsel von mailwolt→www-data schlägt git mit "dubious
ownership" fehl. git config --system schreibt /etc/gitconfig (root),
gilt für alle User. Zusätzlich .git vollständig neu besitzen.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
main v1.1.308
boban 2026-04-26 19:07:58 +02:00
parent 3c6325db32
commit c16315711d
1 changed files with 7 additions and 5 deletions

View File

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