1

私は SVNKit を使って単純なことをしようとしています: svn diff url {date1}:{date2}.
SVNKit での使用方法がわかりません。誰もこれを行う方法を知っていますか?

4

1 に答える 1

3

SVNKitのSVNRevisionクラスには、java.util.Dateインスタンスから構築する静的メソッドがあります。これは、SVNの{date}の類似物です。

diffを実行するには

1。パッチのフォーマットを担当するdiffジェネレーターを準備します(SVNフォーマット、GitフォーマットおよびGNUフォーマット(SvnNewGeneratorラッパーを使用)がサポートされています)。最も興味深い設定はベースパスです---可能な限り、すべてのパスはそれに相対的です(subversionは常に現在のパスを使用します--- new File( "")---他のパスを使用できます)。

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 に答える