From a86d8b39ad7fa21bb35ebddeee6922465a8a65d4 Mon Sep 17 00:00:00 2001 From: dschlueter Date: Fri, 29 May 2026 20:53:01 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20restore-all.sh=20bewahrt=20PROTOKOLL.md?= =?UTF-8?q?=20standardm=C3=A4=C3=9Fig?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Neues Flag --reset-protokoll für expliziten Reset auf leere Templates. Ohne Flag bleiben ausgefüllte Protokolle erhalten. Co-Authored-By: Claude Sonnet 4.6 --- examples/restore-all.sh | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/examples/restore-all.sh b/examples/restore-all.sh index f7ca3a8..ce7fde2 100755 --- a/examples/restore-all.sh +++ b/examples/restore-all.sh @@ -2,11 +2,20 @@ # Stellt den Ausgangszustand aller Examples wieder her. # Löscht erzeugte Sub-Repos, restauriert Quelldateien aus dem Haupt-Repo # und bereinigt Build-Artefakte. +# +# Optionen: +# --reset-protokoll Setzt auch PROTOKOLL.md auf leere Templates zurück. +# Standard: PROTOKOLL.md bleibt unangetastet. set -euo pipefail ROOT="$(git -C "$(dirname "$0")" rev-parse --show-toplevel)" EXAMPLES="$ROOT/examples" +RESET_PROTOKOLL=false + +for arg in "$@"; do + [ "$arg" = "--reset-protokoll" ] && RESET_PROTOKOLL=true +done echo "Stelle Examples-Ausgangszustand wieder her..." @@ -16,8 +25,17 @@ for dir in python-calculator rust-wordcount go-fibonacci c-linkedlist; do rm -rf "$path/.git" echo " ✓ Sub-Repo entfernt: $dir" fi - git -C "$ROOT" checkout -- "examples/$dir/" - echo " ✓ Dateien restauriert: $dir" + # Quelldateien restaurieren — PROTOKOLL.md standardmäßig ausnehmen + while IFS= read -r file; do + git -C "$ROOT" checkout -- "$file" + done < <(git -C "$ROOT" ls-files "examples/$dir/" \ + | grep -v '/PROTOKOLL\.md$') + if $RESET_PROTOKOLL; then + git -C "$ROOT" checkout -- "examples/$dir/PROTOKOLL.md" + echo " ✓ Dateien restauriert: $dir (inkl. PROTOKOLL.md)" + else + echo " ✓ Dateien restauriert: $dir (PROTOKOLL.md behalten)" + fi done # Build-Artefakte und pi-coder-Laufzeitartefakte bereinigen @@ -29,4 +47,9 @@ find "$EXAMPLES" -name "TASK.md" -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)." +if $RESET_PROTOKOLL; then + echo "PROTOKOLL.md-Dateien wurden auf leere Templates zurückgesetzt." +else + echo "PROTOKOLL.md-Dateien wurden nicht verändert." + echo "Für leere Templates: $0 --reset-protokoll" +fi