我正在使用SVNKit 1.7,我想获得两个日期之间条目的历史记录。我找到的所有文档仅显示检索两个修订号之间的条目。
我基本上想要运行以下命令
svn log -v --xml --non-interactive --no-auth-cache http://foo.com --username myusername --password mypassword -r {""2012-10-02""}:{""2012-11-01""}
现在我通过命令行在运行时使用Java调用它。
我使用此信息的目的是按月生成SVN活动的指标。
如果我必须使用修订号,有没有办法根据日期找到最近的修订号?
感谢您的帮助。
答案 0 :(得分:6)
谢谢Dmitry你的回答非常有帮助,但我最终使用了org.tmatesoft.svn.core.io.SVNRepository类和该类的getDatedRevision()方法。在查看文档时,我多次浏览了这个方法。
答案 1 :(得分:5)
final SvnOperationFactory svnOperationFactory = new SvnOperationFactory();
try {
final SVNURL url = ...;
svnOperationFactory.setAuthenticationManager(new BasicAuthenticationManager("myusername", "mypassword"));
final SvnLog log = svnOperationFactory.createLog();
log.addRange(SvnRevisionRange.create(SVNRevision.create(date1), SVNRevision.create(date2)));
log.setDiscoverChangedPaths(true);
log.setSingleTarget(SvnTarget.fromURL(url));
log.setReceiver(new ISvnObjectReceiver<SVNLogEntry>() {
@Override
public void receive(SvnTarget target, SVNLogEntry logEntry) throws SVNException {
...
}
});
log.run();
} finally {
svnOperationFactory.dispose();
}