来自Java的SVN分支信息

时间:2012-02-15 14:29:36

标签: java svn svnkit

我正在寻找一种方法来提取存储库中所有分支的信息。 我只是以分支机构的名义相互关联。

我曾尝试使用SVNKit,但未能弄明白,如何获取此信息。

3 个答案:

答案 0 :(得分:3)

来自svnbook, chapter 4

  

您应该记住本节中的两个重要课程。 首先,Subversion没有分支的内部概念 - 它只知道如何制作副本。复制目录时,生成的目录只是一个“分支”,因为您将该含义附加到该目录。您可能会以不同的方式考虑目录,或者以不同的方式对待它,但对于Subversion来说,它只是一个恰好带有一些额外历史信息的普通目录。

     

其次,由于这种复制机制,Subversion的分支作为存储库中的普通文件系统目录存在。这与其他版本控制系统不同,其中分支通常通过向文件集合添加额外的“标签”来定义。分支目录的位置与Subversion无关。大多数团队遵循将所有分支放入/ branches目录的约定,但您可以自由发明任何您希望的策略。

要获取分支名称,您需要知道有关存储库的内部结构的信息。我怀疑,获取所有分支有一种通用方法 - 因为它们只是本地副本。

答案 1 :(得分:1)

如果知道存储库结构,您可以使用SVNLogClient.doList(SVNURL, SVNRevision, SVNRevision, boolean, boolean, ISVNDirEntryHandler),也可以直接使用更低级别的SVNRepository API。在

处查看 listEntries 示例

http://wiki.svnkit.com/Printing_Out_A_Subversion_Repository_Tree

答案 2 :(得分:-1)

在eclipse中执行ctrl + 3(BTW我最喜欢的Eclipse快捷方式),然后键入存储库,这样就可以选择打开SVN存储库视图。

打开视图后,如果未添加您的存储库,请添加它...添加后,您将能够将其展开并作为普通目录树浏览它,您将能够看到你所有的分支