SVNタグの最終リビジョンを知りたい。私の場合は、実際のものではなく、以前のもの(または言い換えれば、リポジトリからタグ付けされたリビジョン)です。私はたくさんの私は必要ありませんリビジョンの取得と、それはあまりにも遅いです大きなSVNリポジトリで、しかしSVNKitのX最新ログ項目を取得する
Collection<SVNLogEntry> log = repository.log(new String[]{""}, null, 1, -1, false, false);
List<Long> revisions = log.stream().map(entry -> entry.getRevision()).sorted().collect(Collectors.toList());
System.out.println("Wanted Revision:" + revisions.get(revisions.size()-2));
:
は、私が欲しいものを私を取得し、このコードを持っています。私はstartRevisionを設定することはほとんどできません。(プログラムで)どこから取得するかについての情報がありません。
ログからX最新の要素を取得できればうれしいでしょう。私は必要な情報を得ることができましたが、たとえEclipseがSVNKitを使用していても履歴を制限していても、そのようなことをする方法はないので、startRevisionを明示的に設定しなくても最後のNリビジョンを取得することができなければなりません。
SVNKit APIについて私が理解していない大きな秘密は何ですか?
Iは、以下のインポートを有する:
compile group: 'org.tmatesoft.svnkit', name: 'svnkit', version: '1.8.12'
はUPDATE:
を私は、次のアプローチを試みた:
repository.log(new String[]{""}, 1, -1, false, false, 15 /* limit */, false, null,
new ISVNLogEntryHandler()
{
@Override
public void handleLogEntry(SVNLogEntry logEntry) throws SVNException
{
logs.add(logEntry);
}
});
しかし、これは、Javaでフィルタリングは(としても表現することができませんラムダ)はリポジトリからではなく、上のサンプルと同じように実行され、最後のものではなく最初の15個の結果が表示されます。