如何采用两个版本的perforce depot文件的差异

时间:2016-07-28 04:32:04

标签: java compare perforce

如何检查文件内容是否与服务器perforce JAVA API中的修订版相同。在将任何文件更新到perforce depot之前,我想检查本地文件和库文件的内容是否有任何不同。如果没有差异,则忽略提交该文件。

2 个答案:

答案 0 :(得分:2)

很简单。只需生成原始文件的MD5哈希,然后再次更新生成新文件的MD5哈希值。

现在比较两个文件的哈希值。如果两者都相同,那么两个文件的内容是相同的,如果不相同则它们是不同的,你可以更新。

这是一个可以轻松生成和检查MD5的实用程序,

override func observeValueForKeyPath(keyPath: String, ofObject object: AnyObject, change: [NSObject : AnyObject], context: UnsafeMutablePointer<Void>) {

    if change[NSKeyValueChangeOldKey] == nil {

        let location = change[NSKeyValueChangeNewKey] as CLLocation
        gmsMap.camera = GMSCameraPosition.cameraWithTarget(location.coordinate, zoom: 16)
    }
}

答案 1 :(得分:2)

我想你想要getDiffFiles()方法:

https://www.perforce.com/perforce/r15.1/manuals/p4java-javadoc/com/perforce/p4java/impl/mapbased/client/Client.html#getDiffFiles

或者,对于您正在做的具体事情(不提交未更改的文件),只需使用&#34; leaveUnchanged&#34;提交选项而不是自己做同样的工作。