Perforce 触发器 - 修改描述文本

Perforce Triggers - modify description text

我正在浏览 Perforce : Prefill changelist description,它应该描述 1:1 如何创建 form-out change 触发器,我做到了。

  1. p4 触发器文件
    suffix form-out change "powershell S:/p4_template.ps1 %formfile%"
  1. 模板文件:
(Get-Content $args[0]) | 
Foreach-Object {$_ -replace "<enter description here>", "template text"} | 
Set-Content $args[0]

但是,我不断收到以下错误消息: 'suffix' 验证失败:

Execution Failed: powershell -ExecutionPolicy Bypass -File 
    S:/p4template.ps1 /tmp/tmp.379055.140083088879040.130: No such file or directory

我确实也重新启动了 perforce 服务器(只是因为在该线程中提到了它,但看起来它并不真的需要重新启动)。据我所知,我们想要访问 tmp 文件并替换文本,但是那个 tmp 文件 /tmp/tmp.379055.140083088879040.130 似乎不存在?我已经检查了 %TEMP% 并使用 ENV var 对其进行了设置。此外,当我单击 refresh 并执行 p4 change -o 操作时,我在 p4v 中收到此消息。

后代的回答:这里的问题是触发器在服务器上运行,而不是在客户端上运行,并且大概 No such file 指的是 powershell 可执行文件或脚本不存在于服务器。

关于 Perforce 触发器的文档:https://www.perforce.com/manuals/p4sag/Content/P4SAG/chapter.scripting.triggers.html