我正在使用 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”的文件名以加快速度吗?
顺便说一句,我知道这不是使用 Subversion 的好方法,但遗憾的是我被迫这样做。