Files
shop10/scripts/push-wiki.sh
T

54 lines
1.3 KiB
Bash

#!/bin/bash
# Публикация wiki/ в Gitea Wiki
# Использование:
# export GITEA_TOKEN=токен # или настройте git credentials
# bash scripts/push-wiki.sh
set -euo pipefail
GITEA_WIKI_URL="${GITEA_WIKI_URL:-https://git.evilfox.cc/test/shop10.wiki.git}"
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
WIKI_SRC="${REPO_ROOT}/wiki"
TMPDIR="${TMPDIR:-/tmp}/shop-wiki-$$"
if [ ! -d "$WIKI_SRC" ]; then
echo "Нет каталога wiki/"
exit 1
fi
cleanup() { rm -rf "$TMPDIR"; }
trap cleanup EXIT
if [ -n "${GITEA_TOKEN:-}" ]; then
CLONE_URL="https://${GITEA_TOKEN}@${GITEA_WIKI_URL#https://}"
else
CLONE_URL="$GITEA_WIKI_URL"
fi
if git clone "$CLONE_URL" "$TMPDIR" 2>/dev/null; then
:
else
echo "Клонирование wiki (первый раз)..."
mkdir -p "$TMPDIR"
cd "$TMPDIR"
git init
git remote add origin "$CLONE_URL"
cd -
fi
rsync -a --delete "${WIKI_SRC}/" "${TMPDIR}/"
cd "$TMPDIR"
git add -A
if git diff --staged --quiet; then
echo "Wiki без изменений."
exit 0
fi
git config user.email "wiki@shop.local"
git config user.name "Shop Wiki"
git commit -m "docs: установка Docker и без Docker (v0.10.0)"
git branch -M main 2>/dev/null || true
git push -u origin main
echo "Wiki опубликована: https://git.evilfox.cc/test/shop10/wiki"