2012-02-15 79 views
3

我正在尋找一種方法來提取存儲庫中所有分支上的信息。 我只會以分支的名義互相交流。SVN來自Java的分支信息

我試圖玩SVNKit,但一直未能弄清楚,如何得到這些信息。

+0

你讀這個'getLogClient()'http://svnkit.com/javadoc/org/tmatesoft/svn/core/wc/SVNClientManager。 html和這個http://svnkit.com/javadoc/org/tmatesoft/svn/core/wc/SVNLogClient.html'doLog()' – 2012-02-15 14:36:19

回答

1

如果知道存儲庫結構,則可以使用SVNLogClient.doList(SVNURL, SVNRevision, SVNRevision, boolean, boolean, ISVNDirEntryHandler),也可以直接使用更低層次的SVNRepository API。看一看在listEntries例如在:

http://wiki.svnkit.com/Printing_Out_A_Subversion_Repository_Tree

+0

工作就像一個魅力!謝謝。 – 2012-02-16 08:46:51

-1

在你的eclipse中執行ctrl + 3(順便提一下,我最喜歡的Eclipse快捷方式),並鍵入存儲庫,這應該會讓你選擇打開你的SVN存儲庫視圖。

一旦視圖被打開,如果不加你的資料庫,添加它......一旦加入,你將能夠擴大它和瀏覽它作爲一個正常的目錄樹,你將能夠看到名稱所有的分支

+0

你誤會了我。我不在Eclipse中尋找功能。我正在尋找一種方法來訪問此代碼。然後我可以打印出bracnhes或其他東西的列表。 – 2012-02-15 14:44:48

+0

哎呀...對不起...是啊我不知道該怎麼做:( – 2012-02-15 14:53:33

3

svnbook, chapter 4的:

你應該還記得本部分有兩個重要的教訓。 首先,Subversion沒有分支的內部概念-只知道如何製作副本。當你複製一個目錄時,生成的目錄只是一個「分支」,因爲你附加了這個含義。你可能會以不同的方式來看待這個目錄,或者以不同的方式對待它,但是對於Subversion來說,它只是一個普通的目錄。其次,由於這種複製機制,Subversion的分支以存儲庫中正常的文件系統目錄的形式存在。這與其他版本控制系統不同,其中分支通常是通過向文件集合添加額外維度的「標籤」來定義的。你的分支目錄的位置與Subversion無關。大多數團隊遵循將所有分支放入/ branches目錄的慣例,但是您可以自由創造任何您希望的策略。

要獲取分支名稱,您需要知道存儲庫的internat結構信息。我懷疑,有對的一般方法得到的所有分支 - 因爲它們都不過是本地副本。

+0

啊好的 結構是已知的,它是我們自己的回購。有一個/分支文件夾 所以我需要輸入/分支文件夾和檢索所有的名字。 – 2012-02-15 14:49:33