钩子脚本:“始终执行脚本”复选框或相关的“强制”标志是什么意思?

钩子脚本:“始终执行脚本”复选框或相关的“强制”标志是什么意思?

在 TortoiseSVN(版本 1.9.2,在 Windows 7 x64 上)的设置中的钩子脚本部分中,“配置钩子脚本”对话框中有一个复选框“始终执行脚本”:

配置钩子脚本

“本地挂钩脚本”的属性对话框中也存在相同的复选框:

那具体是什么意思?
什么情况下,如果不勾选此复选框,钩子脚本就不会执行?

在帮助文档中根本没有提到,快照甚至没有显示该复选框。

我目前发现的唯一一件事是:
它绝对不会抑制“批准或拒绝客户端挂钩脚本”提示。

批准或拒绝客户端钩子脚本

该复选框连接到属性enforce的标志tsvn:*hook

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

答案1

看来我终于找到了“始终执行脚本”选项和标志的用途enforce

如果钩子脚本失败,可能会出现如下对话框(取决于钩子;示例显示了没有enforce标志的预提交钩子脚本,该脚本返回了非零退出代码):

在此处输入图片描述

您可能已经认出了“无挂钩重试”按钮。

如果您enforce为钩子设置了标志,重试按钮就会消失:

在此处输入图片描述

这是我注意到设置标志时存在差异的唯一情况enforce。一旦我发现 always-execute 选项的更多效果,我就会回到这里。

相关内容