Skip to content

Commit 00eb329

Browse files
committed
_tools/pre-push-check.sh improvements (cleans cache before build the html's)
1 parent 73c6015 commit 00eb329

1 file changed

Lines changed: 46 additions & 9 deletions

File tree

‎_tools/pre_push_check.sh‎

Lines changed: 46 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -87,15 +87,43 @@ if $RUN_QUICK; then
8787
# Die CI formatiert nach jedem Push automatisch mit powrap und
8888
# committet das Ergebnis. Wer lokal nicht formatiert, bekommt beim
8989
# naechsten Rebase Konflikte in genau diesen Zeilen. Deshalb hier.
90-
vorher=$(git -C "$REPO_ROOT" diff --name-only -- '*.po' | wc -l | tr -d ' ')
91-
powrap -m 2>/dev/null
92-
nachher=$(git -C "$REPO_ROOT" diff --name-only -- '*.po' | wc -l | tr -d ' ')
93-
if [[ "$vorher" != "$nachher" ]]; then
94-
echo "powrap hat weitere Dateien umbrochen -- bitte mit committen."
95-
else
96-
echo "OK -- Umbruch war bereits sauber."
97-
fi
98-
pass=$((pass + 1))
90+
#
91+
# '--check' schreibt nichts, sondern liefert nur den Status:
92+
# 0 = nichts zu tun, 1 = wuerde umbrechen,
93+
# 2 = Datei(en) nicht formatierbar, 127 = msgcat fehlt.
94+
# Der frueher benutzte Vergleich der Anzahl geaenderter Dateien war
95+
# blind: eine bereits geaenderte Datei bleibt in der Liste, egal ob
96+
# powrap sie anfasst -- der Check meldete dann immer "sauber".
97+
powrap --check -q -m -C "$REPO_ROOT" >/dev/null 2>&1
98+
powrap_status=$?
99+
case $powrap_status in
100+
0)
101+
echo "OK -- Umbruch ist sauber."
102+
pass=$((pass + 1))
103+
;;
104+
1)
105+
echo "Umbruch nicht sauber -- powrap formatiert jetzt ..."
106+
powrap -q -m -C "$REPO_ROOT"
107+
echo "Diese Dateien bitte mit committen:"
108+
git -C "$REPO_ROOT" diff --name-only -- '*.po' \
109+
| sed 's/^/ /'
110+
pass=$((pass + 1))
111+
;;
112+
2)
113+
echo "FEHLER: powrap konnte Dateien nicht formatieren."
114+
powrap -d -q -m -C "$REPO_ROOT" 2>&1 | sed 's/^/ /'
115+
fail=$((fail + 1))
116+
;;
117+
127)
118+
echo "msgcat nicht gefunden -- gehoert zu gettext"
119+
echo "(brew install gettext). Schritt uebersprungen."
120+
skip=$((skip + 1))
121+
;;
122+
*)
123+
echo "powrap endete mit unerwartetem Code $powrap_status."
124+
fail=$((fail + 1))
125+
;;
126+
esac
99127
fi
100128

101129
log_section "1b/5 msgfmt --check (Syntax)"
@@ -214,6 +242,15 @@ if $RUN_FULL; then
214242
fi
215243
fi
216244

245+
# Immer frisch bauen, so wie die CI. 'make html' baut sonst
246+
# inkrementell und haelt in seiner Umgebungsdatei unter Doc/build/
247+
# alte Werte fest -- zum Beispiel die Argumentnamen von
248+
# audit-event-Direktiven, die upstream umbenannt wurden. Das sieht dann
249+
# lokal wie ein Uebersetzungsfehler aus und ist keiner.
250+
echo "Raeume Sphinx-Cache auf (make clean) ..."
251+
(cd "$CPYTHON_SRC/Doc" && make clean) \
252+
|| echo "Hinweis: 'make clean' fehlgeschlagen -- Build ist inkrementell."
253+
217254
LOCALE_DIR="$CPYTHON_SRC/Doc/locales/de/LC_MESSAGES"
218255
echo "Verknuepfe aktuellen Uebersetzungsstand ($BRANCH) nach $LOCALE_DIR ..."
219256
rm -rf "$LOCALE_DIR"

0 commit comments

Comments
 (0)