Hook-Skripte: Was bedeutet das Kontrollkästchen "Skript immer ausführen" oder das zugehörige Flag "Durchsetzen"?

933
aschipfl

Im Abschnitt "Hook-Skripts" der Einstellungen von TortoiseSVN (Version 1.9.2, unter Windows 7 x64) befindet sich im Dialogfeld "Hook-Skripts konfigurieren" das Kontrollkästchen "Skript immer ausführen":

Configure Hook Scripts

Das gleiche Kontrollkästchen ist auch im Eigenschaftendialog für "Lokale Hook-Skripts" vorhanden:

Was ist die genaue Bedeutung davon?
In welchen Situationen wird ein Hook-Skript nur ausgeführt, wenn dieses Kontrollkästchen aktiviert ist?

In der Hilfedokumentation wird es überhaupt nicht erwähnt, die Momentaufnahmen zeigen dieses Kontrollkästchen sogar nicht.

Das einzige, was ich bisher herausgefunden habe, ist:
Die Aufforderung zum Bestätigen oder Ablehnen von clientseitigen Hook-Skripts wird auf keinen Fall unterdrückt.

Approve or reject client-side hook script

Das Kontrollkästchen ist mit der enforceFlagge der tsvn:*hookEigenschaft verbunden:

type_of_hook ^/path/to/hook/script [enforce] 
1
Schauen Sie hier http://svnbook.red-bean.com/de/1.8/svn.reposadmin.create.html#svn.reposadmin.create.hooks und beginnen Sie vielleicht mit dem Lesen von ** Implementing Repository Hooks ** und / oder dem ** Allgemeine Verwendung für Hook-Skripte **. Möglicherweise handelt es sich dabei um ein Hook-Skript auf Repository-Ebene von der Serverseite, das nur auf dieser Ebene und nicht auf der Clientseite gemäß der Dokumentation ausgelöst wird. Pimp Juice IT vor 7 Jahren 0
@PIMP_JUICE_IT, eigentlich ist es ein clientseitiges Hook-Skript, da ich auf meinem Client einen lokalen Pfad zum Hook-Skript angeben muss; Ich bin mir ziemlich sicher, dass dies kein serverseitiges Problem ist, ich bin sogar ziemlich sicher, dass es nur TortoiseSVN-spezifisch ist ... aschipfl vor 7 Jahren 0

1 Antwort auf die Frage

2
aschipfl

Es scheint, als habe ich endlich den Zweck der Option "Skript immer ausführen" und der enforceFlagge gefunden:

Falls ein Hook-Skript fehlschlägt, wird möglicherweise ein Dialogfeld wie das folgende angezeigt (je nach Hook; das Beispiel zeigt ein Hook-Skript vor dem Commit ohne enforceFlag, das einen Exit-Code ungleich Null zurückgegeben hat):

Möglicherweise haben Sie den Button "Wiederholen ohne Haken" bereits erkannt.

Wenn Sie das enforceFlag für den Hook setzen, wird die Wiederholungsschaltfläche ausgeblendet:

Dies ist die einzige Situation, in der ich einen Unterschied bemerkt habe, wenn das Flag enforcegesetzt ist. Ich werde hierher zurückkehren, sobald ich weitere Auswirkungen der Option "Immer ausführen" finde.