netgescon-day0/scripts/ai/bootstrap_docs_mirror.sh

31 lines
998 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
TARGET_DIR="${1:-}"
REPO_URL="${NETGESCON_DOCS_REPO:-ssh://git@192.168.0.53:2222/michele/netgescon-day0.git}"
BRANCH="${NETGESCON_DOCS_BRANCH:-main}"
if [[ -z "$TARGET_DIR" ]]; then
echo "Uso: $0 /percorso/mirror-docs" >&2
exit 1
fi
mkdir -p "$TARGET_DIR"
if [[ ! -d "$TARGET_DIR/.git" ]]; then
rm -rf "$TARGET_DIR"
git clone --filter=blob:none --sparse --branch "$BRANCH" "$REPO_URL" "$TARGET_DIR"
fi
git -C "$TARGET_DIR" remote set-url origin "$REPO_URL"
git -C "$TARGET_DIR" sparse-checkout set docs scripts/ai
git -C "$TARGET_DIR" fetch origin "$BRANCH"
git -C "$TARGET_DIR" checkout "$BRANCH"
git -C "$TARGET_DIR" pull --ff-only origin "$BRANCH"
echo "TARGET_DIR=$TARGET_DIR"
echo "REPO_URL=$(git -C "$TARGET_DIR" remote get-url origin)"
echo "BRANCH=$(git -C "$TARGET_DIR" branch --show-current)"
echo "COMMIT=$(git -C "$TARGET_DIR" rev-parse --short HEAD)"
echo "DOCS_READY=$([[ -f "$TARGET_DIR/docs/README.md" ]] && echo yes || echo no)"