use*_*568 1 python perforce p4v
我正在使用 P4 python 版本,并尝试获取两个文件的差异。但是,它仅返回文件名和版本。
l=p4.run("diff2","//a/b/c.h#42","//a/b/c.h#11")
print(l)
Run Code Online (Sandbox Code Playgroud)
输出是
[{'status': 'content', 'depotFile': '//a/b/c.h', 'rev': '42', 'type': 'text', 'depotFile2': '//a/b/c.h', 'rev2': '11', 'type2': 'text'}]
Run Code Online (Sandbox Code Playgroud)
如何获取添加、删除或修改哪一行?
标记版本p4 diff2不包含文本差异信息,P4Python 默认启用标记模式。做:
p4.tagged = False
Run Code Online (Sandbox Code Playgroud)
禁用标记输出。
import sys
from P4 import P4
p4 = P4()
p4.connect()
p4.tagged = False
for line in p4.run("diff2", sys.argv[1], sys.argv[2]):
print(line)
C:\Perforce\test>python diff2.py foo bar
==== //stream/main/foo#2 (text) - //stream/main/bar#2 (text) ==== content
1,2c1,2
< asdfasdf
< asdfasdf
---
> asdlfkjasdf
> sdflkj
Run Code Online (Sandbox Code Playgroud)