2012-03-08 3 views
0

SVNKitを使用して削除されたファイルの改訂履歴にアクセスしようとしています。SVNKitを使用してSVNから削除されたファイルの履歴を取得

これを達成するために私がやっていることは次のとおりです。

SVNClientManager manager = SVNClientManager.newInstance(); 
SVNLogClient logClient = manager.getLogClient(); 
logClient.doLog(svnURL, new String[] { fileName }, SVNRevision.create(deletedRevision), 
              SVNRevision.UNDEFINED, SVNRevision.UNDEFINED, false, false, true, -1, null, 
              new ISVNLogEntryHandler() { 
               public void handleLogEntry(SVNLogEntry logEntry) throws SVNException { 
                log.debug(" ==== " + logEntry.getChangedPaths() + " === " 
                  + logEntry.getRevision()); 
              } 
             }); 

ここでdeletedRevision => Fileが削除されたSVNリビジョン。

このコードが実行されると、私は次の例外を取得し続ける:

org.tmatesoft.svn.core.SVNException: svn: '<FilePath>' path not found: 404 Not Found (https://<RepositoryURL> 
     at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64) 
     at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51) 
     at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.logImpl(DAVRepository.java:976) 
     at org.tmatesoft.svn.core.io.SVNRepository.log(SVNRepository.java:1034) 
     at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:1024) 
     at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:891) 
     at com.blueoptima.connectors.scr.SVN.getWorkingFileList(SVN.java:711) 
     ... 4 more 

は、それは私がここで間違ってやっている何かですか? SVNKitを使用して削除されたファイルの履歴を取得する他の方法はありません

答えて

1

しかし、この質問は1年以上前に尋ねられましたが、他の人の助けになるかもしれないと答えています。

私が削除されたファイルの履歴を取得するためにしてみてくださいdidntの私が使用して削除されたブランチの履歴を取得できた -

SVNLogClient.doLog(SVNURL.parseURIEncoded(path), new String[] { "" }, pegRevision, SVNRevision.create(0),pegRevision, stopOnCopy, discoverChangedPaths, logsLimit, logHandler); 

これは、あなたが作っているコールに似ていますが、のために適切な値を指定する必要がありますpegRevision,startRevisionおよびendRevisionUNDEFINEDを使用すると正しい結果が得られない場合があります。代わりに、ファイルが削除されたリビジョンをpegRevisionおよびstartRevisionとして使用してください。

0

ファイルが存在するリビジョンをペグリビジョンとして指定する必要があります。明らかにdeletedRevision-1です。そしておそらく(ここではわかりませんが、試してみてください)ファイルは開始リビジョンと終了リビジョンの両方に存在するはずです。

関連する問題