2010-04-07 57 views
1

我試圖創建一個SVN Eclipese EFS插件,並在獲取條目名稱時遇到問題。svnkit:獲取條目名稱的問題

當我做出一個電話: SVNRepository

`//獲取一個目錄的內容到提供的集合對象,並返回目錄條目本身。

SVNDirEntry GETDIR(字符串路徑,長修訂,布爾includeCommitMessages,Collection項目)`

它正確地返回提供的路徑進入,但是,它不設置上的「返回「名稱」值「入口。請注意,收集中返回的項目都可以。

有誰知道這是爲什麼?和/或如果有解決方法?

參見: http://svnkit.com/javadoc/org/tmatesoft/svn/core/io/SVNRepository.html http://svnkit.com/javadoc/org/tmatesoft/svn/core/io/SVNRepository.html#getDir(java.lang.String,長,布爾,java.util.Collection中)

回答

2

它正確地返回提供的路徑進入,但是,它 沒有按在「返回」條目上不設置「名稱」值。請注意,收集中返回的項目 都可以。

將其視爲「ls」命令列出目錄中的條目。目錄本身將被表示爲「。」。或者更好地說,條目的名稱是相對於目錄的,而對於目錄本身,它是一個空字符串。

有誰知道這是爲什麼?和/或如果有解決方法?

使用dirEntry.getURL(),然後您可以從URL的路徑計算名稱。此外,目錄名稱是「路徑」參數的一部分或SVNRepository對象位置URL的一部分。

1

我已經檢查並通過getDir()方法總是有其名稱屬性設置爲空字符串返回SVNDirEntry

但是,如果使用該方法獲取目錄,則列出每個目錄條目的名稱已正確分配。

我認爲這種行爲是有點馬車雖然你仍然可以找到一個SVNDirEntry通過其URL的名稱:

SVNDirEntry dirEntry = repository.getDir("branches/1.0", -1, false, null); 
String name = SVNPathUtil.tail(dirEntry.getURL().getPath());