Perforce:预填充更改列表说明

时间:2014-07-29 12:45:53

标签: version-control triggers perforce administrator p4v

我正在我的公司设置一个perforce服务器,并希望实现"更改列表"预先填写的描述(类似于GIT中的提交模板),但在线参考说我需要在触发器的帮助下做同样的事情。我发现我需要实现更改内容和更改提交类型或触发器。但是我在互联网上发现的所有文档都只是以一种非常原始的形式告诉我,而不是以精心设计的方式。甚至互联网上也没有视频参考。

如果有人可以帮助我创建触发器,我会非常感激。(这是我第一次参加Perforce Management。)

作为参考,模板将包含以下文字: -

[BUG_ID]
[TITLE]
[解决方案]
[显影剂]
[TEAM]

提前致谢。

Jayesh

编辑(2014年7月30日) -----------------------
在Byran回答之后,我尝试了以下内容。 我在触发后的文本文件中添加了以下行' p4触发器'


template_setter form-out change "c:/test/p4_template.ps1 %changelist%"

并将以下代码放在ps1文件中

(Get-Content $args[0]) | 
Foreach-Object {$_ -replace "/<enter description here>", " Issue:
'nComment: "} | 
Set-Content $args[0]


但是当我尝试保存触发器文件时,它会说&#34;语法错误&#34;。而且我完全陷入了困境。在互联网上,我发现几乎所有的例子都说我必须这样做。但这种方式不起作用。

EDIT2(2014年7月30日) -----------------------
我发现我在触发器文件中的触发器名称之前省略了4个空格。之后它接受了触发器。 但现在问题是内部的代码(如上所述)不起作用。 P4V给我一个错误,上面的文件不是一个有效的WIN32应用程序。

EDIT3(2014年7月30日) -----------------------
我通过在触发器文件中的触发器文件路径之前添加powershell来修复 EDIT2 问题。 现在我的触发器是执行还是不执行我不确定。其次,我不确定它是否正确执行。

请帮忙。 感谢

2 个答案:

答案 0 :(得分:2)

您需要“更改”表单的“表单”触发器。

尝试使用Google搜索

perforce form-out trigger example change

这是一个链接,其结果仅限于forums.perforce.com:http://www.google.com/search?q=perforce+form-out+trigger+example+change+site:forums.perforce.com

以下是更广泛结果的链接: http://www.google.com/search?q=perforce+form-out+trigger+example+change

答案 1 :(得分:2)

最后,我已经找到了整个过程。
如下(基于Windows PowerShell的解决方案): -

第1步:创建PowerShell脚本文件(例如test.ps1)并将此代码放入其中
(Get-Content $args[0]) | Foreach-Object {$_ -replace "<enter description here>", "template text"} | Set-Content $args[0]

步骤2 :将此文件保存到物理服务器(尽量不要有空格的路径) (例如,我的案例文件位于物理服务器上的c:\ triggers \ p4_template.ps1)

步骤3 :在命令提示符下运行此命令,超级访问P4
p4 triggers

步骤4 :将此文本放入刚刚打开的文本文件中,作为步骤3的结果
<template_name> form-out change "powershell c:/test/p4_template.ps1 %formfile%"
(在&lt; template_name&gt;之前不要忘记放入4个白色空格)
(你可以使用连字符和/或下划线放置任何带有空格的模板名称)

步骤4 :在命令提示符下运行此命令,并在物理服务器上使用 admin 权限命令提示符
set-executionpolicy remotesigned

步骤5 :从 Services.msc 重新启动 Perforce 服务,或者重启整个服务器一次。

步骤6 :检查P4V客户端应用程序的实现。

此实施100%正确运行。希望这对你也有帮助。

特别感谢Bryan Pendleton,他让我开始工作。

(请注意,如果您在我给出的代码段中发现任何额外的空格,请忽略,除非我已明确提及它。) 如果您觉得有帮助,请投票。