#!/bin/bash GITEA_URL="https://gitea.kasimirat.de" GITEA_USER="thomas" GITEA_TOKEN="289ac11a4ad2938fa34e6baa29bec74bdbcbb57b" read -p "Pfad zum lokalen Verzeichnis (z für Abbruch): " DIR [[ "$DIR" =~ ^[zZ]$ ]] && exit 0 if [ ! -d "$DIR" ]; then echo "Verzeichnis nicht gefunden!" exit 1 fi cd "$DIR" read -p "Neuer Repo-Name auf Gitea (z für Abbruch): " REPO [[ "$REPO" =~ ^[zZ]$ ]] && exit 0 # Repo-Name validieren (wie im Menü) REPO_VALID=$(echo "$REPO" | sed 's/ /-/g') if [[ ! "$REPO_VALID" =~ ^[A-Za-z0-9._-]+$ ]]; then echo "Ungültiger Repo-Name! Nur Buchstaben, Zahlen, Bindestrich (-), Unterstrich (_) und Punkt (.) sind erlaubt." exit 1 fi # Repo per API anlegen ANTWORT=$(curl -s -X POST -H "Content-Type: application/json" -H "Authorization: token $GITEA_TOKEN" \ -d '{"name":"'$REPO_VALID'","private":false}' "$GITEA_URL/api/v1/user/repos") if echo "$ANTWORT" | grep -q '"id"'; then echo "Gitea-Repo $REPO_VALID wurde angelegt." else echo "Fehler beim Anlegen des Repos: $ANTWORT" exit 1 fi # Git-Repo initialisieren (falls noch nicht vorhanden) if [ ! -d .git ]; then git init fi git remote remove origin 2>/dev/null GITURL="$GITEA_URL/$GITEA_USER/$REPO_VALID.git" git remote add origin "$GITURL" git add . read -p "Commit-Message: " MSG [[ "$MSG" =~ ^[zZ]$ ]] && exit 0 git commit -m "$MSG" git branch -M main 2>/dev/null git push -u origin main echo "Upload abgeschlossen. Repo: $GITURL"