Korrektur meiner eigenen Einordnung von vorhin: ich hatte restart_server.bat als "Wiederanlauf-Pfad" ausgenommen. Falsch. Die Aufgabenplanung startet start_server_hidden.vbs -> start_server.bat; restart_server.bat wird von NICHTS automatisch aufgerufen (geprueft) und ist damit ein absichtliches Deployment. Es prueft jetzt vor dem Kill, Notausgang --ohne-pruefung. Nur start_server.bat bleibt ungeprueft - das ist der echte Wiederanlauf-Pfad. Zwei cmd-Fallen, beide NUR durch den Positiv-Test gefunden: 1) `if errorlevel 1` innerhalb eines geklammerten if/else-Blocks wird zur PARSE-Zeit ausgewertet, nicht zur Laufzeit. Der erste Entwurf brach deshalb auch bei SAUBEREM Code ab - der Neustart haette nie mehr funktioniert. Behoben mit Sprungmarken statt Klammer-Bloecken. 2) `echo ... ^(x^)` maskiert im Block anders -> "Der Befehl [0] ist falsch geschrieben". Text jetzt ohne runde Klammern. Der Negativ-Test allein sah in beiden Faellen voellig in Ordnung aus: kaputter Code -> Abbruch, Server unangetastet, Exit 1. Erst der Positiv-Test hat es entlarvt. Eine Sperre muss man in beide Richtungen pruefen. Alle drei Zweige verifiziert (sauber -> weiter/rc 0, kaputt -> Abbruch/rc 1, --ohne-pruefung -> weiter/rc 0), gegen eine Attrappe, deren Kill/Start durch ein echo ersetzt ist - so liess sich der Durchlauf-Zweig pruefen, ohne den laufenden Server anzufassen. Auch der Testaufbau hatte einen Fehler: die Attrappe lag zuerst in %TEMP%, dort macht `cd /d "%~dp0"` das Temp-Verzeichnis zum Arbeitsordner und %~dp0tools\pre_commit.py existiert nicht -> scheinbarer Fehlschlag. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
0 lines
0 B
Plaintext
0 lines
0 B
Plaintext
The file is empty.