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, startRevisionendRevision. UNDEFINED을 사용하면 올바른 결과를 얻을 수 없으며 대신 파일이 pegRevision 및 startRevision로 삭제 된 버전을 사용하여 0으로 작동해야합니다.

0

파일이있는 곳을 개정판으로 지정해야합니다. 분명히 deletedRevision-1입니다. 그리고 어쩌면 (나는 여기서 확실하지 않다, 단지 시도한다) 파일은 시작과 끝 개정 모두에 존재해야한다.

관련 문제