31 lines
998 B
Bash
Executable File
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)" |