[英]Get history of a Deleted File from SVN using SVNKit
我正在嘗試訪問已使用SVNKit刪除的文件的修訂歷史記錄。
以下是我為實現這一目標所做的工作。
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());
}
});
在這里,deleteRevision =>刪除文件的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獲取已刪除文件的歷史記錄
盡管這個問題已經有一年多了的歷史了,但仍然想回答這個問題是否對別人有所幫助。
我沒有嘗試檢索已刪除文件的歷史記錄,但可以使用-檢索已刪除分支的歷史記錄。
SVNLogClient.doLog(SVNURL.parseURIEncoded(path), new String[] { "" }, pegRevision, SVNRevision.create(0),pegRevision, stopOnCopy, discoverChangedPaths, logsLimit, logHandler);
這與您進行的呼叫類似,但是您需要為pegRevision
, startRevision
和endRevision
提供適當的值。 使用UNDEFINED
可能不會給出正確的結果,而是使用刪除文件的修訂版本作為pegRevision,將startRevision設置為0,它應該可以工作。
您應該在文件作為釘修訂存在的地方指定一個修訂。 顯然,它已刪除。 也許(我不確定在這里,只是嘗試)該文件應該同時存在於開始和結束版本中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.