如何在 windows 上调用 visualsvn 服务器预提交挂钩 运行 中的 python 脚本

How to call a python script in visualsvn server precommit hook running on windows

我为预提交挂钩实现了一个 python 脚本来检测提交消息、作者、更改的路径,然后在特定情况下抛出异常或错误。

我想在 VisualSVN 服务器 Pre-commit Hook 中预先设置此脚本 commit.py 在 Hooks

中使用此命令
C:\Users\momo\Desktop\pre-commit.py %1 %2

当我想提交时,我得到了这个错误 Access Denied 看起来预提交挂钩无法识别我的语法


Python 脚本在 Windows 上不被视为可执行文件。您应该将它们包装在 Windows 批次中。例如,预提交挂钩脚本如下所示:

set REPOS-PATH=%1
set TXN-NAME=%2
"C:\Python27\python.exe" "C:\Repositories\MyRepository\hooks\pre-commit.py" %REPOS-PATH% %TXN-NAME%

此 Windows 批处理脚本将 运行 Python 位于 C:\Repositories\MyRepository\hooks\post-commit.py 的脚本并将传递 %1%2 参数。

手动或通过 VisualSVN 服务器管理器控制台将此代码放入存储库的 \hooks\pre-commit.bat\hooks\pre-commit.cmd 文件中:

  1. 启动 VisualSVN 服务器管理器 控制台。
  2. 右键单击存储库并单击属性
  3. 单击 挂钩 选项卡。
  4. 单击 Pre-commit 挂钩,然后单击 Edit