私はバイナリファイルを含むリポジトリにアクセスするためにSVNKitを使用しています。私は、リポジトリ内の特定のディレクトリに移動し、そこからファイルのリストを取得する必要があります。 (ずさんなコード)SVNKitのクエリ
Collection<SVNDirEntry> entries=(Collection<SVNDirEntry> repository.getDir(omitted);
Iterator<SVNDirEntry> it=entries.iterator();
while(it.hasNext()){
SVNDirEntry entry=(SVNDirEntry) it.next();
if(entry.getName().contains("abc")){
list.add(entry.getName());
}
}
ほとんどのディレクトリにはいくつかのファイルが含まれていると私はSVNRepositoryからGETDIR(...)を使用して問題はないが、およそ10000ファイル(またはそれ以上を持っている一つのフォルダがある:それから私はこれを行います)私がそれをやろうとするとアプリケーションが停止するだけです。何時間も待っても何も起こりません。これを解決するにはどうにかしていますか?私は本当にすべてのファイルを必要としません。ファイル名に特定のコードを含むものだけです。私は、これをスピードアップするために、 "abc"を含むファイル名だけを私に与えるようにリポジトリに依頼できますか?
Btw、私はこれがSubversionを使う良い方法ではないことを知っていますが、私は悲しげにこのようにしなければなりません。
:。 repository.getDir(パス、headRevision、ヌル、新しいISVNDirEntryHandler(){ 公共ボイドhandleDirEntry(SVNDirEntryのDirEntry){ (dirEntry.getName()の場合)( "ABC" が含まれています){ list.add(dirEntry.getName(); }}); これはファイル数が少ないディレクトリでも機能しますが、ファイルが多数ある場合でも停止します。ディレクトリはハンドラ内の行を実行しません。一度に1つずつ処理しないようです。 –