p4 describe需要等效的python命令

时间:2015-07-01 13:45:59

标签: python perforce p4python

我需要等同于p4 describe #cl,在p4 python中。

但是,使用p4python运行相同的命令p4.run_describe("#cl")。我得到了dict:

[{'client': 'NonDev1408-Dev', 'digest': ['E41FFB100C73F7B443EE8DE7A0DD966C'], 'desc': 'Merging //ATTE/1507_SWP122 to OCX Main (//ATTE/1408-Dev)\n', 'type': ['text'], 'fileSize': ['33067'], 'status': 'submitted', 'rev': ['49'], 'depotFile': ['//ATTE/1408-Dev/cust/oms/bb/cord9src/src/main/java/amdocs/oms/cust/osact/foundation/NegotiateServiceConnection.java'], 'action': ['integrate'], 'user': 'mohitc', 'change': '243446', 'time': '1432731112', 'path': '//ATTE/1408-Dev/cust/oms/bb/cord9src/src/main/java/amdocs/oms/cust/osact/foundation/*', 'changeType': 'public'}]

相反,我想要输出p4 describe 243446给出的输出,即我希望在受影响的文件之间进行差异更改:

Change 243446 by mohitc@NonDev1408-Dev on 2015/05/27 15:51:52

        Merging //ATTE/1507_SWP122 to OCX Main (//ATTE/1408-Dev)

Affected files ...

... //ATTE/1408-Dev/cust/oms/bb/cord9src/src/main/java/amdocs/oms/cust/osact/foundation/NegotiateServiceConnection.java#49 integrate

Differences ...

==== //ATTE/1408-Dev/cust/oms/bb/cord9src/src/main/java/amdocs/oms/cust/osact/foundation/NegotiateServiceConnection.java#49 (text) ====

有没有其他方法可以使用p4python生成相同的输出?

1 个答案:

答案 0 :(得分:5)

试试这个:

import P4

p4 = P4.P4()
try:
    p4.connect()
    info = p4.run("info")
    for key in info[0]:
        print key, "=", info[0][key]
    print
    print


    if 1:
        p4.tagged = 0 

        #This makes the output untagged.
        result = p4.run("describe","5707")
        print result

except P4.P4Exception, ex:
    for w in p4.warnings:
        print w

finally:
    p4.disconnect()

希望这有帮助, 仁。