From 77dfac79ee604d1c63f01c6a922f9e5b8fc0c78e Mon Sep 17 00:00:00 2001 From: Hitonabi Date: Thu, 16 Jul 2026 11:04:58 +0200 Subject: [PATCH] selbst-inventur: Diff-Filter warf alle Bullet-Zeilen weg (immer "0 Aenderungen") MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Steckbrief-Zeilen sind Bullets ("- ..."), im Diff also "+- "/"-- " — der alte Filter ^[+-][^+-] (gedacht gegen +++/----Kopfzeilen) verschluckte damit jede echte Aenderung. Jetzt werden nur die Datei-Kopfzeilen ausgefiltert. Beweis 16.07.: realer Nacht-Diff hatte 7 Aenderungen, Meldung sagte 0. Co-Authored-By: Claude Fable 5 --- deploy/selbst-inventur.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/deploy/selbst-inventur.sh b/deploy/selbst-inventur.sh index f61e001..1bebbc3 100644 --- a/deploy/selbst-inventur.sh +++ b/deploy/selbst-inventur.sh @@ -121,9 +121,12 @@ mv "$STECK.tmp" "$STECK" if [ -f "$PREV" ]; then if ! diff -u "$PREV" "$STECK" > "$DIFFOUT.tmp" 2>/dev/null; then # Nur echte Inhaltszeilen behalten (kein +++/---/@@-Rauschen fuer die Meldung). + # Steckbrief-Zeilen sind Bullets ("- ...") und stehen im Diff als "+- "/"-- " — + # deshalb NUR die Datei-Kopfzeilen ausfiltern, nie aufs zweite Zeichen pruefen + # (alter Filter '^[+-][^+-]' warf jede Bullet-Aenderung weg -> immer "0 Aenderungen"). mv "$DIFFOUT.tmp" "$DIFFOUT" - KURZ="$(grep -E '^[+-][^+-]' "$DIFFOUT" | head -12)" - N="$(grep -cE '^[+-][^+-]' "$DIFFOUT" || true)" + KURZ="$(grep -E '^[+-]' "$DIFFOUT" | grep -vE '^(\+\+\+ |--- )' | head -12)" + N="$(grep -E '^[+-]' "$DIFFOUT" | grep -vcE '^(\+\+\+ |--- )' || true)" briefkasten "Selbst-Inventur" "Mein Selbstbild hat sich geaendert (${N:-?} Zeilen): ${KURZ} (Vollstaendiger Steckbrief: ~/.hermes/state/selbst-steckbrief.md)"