pi_coder/examples/restore-all.sh
2026-05-29 19:06:36 +02:00

31 lines
1 KiB
Bash
Executable file

#!/usr/bin/env bash
# Stellt den Ausgangszustand aller Examples wieder her.
# Löscht erzeugte Sub-Repos, restauriert Quelldateien aus dem Haupt-Repo
# und bereinigt Build-Artefakte.
set -euo pipefail
ROOT="$(git -C "$(dirname "$0")" rev-parse --show-toplevel)"
EXAMPLES="$ROOT/examples"
echo "Stelle Examples-Ausgangszustand wieder her..."
for dir in python-calculator rust-wordcount go-fibonacci c-linkedlist; do
path="$EXAMPLES/$dir"
if [ -d "$path/.git" ]; then
rm -rf "$path/.git"
echo " ✓ Sub-Repo entfernt: $dir"
fi
git -C "$ROOT" checkout -- "examples/$dir/"
echo " ✓ Dateien restauriert: $dir"
done
# Build-Artefakte bereinigen
rm -rf "$EXAMPLES/rust-wordcount/target"
find "$EXAMPLES" -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true
find "$EXAMPLES" -name ".pytest_cache" -exec rm -rf {} + 2>/dev/null || true
find "$EXAMPLES" -name "ll_demo" -delete 2>/dev/null || true
echo ""
echo "Fertig. Alle Examples sind im Ausgangszustand."
echo "git status zeigt examples/ als clean (wenn kein PROTOKOLL.md verändert wurde)."