Java SVNKit用于查找存储在不同位置且版本号不同的两个文件之间的差异

Java SVNKit用于查找存储在不同位置且版本号不同的两个文件之间的差异,java,svn,diff,svnkit,Java,Svn,Diff,Svnkit,我正在使用SVNKit API编写一个Java程序,我需要在API中使用正确的类或调用,以便找到存储在不同位置的文件之间的差异 第一个文件: 第二个文件: 我使用了列出的API调用来生成diff输出,但到目前为止还没有成功 DefaultSVNDiffGenerator diffGenerator = new DefaultSVNDiffGenerator(); diffGenerator.displayFileDiff("", file1, file2, "10983", "8971",

我正在使用SVNKit API编写一个Java程序,我需要在API中使用正确的类或调用,以便找到存储在不同位置的文件之间的差异

第一个文件:

第二个文件:

我使用了列出的API调用来生成diff输出,但到目前为止还没有成功

DefaultSVNDiffGenerator diffGenerator = new DefaultSVNDiffGenerator();
diffGenerator.displayFileDiff("", file1, file2, "10983", "8971", "text", "text/plain", output);

diffClient.doDiff(svnUrl1, SVNRevision.create(10868), svnUrl2, SVNRevision.create(8971), SVNDepth.IMMEDIATES, false, System.out);

有人能提供正确方法的指导吗?

您的代码看起来是正确的。但更喜欢使用新的API:

    final SvnOperationFactory svnOperationFactory = new SvnOperationFactory();
    try {
        final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        final SvnDiffGenerator diffGenerator = new SvnDiffGenerator();
        diffGenerator.setBasePath(new File(""));

        final SvnDiff diff = svnOperationFactory.createDiff();
        diff.setSources(SvnTarget.fromURL(url1, svnRevision1), SvnTarget.fromURL(url2, svnRevision1));
        diff.setDiffGenerator(diffGenerator);
        diff.setOutput(byteArrayOutputStream);
        diff.run();
    } finally {
        svnOperationFactory.dispose();
    }

SVNKit有一些测试,您可以将它们用作示例。我从DiffTest复制粘贴了上面的代码(并删除了与测试相关的代码)。