2

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

当我使用 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

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

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

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

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

提前致谢。

4

1 回答 1

3

请考虑以下事项:

  • 网络驱动器映射和subst 映射是用户特定的。确保运行 svn 服务器的用户帐户存在驱动器。
  • 出于安全原因, subversion 挂钩脚本在没有设置任何环境变量的情况下运行,甚至%path%. 使用绝对路径调用 python 可执行文件,例如 c:\python25\python.exe.
于 2009-07-16T14:08:14.923 回答