1
我正嘗試使用SVN Kit獲取在我的Java代碼中的分支上執行的所有活動。使用SVNKIT從SVN中的分支獲取所有修訂日誌
SVNRepository repository = SVNRepositoryFactory.create(svnURL);
ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager("UserName", "password");
repository.setAuthenticationManager(authManager);
Collection logEntries = repository.log(new String[] { "" }, null, 0, -1, true, true);
上面的代碼就像一個魅力,我得到了我的svnURL屬性表示的分支上的所有活動。
但是真正的問題出現在一些活動後,分支本身被重新命名。例如
Initial Branch => https://domain/repository/branches/OriginalName
New
Branch => https://domain/repository/branches/NewName
現在,重命名發生後,當我運行使用舊名稱上面的代碼中,我得到的是說,文件無法找到一個PROPFIND錯誤。但是,當我使用新的分支名稱運行時,所有文件都可以正常工作,並且還會在該分支上提供活動日誌,但只有在重命名之前。 OldBranch名稱上發生的活動不會返回。
SVNKit有沒有一種方法來獲得我期待的輸出?
其實。這是我剛剛嘗試的。我看到的問題是,SVNKit最終返回了我所有的活動。即結果還將包括在日期範圍內可能在/ trunk或任何其他分支上發生的任何活動。這是我不想要的東西。這可能是SVNKit中的錯誤嗎? – 2011-12-21 10:54:36
@ SalmanA.Kagzi奇怪,它絕對應該工作:http://old.nabble.com/What-is-ancestor-log-history%3A-SVNRepository.log%28%29--td32571191.html – oers 2011-12-21 12:05:29
謝謝你的鏈接。這實際上證明我的結果是正確的?我的意思是,當我將strictNode設置爲false時,日誌會回溯到每個文件的開頭,即當這些文件實際添加時(在主幹或任何其他分支中)時。但我不想走那麼遠。我只想盡可能地創建分支。有什麼辦法限制嗎?再次感謝。 – 2011-12-21 12:31:31