无法让Perforce触发器正常工作。

问题描述 投票:0回答:1

我一整天都在尝试让这个工作,但我就是想不通为什么它不能工作。我想实现一个简单的触发器,当用户提交文件时运行。

例如,在.tmp文件中,我想实现一个简单的触发器,当用户提交文件时运行。

hello_trigger change-submit /testDepot... "python F:触发器hello_trigger.py"

当我试图提交一个文件时,我得到了这样的信息:"提交验证失败--解决问题,然后使用'p4提交-c 10199'。

'hello_trigger'验证失败:python: can't open file 'F:t triggershello_trigger.py': [Errno 2] 没有这样的文件或目录。

文件存在并且可以读取,所以不是python的问题......txt或.bat文件也会出现同样的错误。

据我所知,问题似乎来自触发器中的仓库行。

/testDepot...失败

/depot......不会失败,但是脚本从来没有被启动过。

任何建议都非常感激。

testDepot也是一个流,不知道这是否重要。

python triggers perforce p4v
1个回答
0
投票
python: can't open file 'F:/triggers/hello_trigger.py': [Errno 2] No such file or directory

至少从这个触发命令的角度来看,这个文件不存在是很清楚的。 有些事情需要仔细检查。

  1. 这条命令是在... 服务器机即 p4d 服务运行的地方。 如果您的客户端机器上有这个脚本,那么服务器上的 Python 可执行文件将无法找到它。
  2. 同样,这个脚本也是由运行 p4d 的任何用户运行的 (在 Windows 上通常是 SYSTEM 用户,它可能有有限的权限)。 该用户是否有权限读取这个路径?
  3. 可能是您在 Windows 上的 Python 版本不知道如何处理带有 Unix 风格的斜线的路径? (许多工具会为您规范化这些路径,但您不应该依赖它!)尝试使用有效的 Windows 路径,即 F:\triggers\hello_trigger.py.
© www.soinside.com 2019 - 2024. All rights reserved.