我为预提交 Hook 实现了一个 python 脚本来检测提交消息、作者、更改的路径,然后在特定情况下抛出异常或错误。
我想在 VisualSVN 服务器 Pre-commit Hook 中设置这个脚本 pre-commit.py 在 Hooks 中使用这个命令
C:\Users\momo\Desktop\pre-commit.py %1 %2
当我想提交时,我得到了这个错误 Access Denied
看起来像 pre-commit hook doesn't recognize my syntax
最佳答案
Python 脚本在 Windows 上不被视为可执行文件。您应该将它们包装在 Windows Batch 中。例如,预提交 Hook 脚本如下所示:
set REPOS-PATH=%1
set TXN-NAME=%2
"C:\Python27\python.exe" "C:\Repositories\MyRepository\hooks\pre-commit.py" %REPOS-PATH% %TXN-NAME%
此 Windows 批处理脚本将运行位于 C:\Repositories\MyRepository\hooks\post-commit.py
的 Python 脚本,并将传递 %1
和 %2
个参数。
手动或通过 VisualSVN 服务器管理器控制台将此代码放入存储库的 \hooks\pre-commit.bat
或 \hooks\pre-commit.cmd
文件中:
- 启动 VisualSVN 服务器管理器 控制台。
- 右键点击存储库,然后点击属性。
- 点击 Hook 标签。
- 点击预提交 Hook ,然后点击编辑。
关于python - 如何在 Windows 上运行的 visualsvn 服务器预提交 Hook 中调用 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54356967/