Fix: git_safe() korrigiert Eigentümer automatisch bei User-Wechsel
chown -R nur wenn APP_DIR nicht dem APP_USER gehört, sonst nur .git. Verhindert "Your local changes would be overwritten" nach root-Läufen. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>main v1.1.312
parent
b107e9a580
commit
a119686bfa
|
|
@ -68,11 +68,18 @@ artisan_up(){
|
||||||
git_safe(){
|
git_safe(){
|
||||||
# System-Level safe.directory (root schreibt /etc/gitconfig → gilt für alle User)
|
# 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
|
git config --system --add safe.directory "${APP_DIR}" >/dev/null 2>&1 || true
|
||||||
# User-Level als Fallback
|
# Wenn APP_DIR einem anderen User gehört (z.B. nach User-Wechsel mailwolt→www-data),
|
||||||
|
# kompletten Baum neu besitzen — nur wenn nötig (einmalig teuer, danach billig)
|
||||||
|
local dir_owner
|
||||||
|
dir_owner="$(stat -c '%U' "${APP_DIR}" 2>/dev/null || echo '')"
|
||||||
|
if [[ -n "${dir_owner}" && "${dir_owner}" != "${APP_USER}" ]]; then
|
||||||
|
echo "[i] Eigentümer-Korrektur: ${APP_DIR} → ${APP_USER} (war: ${dir_owner})"
|
||||||
|
chown -R "${APP_USER}":"${APP_GROUP}" "${APP_DIR}" 2>/dev/null || true
|
||||||
|
else
|
||||||
|
# Nur .git sicherstellen (schnell)
|
||||||
|
chown -R "${APP_USER}":"${APP_GROUP}" "${APP_DIR}/.git" 2>/dev/null || true
|
||||||
|
fi
|
||||||
as_app "git config --global --add safe.directory ${APP_DIR} >/dev/null 2>&1 || true"
|
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(){
|
git_dirty_check(){
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue