fix(gates): hygiene STATE-Check robust gegen Root-Commit auf main
Some checks failed
gates / quality (push) Has been cancelled

merge-base HEAD main == HEAD (Root-Commit / main an der Spitze) ergab einen
leeren Branch-Diff -> STATE.md faelschlich als 'nicht aktualisiert' gewertet.
Jetzt: Branch-Diff nur bei echter Divergenz, sonst letzten Commit pruefen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-03 06:56:34 +02:00
parent 874fcd2ea6
commit f6a0fa8b6c

View File

@@ -14,11 +14,14 @@ echo "[hygiene] pruefe Working Tree..."
[ -z "$(git status --porcelain)" ] || note "Working Tree nicht sauber." [ -z "$(git status --porcelain)" ] || note "Working Tree nicht sauber."
echo "[hygiene] STATE.md im aktuellen Branch aktualisiert?" echo "[hygiene] STATE.md im aktuellen Branch aktualisiert?"
base=$(git merge-base HEAD main 2>/dev/null || git rev-parse HEAD~1 2>/dev/null || true) base=$(git merge-base HEAD main 2>/dev/null || true)
if [ -n "$base" ]; then head=$(git rev-parse HEAD 2>/dev/null || true)
if [ -n "$base" ] && [ "$base" != "$head" ]; then
# echte Divergenz (Feature-Branch): Diff gegen Abzweigpunkt
git diff --name-only "$base"...HEAD | grep -q '^STATE.md$' || \ git diff --name-only "$base"...HEAD | grep -q '^STATE.md$' || \
note "STATE.md im aktuellen Branch nicht aktualisiert." note "STATE.md im aktuellen Branch nicht aktualisiert."
else else
# auf main/Integration oder Root-Commit: letzten Commit pruefen
git log -1 --name-only --pretty= | grep -q '^STATE.md$' || \ git log -1 --name-only --pretty= | grep -q '^STATE.md$' || \
note "STATE.md im letzten Commit nicht angefasst." note "STATE.md im letzten Commit nicht angefasst."
fi fi