我正在尝试创建客户现有svn存储库的备份,该存储库可通过http公开获取。
如果可能的话,我希望能够从任何计算机自动创建新的存储库,而无需向外部各方提供服务器的控制台访问权限(即用户可以在我的svn上执行ls
repo dir)
我的问题是我需要知道服务器上的svn存储库列表 - 它不是固定列表,因为用户将随着时间的推移添加新的存储库。
我可以使用mod_dav_svn
指令通过Apache的SVNListParentPath On
模块在html页面上列出存储库。我得到了这个页面:http://svn.ohwr.org/
我的问题是:获取此类存储库的可用列表的最简单方法是什么?我需要解析该列表才能进行同步,可能使用shell命令。
我必须使用shell命令解析HTML,还是有更好的方法来获取该列表?
答案 0 :(得分:1)
我最终创建了自己的解决方案。
我已经设置了一个cron任务,它在svn文件夹上创建一个ls,并将其输出重定向到服务器上的公共文件。此文件没有html标记,它是一个纯文本文件,只包含存储库的名称。
这样,客户端可以轻松地获取该文件并迭代存储库名称。
我对这个实施不是很满意;虽然它有效,但它有点“hacky”。我宁愿使用SVN或Apache自己提供的东西。
如果有人发布更好的解决方案,我会接受它。与此同时,这是我最好的答案。