#!/bin/bash

# =====================================================
# Git Projekt Management Script
# =====================================================
# Funktionen:
#   1) Erstmaliges Hochladen (Repo initialisieren + push)
#   2) Änderungen hochladen (commit + push)
#   3) Projekt vom Server herunterladen (clone)
#   4) Benutzername für Git-Server speichern
# =====================================================

# === Konfiguration ===
REMOTE_URL="http://192.168.19.10:3020/madgerm/KI-Cluster-Roadmap.git"
# Wenn dein Login eine E-Mail ist, benutze %40 statt @ im REMOTE_URL:
# Beispiel: http://madgerm%40msn.com@192.168.19.10:3020/madgerm/MiniMal.git

echo "---------------------------------------------"
echo " GIT PROJECT MANAGER"
echo "---------------------------------------------"
echo "1) Projekt erstmalig hochladen"
echo "2) Änderungen hochladen (Standard)"
echo "3) Projekt vom Server herunterladen"
echo "4) Git-Login (Benutzername) speichern"
echo
read -p "Wähle eine Option [1-4, Standard=2]: " choice

# Wenn der Benutzer einfach Enter drückt, wird 2 gesetzt
choice=${choice:-2}

case $choice in
  1)
    echo ">>> Projekt wird initialisiert und hochgeladen..."
    git init
    git branch -M main
    git add .
    git commit -m "Initial commit"
    git remote add origin "$REMOTE_URL"
    git push -u origin main
    ;;
  2)
    echo ">>> Änderungen werden zum Server hochgeladen..."
    git add .
    git commit -m "Auto sync: $(date '+%Y-%m-%d %H:%M:%S')"
    git push origin main
    ;;
  3)
    echo ">>> Projekt wird vom Server heruntergeladen..."
    read -p "Zielordner (Standard: aktuelles Verzeichnis): " TARGET_DIR
    TARGET_DIR=${TARGET_DIR:-.}
    git clone "$REMOTE_URL" "$TARGET_DIR"
    ;;
  4)
    echo ">>> Git-Benutzernamen speichern..."
    read -p "Gib deinen Git-Login (z.B. madgerm@msn.com) ein: " GITUSER
    if [ -n "$GITUSER" ]; then
      git config --global user.name "$GITUSER"
      git config --global credential.username "$GITUSER"
      echo "✅ Benutzername gespeichert:"
      echo "   user.name           = $(git config --global user.name)"
      echo "   credential.username = $(git config --global credential.username)"
      echo
      echo "💡 Hinweis: Wenn du dein Passwort speichern möchtest:"
      echo "   git config --global credential.helper store"
    else
      echo "⚠️ Kein Benutzername eingegeben. Vorgang abgebrochen."
    fi
    ;;
  *)
    echo "Ungültige Eingabe. Abbruch."
    ;;
esac
