p4python:获取diff2表单库

时间:2013-02-02 16:19:22

标签: perforce p4python

我想检索下一个命令的输出(其中p4是标准的perforce客户端):

p4 diff2 //depot/...#1 //depot/...#2

在终端中它正在产生这样的东西:

==== //depot/bin/build.sh#1 (xtext) - //depot/bin/build.sh#2 (xtext) ==== content
1a2
> #added something 2
9c10
< fi---
> fi
==== //depot/bin/README#1 - <none> ===
==== //depot/bin/status_ok#1 - <none> ===

我们假设我在python中有下一个脚本:

from P4 import P4
p4 = P4()
p4.port = "1818"
p4.host = "localhost"
p4.user = "psih"
p4.client = "build_verificator_ws2"
p4.connect()
changes = p4.run_diff2("//depot/...#1", "//depot/...#2")
print changes
p4.disconnect()

执行python脚本后,我会收到类似的内容:

[{'status': 'content', 'depotFile2': '//depot/bin/build.sh', 'rev': '1', 'rev2': '2', 'type': 'xtext', 'depotFile': '//depot/bin/build.sh', 'type2': 'xtext'}, {'status': 'left only', 'type': 'text', 'rev': '1', 'depotFile': '//depot/bin/README'}, {'status': 'left only', 'type': 'text', 'rev': '1', 'depotFile': '//depot/bin/status_ok'}]

具有修订但没有差异的软件仓库中的文件列表。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

答案是使用未标记的回复:

changes = p4.run_diff2("//depot/...#1", "//depot/...#2", tagged=False)