Regel ergaenzen: nach dem Veroeffentlichen auf dem Server committen und pushen

Der Snapshot und die eingefrorenen fix-*-Bilder existieren nach
bin/stadionzeitung-publish.php zunaechst nur auf dem Server. Bleiben sie dort
uncommittet, scheitert der naechste Pull, und wer die Aenderung verwirft,
verliert veroeffentlichte Ausgaben. Am 03.09.2026 mit drei Ausgaben passiert;
der Reparaturweg (Server als Wahrheit, Zusammenfuehren je Slug) steht jetzt mit
dabei.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KubsajzuV6N6QsSd3xKNjC
This commit is contained in:
2026-09-03 11:13:33 +02:00
parent 0a01134583
commit e761231442

View File

@@ -589,6 +589,22 @@ sinnvoller Zeitpunkt: Spieltagmorgen nach dem letzten Matchcenter-Sync — **auf
liegt der frische Sync-Stand (`data/matchcenter.json` ist gitignored, lokal also älter).
`--entwurf` zieht zurück (Snapshot wird verworfen).
**Nach dem Veröffentlichen auf dem Server SOFORT committen und pushen** — das ist keine Kür,
sondern Teil des Vorgangs. `bin/stadionzeitung-publish.php` schreibt den Snapshot in
`data/stadionzeitung.json` und legt die eingefrorenen `fix-*`-Bilder an; beides existiert danach
zunächst **nur auf dem Server**. Bleibt es dort liegen, passieren zwei Dinge: ein `git pull` auf dem
Server scheitert beim nächsten Deploy an der geänderten Datei, und wer sie dort verwirft, verliert
die veröffentlichten Ausgaben ersatzlos (ein lokaler Stand setzt sie auf `entwurf` zurück, weil er
die Snapshots nie gesehen hat).
**Am 03.09.2026 genau so eingetreten:** drei veröffentlichte Ausgaben (01.08., 15.08., 29.08.)
lagen samt Snapshots und 70 `fix-*`-Dateien ausschließlich auf dem Server, der Pull der
Sportfest-Ausgabe brach mit „local changes would be overwritten" ab. Reparatur, in dieser
Reihenfolge: Server-Datei außerhalb des Repos sichern → `git checkout --` + `git pull` →
Ausgaben-Listen **je Slug** zusammenführen, **Server als Wahrheit**, aus dem Repo nur ergänzen was
dort fehlt → `git add data/stadionzeitung.json public/assets/img/stadionzeitung` → committen und
pushen. Ein Merge über den Dateiinhalt wäre keine Option gewesen: 1600 geänderte Zeilen JSON,
Konflikte mitten in eingefrorenen Datensätzen.
**Mit dem Snapshot werden auch die BILDER eingefroren** (seit 31.07.2026): das Skript kopiert
alles, worauf er zeigt (`img/crests/`, `img/instagram/`, `img/news/`), als `fix-*` in den
Ausgaben-Ordner und schreibt die Pfade um. **Grund:** vorher fror nur die Daten ein, die Pfade