0

我正在尝试使用 p4python 在两个更改列表之间创建一个补丁。我没有取得任何成功。以下是我的尝试:

$ vi patchp4.py

from P4 import P4,P4Exception
p4 = p4()
#Performed P4 Connection
if p4.connected():

     p4.run('diff2','-u','//depot/ran/y/...@changelist1 //depot/ran/x/...@changelist2')
else:
     print("Not Connected")

我收到以下错误:$ python3 patchp4.py

[Error]: 'Usage: diff2 [-d<flags> -Od -q -t -u ] file file2'
Missing/wrong number of arguments

在命令行上,相同的选项工作正常,而使用 python 脚本会抛出错误的参数错误。

在命令行上:

$p4 diff2 -u //depot/ran/y/...@changelist1 //depot/ran/x/...@changelist2

帮助我获得更好的指导。

4

1 回答 1

0

p4 命令的每个参数都需要是p4.run. 您在这里只传递一个文件参数(中间有一个空格):

p4.run('diff2', '-u', '//depot/ran/y/...@changelist1 //depot/ran/x/...@changelist2')

而是这样做:

p4.run('diff2', '-u', '//depot/ran/y/...@changelist1', '//depot/ran/x/...@changelist2')

FWIW,虽然 Perforce 确实可以创建补丁文件,但您在其他系统中使用补丁文件所做的大多数事情都可以通过 Perforcep4 integratep4 shelve.

于 2020-10-22T16:05:54.457 回答