1

我设法按照以下步骤在我的 perforce 客户端工作区中创建了一个空的更改列表:

>>> from P4 import P4,P4Exception
>>> p4 = P4()
>>> p4.connect()
P4 [ciastro@ciastromac perforce:1666] connected
>>> change = p4.fetch_change()
>>> change
{'Status': 'new', 'Client': 'ciastromac', 'User': 'ciastro', 'Change': 'new', 'Description': '<enter description here>\n'}
>>> change[ "Description" ] = "Autosubmitted 3rd changelist"
>>> p4.input = change
>>> p4.run_submit( "-i" )

这确实添加了一个变更列表,但我没有获得将文件添加到变更列表的变更列表编号。我还需要将变更列表编号提交给仓库。

4

2 回答 2

1

您根本不需要定义新的更改列表规范来提交默认更改列表。做就是了:

p4.run_submit("-d", "Autosubmitted 3rd changelist")

如果您不提供更改列表编号,p4 submit则会自动从默认更改列表中获取文件,将它们放入新编号的更改列表中,然后提交。(如果您提供-d带有描述的标志,它将使用描述而不是提示您编辑更改列表规范。) 的输出p4 submit将告诉您更改列表最终的编号。

于 2020-06-02T13:40:38.223 回答
0

我们可以得到更改,但您需要使用系统命令

change = subprocess.check_output('p4 change -o | p4 change -i', shell=True).decode('utf-8').split(' ')[1]

print(change) 然后你可以使用 p4.fetch_change() 和更改号

于 2020-12-22T17:15:45.130 回答