2

我正在使用 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 中使用 Runtime 类调用它。

我使用此信息的目的是按 SVN 活动的月份生成指标。

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

谢谢你的帮助。

4

2 回答 2

6

谢谢 Dmitry,您的回答很有帮助,但我最终使用了 org.tmatesoft.svn.core.io.SVNRepository 类和该类的getDatedRevision()方法。在查看文档时,我多次浏览了此方法。

于 2012-10-23T14:35:40.647 回答
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();
    }
于 2012-10-12T20:47:14.153 回答