1

我正在尝试使用 SVNKit 做一个简单的:svn diff url {date1}:{date2}.
我不知道如何在 SVNKit 上使用它。有谁知道如何做到这一点?

4

1 回答 1

3

SVNKit 的SVNRevision类有一个从 java.util.Date 实例构造它的静态方法,这是 SVN 的 {date} 的模拟。

运行差异

1. 准备负责格式化补丁的差异生成器(支持 SVN 格式、Git 格式和 GNU 格式(带有 SvnNewGenerator 包装器))。最有趣的设置是基本路径——所有路径都是相对于它的,因为它是可能的(颠覆总是使用当前路径——新文件(“”)——但你可以使用任何其他路径)。

final SvnDiffGenerator diffGenerator = new SvnDiffGenerator();
diffGenerator.setBasePath(new File(""));

2. 为生成的补丁准备输出流

final OutputStream byteArrayOutputStream = new ByteArrayOutputStream();

3. 运行差异

final SvnDiff diff = svnOperationFactory.createDiff();
diff.setSource(SvnTarget.fromURL(url), SVNRevision.create(date1), SVNRevision.create(date2));
diff.setDiffGenerator(diffGenerator);
diff.setOutput(byteArrayOutputStream);
diff.run();

您可以通过使用 SvnDiff 和 SvnDiffGenerator 设置器来发现更多设置。

于 2012-09-30T15:05:03.023 回答