客户端挂钩脚本设置的相对路径

Relative path for client hook script settings

我正尝试在 Windows 7 上为 TortoiseSVN 1.8.11 创建客户端挂钩脚本。 给我带来麻烦的是设置中挂钩脚本的路径(设置 - >挂钩脚本)。

使用我的批处理脚本的绝对路径是可行的,但我需要使用相对于存储库的路径。这样做的原因是同事可能在不同的位置有他们的存储库,每个人都应该使用钩子脚本。服务器端挂钩是不可能的,因为我无法修改服务器。

我尝试使用环境变量 ^/my/path/hook.bat^^/my/path/hook.bat,但没有成功。

  1. 客户端挂钩是本地可执行文件,与您的本地工作副本(不是存储库)没有任何关系
  2. TortoiseSVN 的配置,使用 TortoiseSVN - Settings 执行,未存储在 WC|存储库中,也是 纯本地

如果你想让团队中的每个人都可以使用和调用任何客户端挂钩(仅 TortoiseSVN),你有

  • 将这些脚本放入存储库
  • 将所有挂钩定义为存储库中的文件夹属性。阅读
    • tsvn:startcommithook
    • tsvn:precommithook
    • tsvn:postcommithook
    • tsvn:startupdatehook
    • tsvn:preupdatehook
    • tsvn:postupdatehook

属性和参数以及关于在 TSVN 帮助的脚本路径中使用特殊变量(%REPOROOT%%REPOROOT+%),部分“4.17.2. TortoiseSVN 项目属性”