P4服务器2013.1 / 610569
我正在尝试使用Job编写默认更改列表的提交脚本。我知道不可能直接将作业添加到待处理的更改列表并提交它,但我愿意以间接方式处理。基本上我的步骤是
有人可以发给我需要为此运行的p4命令吗?我尝试从P4V执行此操作并捕获底部的命令,但是当您移动文件时我们必须列出所有文件,我正在寻找一种直接的方法来执行此操作。
答案 0 :(得分:1)
这是一个起点:
p4 change -o | sed 's/<enter.*>/Change to fix job000001/' >change.dat
echo 'Jobs: job000001' >> change.dat
p4 change -i < change.dat >changenumber.out
p4 submit -c `cut -f 2 -d ' ' < changenumber.out`
前两行构成新变更列表的表单数据。
第三行创建编号的更改列表,并保存输出, 这就像“改变12345已保存”。
第四行提取更改数字并将其提供给'p4 submit -c'。
当然,我没有进行任何错误检查,向用户报告结果等等。
作为替代方案,请考虑以下事项:
p4 submit -d "Change to fix job000001" | grep 'Change .* submitted' | cut -f 2 -d ' ' >change.out
p4 fix -c `cat change.out` job000001
该变体在没有附加作业的情况下提交更改,然后将更改与作业相关联。
无论哪种方式,请考虑使用其中一种Perforce脚本API(P4Perl,P4Ruby,P4Python等),而不是这样,因为它们更容易。