在php中创建一个p4更改列表

时间:2012-08-10 03:09:02

标签: php perforce changelist

我有一段时间试图创建一个更改列表,返回p4中可用的实际更改列表ID。

我试过了

$ out = $ p4-> run('change',' - o'); $ out = $ p4-> run('change','i');

的print_r($出);

对此有何想法?似乎我错过了传递描述值的能力

以下是使用的更新代码和返回的数据

$change = $p4->run('change', '-o');
$change[0]["Description"] = "Some description";
d($change);
$out = $p4->run_submit('-i',$change);
d($out);

这是返回的数据

Array
(
[0] => Array
    (
        [Change] => new
        [Client] => steve-contentdev
        [User] => stevet
        [Status] => new
        [Description] => Some description
    )

)
[P4.run()] Errors during command execution( "p4 submit -i" ) [Error]: Error in change       specification. Missing required field 'Change'. Error: Error in change specification. Missing required field 'Change'.

d函数只是一个print_r,它周围很漂亮。

2 个答案:

答案 0 :(得分:1)

经过一些摆弄后,我遇到输入命令,将值输入到表单中,并且从p4更改它需要添加一些东西..这是php的最终代码,它将自动创建一个更改列表你

$change = $p4->fetch_change();
$change[ 'Description' ] = "Autosubmitted changelist" ; 
$p4->input = $change;
$out = $p4->run('change','-i');
print_r($out);

答案 1 :(得分:0)

我不确定你要做什么? 'p4 change -o'会将更改列表表单转储到stdout,而'p4 change -i'将尝试提交它。因此,在这两次调用之后,你的$ out将包含非常不同的数据。

如果您想传递更改列表说明,可以尝试'p4 submit -d'。否则,您需要在使用'p4 change -o'获取表单后编辑表单。