food-market/deploy/rebrand-rollback.sh
nns ec7d2dc601 rebrand: подготовка к откату (тег, rollback-док и скрипт, прогресс)
- Тег pre-rebrand-all-market на дорибрендинговом main (c8c0be5), запушен.
- docs/rebrand-all-market-progress.md — план и границы (что НЕ трогаем).
- docs/rebrand-rollback.md — точные команды отката кода (revert-диапазон) и стенда.
- deploy/rebrand-rollback.sh — dry-run по умолчанию, --apply для реального отката.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 17:13:21 +05:00

59 lines
2.4 KiB
Bash
Executable file
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env bash
# Откат ребрендинга ALL MARKET → Food Market.
# По умолчанию dry-run (печатает план). С --apply реально откатывает:
# 1) git revert диапазона pre-rebrand-all-market..HEAD (сохраняет историю),
# 2) пересборка+редеплой стенда (~/deploy-stage.sh).
# Публичный сайт (Astro) откатывается отдельно — см. docs/rebrand-rollback.md.
set -euo pipefail
TAG="pre-rebrand-all-market"
APPLY=0
[[ "${1:-}" == "--apply" ]] && APPLY=1
cd "$(dirname "$0")/.."
REPO="$(pwd)"
if ! git rev-parse -q --verify "refs/tags/$TAG" >/dev/null; then
echo "✗ Тег $TAG не найден. Нечего откатывать (или тег не создан)." >&2
exit 1
fi
RANGE="$TAG..HEAD"
COMMITS="$(git log --oneline "$RANGE" 2>/dev/null || true)"
COUNT="$(git rev-list --count "$RANGE" 2>/dev/null || echo 0)"
echo "── Откат ребрендинга ALL MARKET → Food Market ──"
echo "Репозиторий: $REPO"
echo "Якорь (тег): $TAG = $(git rev-parse --short "$TAG")"
echo "Диапазон отката: $RANGE (коммитов: $COUNT)"
echo "Коммиты диапазона:"
echo "${COMMITS:- (пусто — откатывать нечего)}" | sed 's/^/ /'
echo
if [[ "$COUNT" -eq 0 ]]; then
echo "Нет коммитов после тега — откат не требуется."
exit 0
fi
CMD_REVERT="git revert --no-edit $RANGE && git push origin main"
CMD_DEPLOY="$HOME/deploy-stage.sh"
if [[ "$APPLY" -eq 0 ]]; then
echo "DRY-RUN. Будет выполнено (запусти с --apply):"
echo " 1) $CMD_REVERT"
echo " 2) $CMD_DEPLOY # пересборка+редеплой стенда api+web"
echo
echo "Жёсткая альтернатива кода (переписывает историю, только по согласованию):"
echo " git reset --hard $TAG && git push --force-with-lease origin main"
exit 0
fi
echo "APPLY: выполняю откат…"
echo "→ git revert --no-edit $RANGE"
git revert --no-edit "$RANGE"
echo "→ git push origin main"
git push origin main
echo "→ $CMD_DEPLOY"
"$HOME/deploy-stage.sh"
echo "✓ Откат кода и стенда выполнен. Публичный сайт откати отдельно."