私はsvnkitとpoiを使用して会社のドキュメントを作成していますが、ドキュメントの「作成日」の部分に踏み込むまでは、すべてうまくいっているようです。表示する必要のあるプロパティがたくさんありますが、これまでのところ、Googleで見つけることができました。SVNRepository.logを実行し、最初のSVNLogEntry.getDateを確認することで、実際に任意のファイルの作成日を取得できることを読みましたが、ほとんどのドキュメントは、リビジョンの最新データを中心に展開しています。最後のコメント、最後に変更した人などなので、すべてSVNRepository.getLatestRevisionで埋めようとしていました。したがって、他に利用できるものがない場合は、各ファイルの作成日を探し、それに対応するファイルを探すために、たくさんの作業を行う必要があります。私が求めているのは:
私がしていることを示すためのサンプルコードのビット:
ArrayList<SVNFileRevision> resultReturn new ArrayList<SVNFileRevision>();
ArrayList entries = new ArrayList<SVNDirEntry>();
repository.getDir(path, repository.getLatestRevision(), true, entries);
Iterator iterator = entries.iterator();
while (iterator.hasNext()) {
SVNDirEntry entry = (SVNDirEntry) iterator.next();
if (entry.getKind() != SVNNodeKind.DIR) {
ArrayList<SVNFileRevision> aux = new ArrayList<SVNFileRevision>();
repository.getFileRevisions(path + (path.equals("") ? "" : "/") + entry.getName(), temp, 1,
repository.getLatestRevision());
for (SVNFileRevision rev : aux) {
//So we know that rev contains date author and log
//System.out.println(rev.getRevision());
//System.out.println(rev.getRevisionProperties().getSVNPropertyValue("svn:date"));
//System.out.println(rev.getRevisionProperties().getSVNPropertyValue("svn:author"));
//System.out.println(rev.getRevisionProperties().getSVNPropertyValue("svn:log"));
//we add path and name
rev.getRevisionProperties().put("path", path);
rev.getRevisionProperties().put("name", entry.getName());
//insert creation date
// ? ? ?
resultReturn.add(rev);
}
}
}
return resultReturn;
助けてくれてありがとう。