在windows上的subversion挂钩中使用python脚本

时间:2009-07-16 05:15:13

标签: python windows svn hook svn-hooks

我的主要目标是让this启动并运行。

当我使用Tortoise SVN进行提交时,我的钩子被调用,但是当我到达这一行时它总是退出:Python“%~dp0trac-post-commit-hook.py”-p“%TRAC_ENV%”-r “%REV%”||退出5

如果我尝试用任何简单的Python脚本替换对python脚本的调用,它仍然不起作用,所以我假设它是调用Python而不是脚本本身的问题。

我已尝试设置PYTHON_PATH变量,并设置%PATH%以包含Python。

我已经启动并运行,因此Python正在处理服务器本身。

以下是一些背景信息:

  • Python安装在Windows服务器上,脚本从本地机器调用,所以

    如果不存在%TRAC_ENV%退出3

    SET PYTHON_PATH = X:\ Python26 如果不存在%PYTHON_PATH%退出4

失败,除非我将它们设置为映射的网络驱动器(即将它们指向X和Y驱动器而不是C和E驱动器)

  • 无论驱动器如何,都可以从服务器的命令行调用Python脚本,因此应该正确设置PATH变量

外部调用python脚本似乎是一个问题,但不确定如何更改此权限。

提前致谢。

1 个答案:

答案 0 :(得分:3)

考虑以下因素:

  • 网络驱动器映射和subst 映射是用户特定的。确保 用户帐户存在驱动器 svn服务器所在的位置 运行
  • 出于安全原因,
  • subversion hook脚本为run without any environment variables being set,甚至不是%path%。呼叫 带有一个python可执行文件 绝对路径,例如 c:\python25\python.exe