我将托管的subversion服务用于许多个人和工作开发项目。虽然他们像任何托管公司一样保留备份,但我希望能够创建我自己的本地备份以防万一。此服务允许您请求和下载备份,但他们收取费用来执行此操作。无论如何,我可以通过HTTPS连接到客户端来生成托管存储库的备份/转储吗?
答案 0 :(得分:4)
您可以使用svnsync
命令。它基本上会获得源SVN数据库的每个修订版并将它们提交到备份数据库。第一次运行它时可能会很慢,因为它一次只能获得所有更改,但是一旦完成第一次同步,这是一个很好的解决方案。
答案 1 :(得分:1)
理论上“不”,因为转储只能由svnadmin
命令执行。然而,有一个非常重要的解决办法来规避这一点。
有两种方式,一种是简单的,一种是硬的。简单的是一个名为rsvndump(远程SVN转储)的实用程序,你可以在这里找到它:http://rsvndump.sourceforge.net/
如果更简单的一个不适合你(rsvnadmin有它的限制,就像在manpage上写的那样),那就是复杂的一个:
第二种更难的方法要求您安装SVK,一个使用svn构建的分布式版本控制客户端,作为扩展客户端。不幸的是,安装过程并非易事,但这里只有guide to help。
您现在使用SVK列出远程存储库:
svk ls URL-to-SVN
按照说明操作。瞧,你有一个本地的存储库副本:)。前两个版本与SVK相关,因此要立即执行转储,请运行:
svnadmin dump -r2:HEAD ~/.svk/local > repository.dump
你有它。
SVK还具有为Windows预构建的优势(here's the link)。