python - 如何在 Windows 上运行的 visualsvn 服务器预提交 Hook 中调用 python 脚本

标签 python windows svn visualsvn-server pre-commit-hook

我为预提交 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


enter image description here

最佳答案

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 文件中:

  1. 启动 VisualSVN 服务器管理器 控制台。
  2. 右键点击存储库,然后点击属性
  3. 点击 Hook 标签。
  4. 点击预提交 Hook ,然后点击编辑

关于python - 如何在 Windows 上运行的 visualsvn 服务器预提交 Hook 中调用 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54356967/

相关文章:

python - 如何确定两条线之间的距离何时在某个阈值内?

c# - 为什么这段代码在 Windows 7 上有效,但在 Windows XP 上却无效?

SVN:如何重新创建已创建但尚未提交的目录

SVN 如何从功能分支中恢复更改

python - 谷歌应用引擎 GET/index.html HTTP/1.1"404 -

python - 如何使用 paramiko 与远程应用程序进行交互?

python - Numpy 聚合到 bin 中,然后计算总和?

c++ - C++ 头文件中的大小写敏感性

windows - 如何从 C 代码 (Win32) 生成 RFC1123 日期字符串

svn - 对于小型 Delphi 团队来说,什么是好的版本控制系统?