gitea-repo-create: Anlage-Token im ECHTEN User-Home finden (getent)
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 <noreply@anthropic.com>
This commit is contained in:
@@ -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 → <echter-Home>/.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 <name> [\"Beschreibung\"]" >&2
|
||||
|
||||
Reference in New Issue
Block a user