我刚刚编写了一个方法来获取两个 IFileSpec 对象之间的差异列表,但是,我不知道如何从 IFileDiff 对象中实际检索差异。
这是我目前写的方法,
public void getFileDiff(String file1, String file2){
List<IFileSpec> fileList1 = null;
List<IFileSpec> fileList2 = null;
List<IFileDiff> fileDiff = null;
try{
fileList1 = getIFileSpecList(file1);
fileList2 = getIFileSpecList(file2);
fileDiff = iServer.getFileDiffs(fileList1.get(0), fileList2.get(0), null, DiffType.IGNORE_LINE_ENDINGS,false,true,false);
for(IFileDiff iFileDiff : fileDiff) {
System.out.println(iFileDiff.getRevision1() + " ::: " + iFileDiff.getRevision2());
}
}
catch(Exception e){e.printStackTrace();}
}
这段代码很高兴地打印了文件的正确修订版,但是我还没有遇到实际的字符串差异。如果有人知道该怎么做,我真的很想听听你的意见!!
最佳答案
我忘了回答这个问题,据我所知,没有办法使用 Perforce Java API 获取两个文件的差异。唯一的方法是将文件同步到一个临时位置并调用操作系统内置的“diff”命令。捕获输出并通过管道传输到您的应用程序。
关于java - 检索两个文件之间的差异 - Perforce Java API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11456425/