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:-}"
|
NAME="${1:-}"
|
||||||
BESCHREIBUNG="${2:-Von Lucy angelegtes Projekt-Repo.}"
|
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
|
# Dediziertes Anlage-Token (Scope write:user) — GETRENNT vom Push-Token in
|
||||||
# ~/.git-credentials, damit ein Überschreiben nie Push/PR bricht. Priorität:
|
# ~/.git-credentials, damit ein Überschreiben nie Push/PR bricht. Priorität:
|
||||||
# ENV GITEA_CREATE_TOKEN → ~/.config/gitea/create-token → Fallback .git-credentials.
|
# ENV GITEA_CREATE_TOKEN → <echter-Home>/.config/gitea/create-token → Fallback .git-credentials.
|
||||||
CREATE_TOKEN_FILE="$HOME/.config/gitea/create-token"
|
CREATE_TOKEN_FILE="$REALHOME/.config/gitea/create-token"
|
||||||
LOG="$HOME/.hermes/state/gitea-repos-created.log"
|
LOG="$REALHOME/.hermes/state/gitea-repos-created.log"
|
||||||
|
|
||||||
if [ -z "$NAME" ]; then
|
if [ -z "$NAME" ]; then
|
||||||
echo "Nutzung: gitea-repo-create.sh <name> [\"Beschreibung\"]" >&2
|
echo "Nutzung: gitea-repo-create.sh <name> [\"Beschreibung\"]" >&2
|
||||||
|
|||||||
Reference in New Issue
Block a user