日期之间的SVNKit差异

时间:2012-09-28 23:57:27

标签: java svn diff svnkit

我正在尝试使用SVNKit来做一个简单的事:svn diff url {date1}:{date2} 我无法弄清楚如何在SVNKit上使用它。有谁知道怎么做?

1 个答案:

答案 0 :(得分:3)

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

运行差异

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

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设置器一起玩来发现更多设置。