5

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

如何用 P4Python 做到这一点?

上下文:我的脚本接受了一个已经存在的变更列表编号。我需要能够测试脚本是否正常工作。

4

3 回答 3

6

P4.save_change() 生成一个更改列表编号——也就是说,它创建一个编号的、挂起的更改列表。尝试类似:

changespec = P4.fetch_change()
changespec[ "Description" ] = "placeholder"
P4.save_change( changespec )
于 2012-05-05T01:28:06.947 回答
5

请注意,这为您提供了当前默认更改列表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])
于 2016-02-18T18:41:49.353 回答
0

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

于 2012-05-05T00:19:17.080 回答