lsa-planer

LSA-Planer Professional – Planungssoftware für Lichtsignalanlagen nach RiLSA 2015 und § 45 StVO. EUPL-1.2.

/ .githooks pre-commit

2,1 KB Rohdatei
.githooks/pre-commit — 38 Zeilen
1 #!/bin/sh
2 # Vor jedem Commit die Schnellstufe. Sie faengt ab, was sich sonst erst beim
3 # Anwender zeigt: falsch formatierter Quelltext, Typfehler, schwebende Zusagen,
4 # gebrochene Tests.
5 #
6 # WIE LANGE SIE BRAUCHT, STEHT NICHT HIER. Vor der Fassung 5.16.0 stand hier die
7 # Laufzeit desselben Befehls ein zweites Mal ("etwa zwanzig Sekunden"), und sie
8 # war um das Vierfache daneben. Zwei Stellen fuer eine Messung sind eine Stelle
9 # zu viel: Wer die eine nachmisst, zieht die andere nicht mit.
10 #
11 # Geprueft wird dabei der Arbeitsbaum, nicht der bereitgestellte Stand: Alle
12 # vier Stufen lesen die Dateien so, wie sie auf der Platte liegen, keine liest
13 # den Bereitstellungsbereich. Wer nur einen Teil bereitstellt (git add -p,
14 # git commit <pfad>), erfaehrt hier also nichts ueber den entstehenden Commit -
15 # der Lauf kann gruen sein, waehrend der Commit rot ist, und umgekehrt. Diesen
16 # Stand in einen Wegwerf-Arbeitsbaum zu schreiben und dort zu pruefen, waere
17 # genauer, verlangt aber je Commit ein neues Verzeichnis samt node_modules.
18 # Was das kostet, ist nicht gemessen; es faellt aber bei JEDEM Commit an, und
19 # ein Haken, der zu lange braucht, wird umgangen - dann prueft gar nichts mehr.
20 #
21 # Bewusst NICHT die Vollstufe: Sie baut zusaetzlich den Auslieferungsstand und
22 # startet Electron in einem echten Fenster - beides je Commit. Sie gehoert
23 # vor eine Veroeffentlichung (npm run gate).
24 #
25 # Eingerichtet mit: git config core.hooksPath .githooks
26 #
27 # Dieser Befehl gehoert einmal in JEDE Arbeitskopie. Er landet in .git/config
28 # und damit ausserhalb des Baumes; git clone, git worktree add und ein frisches
29 # Auschecken fuehren ihn nicht mit. Seit Fassung 5.12.0 setzt ihn das
30 # prepare-Skript in package.json bei jedem npm install; von Hand faellig ist er
31 # nur noch dort, wo kein npm install laeuft oder wo git dabei fehlschlaegt.
32 # Solange er in einer Arbeitskopie fehlt, findet Git diese Datei nicht: Dort
33 # geht jeder Commit ungeprueft durch - ohne --no-verify und ohne Meldung.
34 #
35 # Wer hier mit --no-verify vorbeigeht, umgeht genau die Pruefung, die den
36 # Fehler gefunden haette. Das ist keine Abkuerzung, das ist eine Wette.
37 set -e
38 npm run gate:schnell