#!/bin/bash
# -----------------------------
# Création d'une release branch
# Usage: ./create-release.sh 1.0.0
# Crée: release-1.0.0
# -----------------------------

VERSION=$1

if [ -z "$VERSION" ]; then
  echo "Usage: ./create-release.sh <version>"
  echo "Exemple: ./create-release.sh 1.0.0"
  exit 1
fi

RELEASE_BRANCH="release-$VERSION"

if [ -n "$(git status --porcelain)" ]; then
  echo "❌ Tu as des changements non commités."
  echo "Fais un commit ou un stash avant de créer la release."
  exit 1
fi

echo "Création de la release $VERSION"
echo "Branche : $RELEASE_BRANCH"

git checkout develop || exit 1
git pull origin develop || exit 1

if git show-ref --verify --quiet "refs/heads/$RELEASE_BRANCH"; then
  echo "❌ La branche locale $RELEASE_BRANCH existe déjà."
  exit 1
fi

if git ls-remote --exit-code --heads origin "$RELEASE_BRANCH" >/dev/null 2>&1; then
  echo "❌ La branche distante origin/$RELEASE_BRANCH existe déjà."
  exit 1
fi

git checkout -b "$RELEASE_BRANCH" || exit 1
git push -u origin "$RELEASE_BRANCH" || exit 1

echo "✅ Release créée : $RELEASE_BRANCH"
echo ""
echo "Pour déployer :"
echo "./deploy-release.sh $VERSION"