2

2 つの 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();}
    }

このコードは、ファイルの正しいリビジョンを喜んで出力しますが、実際の文字列の違いを取得することは、私がまだ遭遇していないことです。どなたかご存知の方がいらっしゃれば是非教えて頂きたいです!!

4

1 に答える 1

0

私が覚えている限り、これに答えるのを忘れました。PerforceJavaAPIを使用して2つのファイルの違いを取得する方法はありません。これを行う唯一の方法は、ファイルを一時的な場所に同期して、OSの組み込みの「diff」コマンドを呼び出すことです。出力をキャプチャし、アプリケーションにパイプします。

于 2012-10-31T18:37:23.450 に答える