fix(gates): hygiene STATE-Check robust gegen Root-Commit auf main
Some checks failed
gates / quality (push) Has been cancelled
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:
@@ -14,11 +14,14 @@ echo "[hygiene] pruefe Working Tree..."
|
||||
[ -z "$(git status --porcelain)" ] || note "Working Tree nicht sauber."
|
||||
|
||||
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)
|
||||
if [ -n "$base" ]; then
|
||||
base=$(git merge-base HEAD main 2>/dev/null || true)
|
||||
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$' || \
|
||||
note "STATE.md im aktuellen Branch nicht aktualisiert."
|
||||
else
|
||||
# auf main/Integration oder Root-Commit: letzten Commit pruefen
|
||||
git log -1 --name-only --pretty= | grep -q '^STATE.md$' || \
|
||||
note "STATE.md im letzten Commit nicht angefasst."
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user