如何获取perforce的changelist数量?
How to get the changelist number of perforce?
我按照以下步骤在我的 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" )
这确实添加了一个更改列表,但我没有得到更改列表编号来将文件添加到更改列表。我也需要更改列表编号提交给仓库。
您根本不需要定义新的变更列表规范来提交默认的变更列表。只要做:
p4.run_submit("-d", "Autosubmitted 3rd changelist")
如果您不提供更改列表编号,p4 submit
将自动从默认更改列表中获取文件,将它们放入一个新的编号更改列表中,然后提交。 (如果您为 -d
标志提供描述,它将使用描述而不是提示您编辑变更列表规范。)p4 submit
的输出将告诉您变更列表以什么数字结尾。
我们可以找零,但你需要使用系统命令
change = subprocess.check_output('p4 change -o | p4 change -i', shell=True).decode('utf-8').split(' ')[1]
打印(更改)
然后你可以使用 p4.fetch_change() 更改编号
我按照以下步骤在我的 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" )
这确实添加了一个更改列表,但我没有得到更改列表编号来将文件添加到更改列表。我也需要更改列表编号提交给仓库。
您根本不需要定义新的变更列表规范来提交默认的变更列表。只要做:
p4.run_submit("-d", "Autosubmitted 3rd changelist")
如果您不提供更改列表编号,p4 submit
将自动从默认更改列表中获取文件,将它们放入一个新的编号更改列表中,然后提交。 (如果您为 -d
标志提供描述,它将使用描述而不是提示您编辑变更列表规范。)p4 submit
的输出将告诉您变更列表以什么数字结尾。
我们可以找零,但你需要使用系统命令
change = subprocess.check_output('p4 change -o | p4 change -i', shell=True).decode('utf-8').split(' ')[1]
打印(更改) 然后你可以使用 p4.fetch_change() 更改编号