2012-10-12 100 views
2

我正在使用SVNKit 1.7,我想獲取兩個日期之間條目的歷史日誌。我找到的所有文檔只顯示檢索兩個版本號之間的條目。如何在兩個日期之間獲得SVNKit日誌?

我基本上要運行下面的命令

svn log -v --xml --non-interactive --no-auth-cache http://foo.com --username myusername --password mypassword -r {""2012-10-02""}:{""2012-11-01""} 

現在,我通過命令行與Runtime類調用它在Java中這樣做。

我使用此信息的是根據SVN活動的月份生成指標。

如果必須使用版本號,有沒有辦法根據日期找到最近的版本號?

感謝您的幫助。

回答

6

謝謝梅德你的答案是相當有幫助的,但我最終使用的org.tmatesoft.svn.core.io.SVNRepository類和類的getDatedRevision()方法。在查看文檔時,我多次瀏覽了此方法。

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(); 
    } 
+1

我最終在該類上使用了SVNRepository存儲庫和getDatedRevision()方法,以便在指定日期之前或之前獲取最新版本#。 – abbottmw

相關問題