代码之家  ›  专栏  ›  技术社区  ›  user6456568

p4 diff2不显示两个文件的差异

  •  1
  • user6456568  · 技术社区  · 7 年前

    我使用的是p4python版本,并试图得到两个文件的区别。但是,它只返回文件名和版本。

    l=p4.run("diff2","//a/b/c.h#42","//a/b/c.h#11")
    print(l)
    

    [{'status': 'content', 'depotFile': '//a/b/c.h', 'rev': '42', 'type': 'text', 'depotFile2': '//a/b/c.h', 'rev2': '11', 'type2': 'text'}]
    

    如何获取添加、删除或修改的行?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Samwise    7 年前

    p4 diff2 不包含文本差异信息,默认情况下,P4Python启用标记模式。执行:

    p4.tagged = False
    

    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