#!/bin/bash
# -----------------------------
# Script pour rollback vers une version précédente
# -----------------------------

SERVER_USER=tutoriu        # remplace par ton utilisateur SSH
SERVER_HOST=ftp.cluster030.hosting.ovh.net # remplace par ton serveur
SERVER_PATH=/homez.1548/tutoriu/old

# 1️⃣ Liste les 10 dernières versions (tags)
echo "🔹 Les 10 dernières versions disponibles :"
git fetch --tags
git tag --sort=-creatordate | head -n 10

# 2️⃣ Demande à l'utilisateur de choisir une version
read -p "Entrez la version/tag à laquelle revenir (ex: v1.2.0) : " VERSION

if [ -z "$VERSION" ]; then
  echo "❌ Aucune version saisie. Abandon."
  exit 1
fi

echo "🔹 Revenir à la version $VERSION"

# 3️⃣ Local : checkout et reset
git fetch origin
git checkout master
git reset --hard "$VERSION"

# 4️⃣ Pousser sur remote pour que master soit à jour (optionnel, si nécessaire)
git push origin master --force-with-lease

# 5️⃣ Déploiement sur serveur distant
echo "🔹 Déploiement de la version $VERSION sur le serveur..."
ssh $SERVER_USER@$SERVER_HOST << EOF
cd $SERVER_PATH
git fetch --all
git checkout master
git reset --hard origin/master
php bin/console cache:clear --env=prod
EOF

echo "✅ Rollback vers $VERSION terminé !"