P4.fetch_change() 创建一个变更规范,变更等于“新”。我需要创建一个带有实际数字的更改规范(不会与任何其他更改冲突)。IOW,我需要能够保留更改列表编号。
如何用 P4Python 做到这一点?
上下文:我的脚本接受了一个已经存在的变更列表编号。我需要能够测试脚本是否正常工作。
P4.save_change() 生成一个更改列表编号——也就是说,它创建一个编号的、挂起的更改列表。尝试类似:
changespec = P4.fetch_change()
changespec[ "Description" ] = "placeholder"
P4.save_change( changespec )
请注意,这为您提供了当前默认更改列表p4.fetch_change()
的字典!
你可能已经有文件了!因此,要真正创建一个空的,您只需传递一个带有 'Change': 'new' 和 'Description' 的 dict。
我找不到save_change
返回实际更改列表整数的方法。因此,可以拆分结果并以这种方式获得 nr:
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])
Perforce 不允许您保留更改列表编号。如果您想使用 P4Python 提交现有(待定)更改列表,请执行以下操作:
p4.run_submit("-c", changelist)