Java 如何在两个日期之间获取SVNKit日志?
我正在使用SVNKit 1.7,我想获得两个日期之间的历史记录。我找到的所有文档只显示检索两个修订号之间的条目 我基本上想要运行以下命令Java 如何在两个日期之间获取SVNKit日志?,java,svnkit,Java,Svnkit,我正在使用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 log -v --xml --non-interactive --no-auth-cache http://foo.com --username myusername --password mypassword -r {""2012-10-02""}:{""2012-11-01""}
现在,我通过一个命令行使用运行时类在Java中调用它来实现这一点
我使用此信息的目的是按SVN活动的月份生成指标
如果我必须使用修订号,有没有办法根据日期找到最近的修订号
感谢您的帮助。最终SvnOperationFactory SvnOperationFactory=新SvnOperationFactory();
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();
}
试一试{
最终SVNURL url=。。。;
setAuthenticationManager(新的基本身份验证管理器(“我的用户名”、“我的密码”);
最终SvnLog log=svnOperationFactory.createLog();
log.addRange(SvnRevisionRange.create(SVNRevision.create(date1),SVNRevision.create(date2));
log.setDiscoveryChangedPath(true);
log.setSingleTarget(SvnTarget.fromURL(url));
setReceiver(新的ISvnObjectReceiver(){
@凌驾
public void receive(SvnTarget target,SVNLogEntry logEntry)抛出SVNException{
...
}
});
log.run();
}最后{
svnOperationFactory.dispose();
}
谢谢你,Dmitry你的回答很有帮助,但我最终使用了org.tmatesoft.svn.core.io.SVNRepository类和该类的方法。在查看文档时,我多次浏览了这个方法。我最终在该类上使用SVNRepository存储库和getDatedRevision()方法来获取指定日期之前或之前的最新版本。