From 0525fa352fcd8d5a052864f32136db33afba9686 Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Fri, 12 Jun 2026 16:56:22 +0000 Subject: [PATCH] docs(CLAUDE.md): push.sh-Beschreibung und Session-Tagging-Schema aktualisiert push.sh-Eintrag in der Skripttabelle beschreibt jetzt --tag und --force. Session-Tagging: manuellen Loop am Sitzungsende durch ./push.sh --tag claude-N --force ersetzt. Co-Authored-By: Claude Sonnet 4.6 --- CLAUDE.md | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index bd007d5b..d90c0a97 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -218,7 +218,7 @@ Alle Skripte binden `lib.sh` ein, das seinerseits `branches.sh` lädt und gemein |--------|-------| | `branches.sh` | Definiert die Iterationsliste `$BRANCHES` mit allen Branch-Namen als direkte Zeichenketten | | `lib.sh` | Shared Library mit `$BRANCH_NAMES`-Array und den Funktionen `find_common_tag_suffixes()` und `reset_branches_to_remote()` | -| `push.sh` | Force-pusht alle Branches und gemeinsame Tags zu origin; legt bei Bedarf TIMESTAMP-Backup-Tags an | +| `push.sh` | Force-pusht alle Branches zu origin; legt bei Bedarf TIMESTAMP-Backup-Tags an; mit `--tag ` werden alle Branches zusätzlich getaggt und die Tags gepusht; `--force` überschreibt bestehende Tags | | `reset.sh` | Setzt alle Branches zurück — auf `origin/` oder auf einen Tag-Stand | | `diff.sh` | Zeigt Diffs aller Branches an — lokal gegen origin, gegen einen Tag-Stand, oder zwei Tag-Stände gegeneinander | | `copy.sh` | Kopiert Branches in die Übungsverzeichnisse (`vorlagen/`, `livecoding/`, `spickzettel/`); bereinigt veraltete Verzeichnisse automatisch; optionale `schulung.conf` schränkt die kopierten Branches ein (siehe unten) | @@ -456,16 +456,11 @@ Um die wirklich neuen Inhalte einer Session zu identifizieren, nicht die Anzahl 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: +**Am Ende jeder Session: alle Branches taggen und pushen** — auch solche, die sich in dieser Session nicht geändert haben. Das übernimmt `push.sh --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 +./push.sh --tag claude-N --force ``` -*(N durch die aktuelle Session-Nummer ersetzen.)* +`--force` ist nötig, weil Branches während der Session bereits einzeln getaggt wurden und die Tags nun überschrieben werden müssen. *(N durch die aktuelle Session-Nummer ersetzen.)* ## Wesentliche Einschränkungen -- 2.39.5