P4.fetch_change()使用Change等于'new'创建更改规范。我需要创建一个带有实际数字的更改规范(不会与任何其他更改发生冲突)。 IOW,我需要能够保留更改列表编号。
如何使用P4Python完成这项工作?
上下文:我的脚本接收已存在的更改列表编号。我需要能够测试脚本是否正常工作。
答案 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)