From efca31c21fb53619d5ce18c14148435de61bce2f Mon Sep 17 00:00:00 2001 From: Hitonabi Date: Mon, 20 Jul 2026 16:50:49 +0200 Subject: [PATCH] gitea-repo-create: Anlage-Token im ECHTEN User-Home finden (getent) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Worker-Subprozesse laufen mit abweichendem $HOME → das Skript fand das write:user-Anlage-Token nicht und fiel aufs Push-Token (write:repository) zurueck → 'Token hat fehlenden Scope', IDE-Vorbereiter blockte am Repo-Anlegen (Pomodoro-Testlauf). Fix: echten Home aus /etc/passwd aufloesen (getent), unabhaengig von $HOME. Co-Authored-By: Claude Fable 5 --- deploy/gitea-repo-create.sh | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/deploy/gitea-repo-create.sh b/deploy/gitea-repo-create.sh index a417334..64180d8 100644 --- a/deploy/gitea-repo-create.sh +++ b/deploy/gitea-repo-create.sh @@ -17,12 +17,18 @@ set -uo pipefail NAME="${1:-}" BESCHREIBUNG="${2:-Von Lucy angelegtes Projekt-Repo.}" -CRED="$HOME/.git-credentials" +# Worker-Subprozesse laufen evtl. mit abweichendem $HOME (Profil-Home) — das dedizierte +# Anlage-Token (write:user) UND .git-credentials liegen aber nur im ECHTEN User-Home. +# Darum den echten Home aus /etc/passwd aufloesen, sonst faellt das Skript aufs falsche +# Token zurueck (Fan-out-Nachlese 20.07.: projektstart-Worker blockte an genau dieser +# Stelle mit "Token hat nur write:repository"). +REALHOME="$(getent passwd "$(id -un)" 2>/dev/null | cut -d: -f6)"; REALHOME="${REALHOME:-$HOME}" +CRED="$REALHOME/.git-credentials" # Dediziertes Anlage-Token (Scope write:user) — GETRENNT vom Push-Token in # ~/.git-credentials, damit ein Überschreiben nie Push/PR bricht. Priorität: -# ENV GITEA_CREATE_TOKEN → ~/.config/gitea/create-token → Fallback .git-credentials. -CREATE_TOKEN_FILE="$HOME/.config/gitea/create-token" -LOG="$HOME/.hermes/state/gitea-repos-created.log" +# ENV GITEA_CREATE_TOKEN → /.config/gitea/create-token → Fallback .git-credentials. +CREATE_TOKEN_FILE="$REALHOME/.config/gitea/create-token" +LOG="$REALHOME/.hermes/state/gitea-repos-created.log" if [ -z "$NAME" ]; then echo "Nutzung: gitea-repo-create.sh [\"Beschreibung\"]" >&2