如何使用P4Python创建编号的更改列表?

时间:2012-05-05 00:06:42

标签: python perforce

P4.fetch_change()使用Change等于'new'创建更改规范。我需要创建一个带有实际数字的更改规范(不会与任何其他更改发生冲突)。 IOW,我需要能够保留更改列表编号。

如何使用P4Python完成这项工作?

上下文:我的脚本接收已存在的更改列表编号。我需要能够测试脚本是否正常工作。

3 个答案:

答案 0 :(得分:6)

P4.save_change()生成一个变更清单编号 - 也就是说,它会创建一个编号的待定变更清单。尝试类似:

changespec = P4.fetch_change()
changespec[ "Description" ] = "placeholder"
P4.save_change( changespec )

答案 1 :(得分:2)

请注意,p4.fetch_change()会为您提供当前默认更改列表的字典!

你可能已经有文件!所以要真正创建一个,你可以通过改变'更新'新的'和'描述'。

我无法找到让save_change返回实际更改列表整数的方法。因此,人们可以分割结果,并采用这种方式:

from P4 import P4

def create_empty_changelist(desc='some description'):
    p4 = P4()
    p4.connect()
    result = p4.save_change({'Change': 'new', 'Description': desc})[0]
    return int(result.split()[1])

答案 2 :(得分:0)

Perforce不允许您保留更改列表编号。如果要使用P4Python提交现有(待定)更改列表,请执行以下操作: p4.run_submit("-c", changelist)