From: Kai Moritz Date: Fri, 29 May 2026 18:53:58 +0000 (+0000) Subject: CLAUDE.md: ROOT-Lookup aus BRANCHES.sh → CLAUDE.md; vollständiges Session-Tagging X-Git-Tag: scripting--2026-06-04~56 X-Git-Url: http://juplo.de/gitweb/?a=commitdiff_plain;h=d627a09d97f6346c647775819112fb8dee9dd8e2;p=demos%2Fkafka%2Ftraining CLAUDE.md: ROOT-Lookup aus BRANCHES.sh → CLAUDE.md; vollständiges Session-Tagging Co-Authored-By: Claude Sonnet 4.6 --- diff --git a/CLAUDE.md b/CLAUDE.md index 67a08a93..9b6355e4 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -327,16 +327,9 @@ Image-Name muss immer `juplo/:` (Maven) oder `juplo/${proje ### ROOT eines Branches ermitteln -Der ROOT jedes Branches ist in `BRANCHES.sh` (auf dem `scripting`-Branch) als `__ROOT`-Variable definiert. **Vor jedem Rebase** den ROOT nachschlagen: +Der ROOT jedes Branches steht in der **ROOT-Tabelle in dieser `CLAUDE.md`** (Abschnitt „Branch-Hierarchie"). **Vor jedem Rebase dort nachschlagen** — nicht in `BRANCHES.sh` greifen, da die Tabelle hier bereits vollständig und geprüft ist. -```bash -git checkout scripting -grep "^__ROOT" BRANCHES.sh -# oder: alle ROOTs auflisten -grep "__ROOT=" BRANCHES.sh -``` - -Alternativ lässt sich der ROOT auch aus dem `--claude-N`-Tag ableiten: +Als Gegencheck lässt sich der ROOT auch aus dem `--claude-N`-Tag ableiten: ```bash git log --oneline -3 --claude-N # Die letzten Commits zeigen, welcher Eltern-Branch vorausgeht @@ -409,6 +402,17 @@ Wandelt ein Branch die Anwendung in eine **reine Java-Bibliothek** um (keine Spr Jede Rebase-Session taggt jeden abgeschlossenen Branch als `--claude-N`. Die Tag-Nummer erhöht sich pro Session. Tags dienen als Wiederherstellungspunkte — `./RESET.sh claude-N` setzt alle Branches auf die entsprechenden Tags zurück. Immer direkt nach Abschluss eines Branches taggen, bevor mit dem nächsten begonnen wird. +**Am Ende jeder Session: alle Branches taggen** — auch solche, die sich in dieser Session nicht geändert haben. Branches ohne neue Änderungen erhalten ein `--claude-N`-Tag auf demselben Commit wie ihr `--claude-(N-1)`-Tag: +```bash +for tag_prev in $(git tag | grep -- '--claude-N$'); do + tag_new="${tag_prev%--claude-(N-1)}--claude-N" + if ! git tag | grep -qxF "$tag_new"; then + git tag "$tag_new" "$(git rev-list -1 "$tag_prev")" + fi +done +``` +*(N durch die aktuelle Session-Nummer ersetzen.)* + ## Wesentliche Einschränkungen - `PUSH.sh` force-pusht — das ist für diesen Schulungsworkflow absichtlich und erwartet.