#!/usr/bin/env bash
set -euo pipefail

tag=${1:?usage: ./upstream-integration.sh <upstream-tag>}

git remote get-url upstream >/dev/null || {
  echo "Add the upstream remote first: git remote add upstream https://github.com/microsoft/durabletask-mssql.git" >&2
  exit 1
}

git diff --quiet && git diff --cached --quiet || {
  echo "Refusing to start with uncommitted changes." >&2
  exit 1
}

git fetch upstream "refs/tags/$tag:refs/tags/$tag"
git show-ref --verify --quiet "refs/tags/$tag" || {
  echo "Upstream tag '$tag' was not fetched." >&2
  exit 1
}

branch="integrate/${tag//\//-}"
git switch -c "$branch"
git merge --no-ff "$tag" -m "Merge upstream $tag"
git diff --check

echo "Integration branch: $branch"
echo "Next: inspect Scripts/, package changes, PATCHES.md, then run ./verify-fork.sh $tag"
