Perforce是否有本机diff python函数返回布尔类型而不是diff list?

2024-10-03 04:32:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我很惊讶,在P4Python模块中找不到任何本机diff函数,它返回的不是diff列表,而是布尔值。有P4()不是很有好处吗?\相同吗(branch1,branch2)?你知道吗

有人知道有没有一种方法可以做到这一点吗?如果真的没有,有人知道如何解析diff列表来查看完全相同的分支吗?你知道吗

我使用的命令p4 diff2 //depot/temp_dev/boost/branch1/... //depot/temp_dev/boost/branch2/...

日志是==== //depot/temp_dev/boost/branch1/bbversion.h#7 (text) - //depot/temp_dev/boost/branch2/bbversion.h#7 (text) ==== identical ==== //depot/temp_dev/boost/branch1/ClientSpec.txt#1 (text) - //depot/temp_dev/boost/branch2/ClientSpec.txt#1 (text) ==== identical

我使用的python方法是here


Tags: 方法textdevtxt列表difftempdepot
2条回答

使用p4 diff2 -q -Od或类似的Python。你知道吗

-Od将输出限制为不同的文件,-q将输出仅限制为头文件,因此如果这两个路径完全相同,您将得到某种“没有不同的文件”消息,这应该很容易检查。你知道吗

Sam走在我前面,但我也找到了一种方法,可以通过编程在python中克服这个问题。如果有兴趣的话:

def is_identical(branch1, branch2):
    command = ['p4', 'diff2', branch1, branch2]
    diff_list = _call(command).rstrip().split('\n')
    return False if False in map(lambda diff: ('identical' in diff), diff_list) else True

与山姆的回答相比,这一个在机器时间上是输的。你知道吗

相关问题 更多 >