我正在尝试使用SVNKit来做一个简单的事:svn diff url {date1}:{date2}
我无法弄清楚如何在SVNKit上使用它。有谁知道怎么做?
答案 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设置器一起玩来发现更多设置。