Java 如何在两个日期之间获取SVNKit日志?

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中调用它来实现这一点

我正在使用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活动的月份生成指标

如果我必须使用修订号,有没有办法根据日期找到最近的修订号

感谢您的帮助。

最终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()方法来获取指定日期之前或之前的最新版本。