如何在 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
文件中:
- 启动 VisualSVN 服务器管理器 控制台。
- 右键单击存储库并单击属性。
- 单击 挂钩 选项卡。
- 单击 Pre-commit 挂钩,然后单击 Edit。
我为预提交挂钩实现了一个 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
文件中:
- 启动 VisualSVN 服务器管理器 控制台。
- 右键单击存储库并单击属性。
- 单击 挂钩 选项卡。
- 单击 Pre-commit 挂钩,然后单击 Edit。