1
我正在使用SVNkit api下載項目的svn版本歷史並將其存儲在數據庫中。我想知道日誌條目的更改路徑是文件還是文件夾。 SVNkit有SVNNodeKind類,可以用來找到它。但在我的情況下,它總是返回「未知」。我讀過的地方可能是因爲svn服務器可能沒有存儲這些信息。確定SVN節點類型
此外,更改的路徑不包含目錄的尾部斜線。有沒有其他的方法來找出它的文件夾或文件。
abstract SVNNodeKind checkPath(java.lang.String path, long revision)
Returns the kind of an item located at the specified path in a particular revision.
即最新版本:
...
SVNNodeKind nodeKind = repository.checkPath(svnUrlToCheck , -1);
if (nodeKind == SVNNodeKind.NONE) {
System.err.println("There is no entry at '" + url + "'.");
} else if (nodeKind == SVNNodeKind.FILE) {
System.out.println("Entry at '" + url + "' is file.");
} else if (nodeKind == SVNNodeKind.DIR) {
System.out.println("Entry at '" + url + "' is directory.");
} else if (nodeKind == SVNNodeKind.UNKNOWN) {
System.out.println("Entry at '" + url + "' is unknown!");
}
最後如果是的情況下
是因爲我改變了路徑(SVNLogEntryPath)我使用了SVNLogEntryPath.getKind(),它返回SVNNodeKind。但是SVNNodeKind中的值是「未知」。 – user1239080 2013-03-22 20:59:37
其實我用SVNRepository.checkPath()再試一次,它確實返回正確的節點種類。謝謝! – user1239080 2013-03-22 21:11:12
@ user1239080很高興它有所幫助,你可以upvote和/或接受答案 – pmod 2013-03-22 22:37:45