如何从subversion服务器显示存储库列表

时间:2009-11-07 16:43:50

标签: svn version-control search

我正在寻找一种搜索整个subversion服务器的方法。

我已经获得了search within a repository的一块拼图。现在我需要为每个存储库执行此操作。

更新

我必须从一些unix shell脚本(perl,bash等)

访问此列表

7 个答案:

答案 0 :(得分:40)

我还想在SVN中列出存储库。我在shell提示符下做了类似的事情:

~$ svn list https://www.repo.rr.com/svn/main/team/gaurav

Test/
Test2/
Test3/
Test4/
Test5/
Test6/

答案 1 :(得分:22)

如果通过apache和 SVNParentPath 指令启用svn,则可以在svn位置添加 SVNListParentPath On 指令以获取所有存储库的列表。

您的apache conf应该与此类似:

<Location /svn>
  DAV svn
  SVNParentPath         "/net/svn/repositories"
  # optional auth stuff     

  SVNListParentPath On    #  <--- Add this line to enable listing of all repos
</Location>

答案 2 :(得分:2)

您对SVN的访问不像Web服务那样工作吗?当我访问我的SVN服务器的顶级目录时,我得到的页面基本上是整个作品的目录。这是一个无序列表,我可以直接扫描。

编辑:以下是我将如何从命令行执行此操作:

wget http://user:password@svn-url/ -O - | grep \<li\>

答案 3 :(得分:0)

  

如果你的服务器是Apache,你应该   能够配置它来查看   存储库列表viewvc -   这是最基本的,还有更多   存在复杂的接口,但这是   不是你的目的。

     

在某些版本中,ViewVC是标准安装的一个选项   现在,例如来自Collabnet。

编辑:不管我上面的想法,Peter有一种更简单的方式来发送存储库列表。

从那里,你将不得不:

  • 获取HTML页面,
  • 提取列表,
  • 处理单个存储库搜索。

不幸的是,在这种情况下,我无法想到更简单的事情。

有关如何从HTML pages in Python提取文本的SO示例,这是一个很好的选择,因为Python也有SVN绑定,执行存储库搜索 - 您仍然可以直接调用svn如果您愿意,可以从Python开始。

如果Python不是你的茶,你将不得不用GNU工具(wget,然后解析工具或现有的包)处理不同的东西 - 我在那里帮助不大,Carl给了你一些这篇文章中的更多细节)。

答案 4 :(得分:0)

如果您了解Java的方法,可以使用SvnKit进行浏览,搜索,天知道您的Subversion服务器是什么。

之后,您可以打包程序并通过Ant任务或shell脚本调用它。

这是一个非常“蛮力”的解决方案,但是一旦掌握了SvnKit,你就可以做很多很酷的事情。

答案 5 :(得分:0)

有时您可能希望检查更新回购时间的时间戳,为了获得这个方便的信息,您可以使用svn -v(详细)选项,如

svn list -v svn://123.123.123.123/svn/repo/path

答案 6 :(得分:0)

在我的公司,他们没有将服务器配置为提供存储库列表,因此svn list适用于特定存储库,但不能更高级别列出所有存储库。

然而,他们安装了FishEye,它为您提供了一个列出存储库的GUI https://www.atlassian.com/software/fisheye

这是一个付费选项,所以并不适合所有人,但功能很好。