web-dev-qa-db-ja.com

フックスクリプト:「常にスクリプトを実行する」チェックボックスまたは関連する「強制」フラグはどういう意味ですか?

TortoiseSVN(バージョン1.9.2、Windows 7 x64)の[フックスクリプト]セクションの[フックスクリプトの構成]ダイアログに[常にスクリプトを実行する]チェックボックスがあります。

Configure Hook Scripts

「ローカルフックスクリプト」の[プロパティ]ダイアログにも同じチェックボックスがあります。

その正確な意味は何ですか?
このチェックボックスがオンになっていないと、フックスクリプトが実行されないのはどのような状況ですか?

ヘルプドキュメントにはまったく記載されておらず、スナップショットにはそのチェックボックスも表示されていません。

私がこれまでに見つけた唯一のことは:
「クライアント側フックスクリプトの承認または拒否」プロンプトは絶対に抑制されません。

Approve or reject client-side hook script

チェックボックスは、tsvn:*hookプロパティのenforceフラグに接続されています。

type_of_hook  ^/path/to/hook/script  {false|true}  {show|hide}  [enforce]
2
aschipfl

「常にスクリプトを実行する」オプションとenforceフラグの目的をようやく見つけたようです。

フックスクリプトが失敗した場合、次のようなダイアログが表示されることがあります(フックによって異なります。この例は、ゼロ以外の終了コードを返すenforceフラグのないpre-commitフックスクリプトを示しています)。

enter image description here

「フックなしで再試行」ボタンをすでに認識しているかもしれません。

フックにenforceフラグを設定すると、再試行ボタンが消えます。

enter image description here

これは、フラグenforceが設定されているときに違いに気付いた唯一の状況です。常に実行するオプションの効果がさらに見つかったら、すぐにここに戻ります。

3
aschipfl