Projektarbeit-MYP/packages/restore-torben-frontend.sh

72 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
# Skript zum Rückgängigmachen der aktuellen Frontend-Installation
# und Wiederherstellung des Torben-Frontends
set -e # Beende das Skript bei Fehlern
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
FRONTEND_DIR="$SCRIPT_DIR/reservation-platform"
LOG_FILE="$SCRIPT_DIR/frontend-restore.log"
# Logfunktion
log() {
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOG_FILE"
}
# Lösche Log-Datei, falls vorhanden
> "$LOG_FILE"
log "Beginne mit der Wiederherstellung des Frontend-Commits von Torben"
# Überprüfe, ob wir in einem Git-Repository sind
if ! git -C "$SCRIPT_DIR" rev-parse --is-inside-work-tree > /dev/null 2>&1; then
log "FEHLER: Das Skript muss innerhalb eines Git-Repositories ausgeführt werden"
exit 1
fi
# Sichere aktuelle Änderungen, falls gewünscht
read -p "Möchtest du aktuelle ungespeicherte Änderungen sichern? (j/n): " backup_changes
if [[ "$backup_changes" == "j" ]]; then
BACKUP_DIR="$SCRIPT_DIR/../frontend-backup-$(date '+%Y%m%d-%H%M%S')"
log "Erstelle Backup in $BACKUP_DIR"
mkdir -p "$BACKUP_DIR"
if [ -d "$FRONTEND_DIR" ]; then
cp -r "$FRONTEND_DIR" "$BACKUP_DIR/"
log "Frontend-Backup erstellt in $BACKUP_DIR/reservation-platform"
else
log "Warnung: Frontend-Verzeichnis existiert nicht, kein Backup nötig"
fi
fi
# Resette das Frontend auf den Torben-Commit (27. Mai 2024)
TORBEN_COMMIT="3fd586caaf131006c429b48ee89d757062d4c9a1"
log "Resette Frontend auf Torben's Commit ($TORBEN_COMMIT)"
# Lösche ggf. vorhandenes Frontend-Verzeichnis
if [ -d "$FRONTEND_DIR" ]; then
log "Lösche existierendes Frontend-Verzeichnis"
rm -rf "$FRONTEND_DIR"
fi
# Checkout das Frontend vom Torben-Commit
log "Checkout Frontend aus dem Commit $TORBEN_COMMIT"
git -C "$SCRIPT_DIR" checkout $TORBEN_COMMIT -- reservation-platform
log "Frontend wurde erfolgreich auf Torben's Version zurückgesetzt"
# Erstelle einen Commit mit der Wiederherstellung, falls gewünscht
read -p "Möchtest du die Wiederherstellung committen? (j/n): " commit_changes
if [[ "$commit_changes" == "j" ]]; then
git -C "$SCRIPT_DIR" add reservation-platform
git -C "$SCRIPT_DIR" commit -m "Setze Frontend auf den Stand von Torben zurück (Commit: $TORBEN_COMMIT)"
log "Änderungen wurden committet"
else
log "Änderungen wurden NICHT committet"
fi
log "Frontend-Wiederherstellung abgeschlossen"
log "Um das Frontend zu starten, führe folgendes aus:"
log "cd $FRONTEND_DIR && pnpm install && pnpm dev"