我为许多个人和工作开发项目使用托管的subversion服务.虽然他们像任何托管公司一样保留备份,但我希望能够创建我自己的本地备份以防万一.此服务允许您请求和下载备份,但他们收取费用来执行此操作.无论如何,我可以通过HTTPS连接到客户端来生成托管存储库的备份/转储吗?
理论上“不”,因为转储只能通过svnadmin
命令执行。然而,有一个重要的解决方案可以避免这个问题。
有两种方法,一种简单,一种困难。最简单的是一个名为 rsvndump(远程 SVN 转储)的实用程序,您可以在这里找到它: http: //rsvndump.sourceforge.net/
如果更简单的方法不适合您(rsvnadmin 有其局限性,如其联机帮助页上所写),那么还有复杂的方法:
第二种更难的方法需要您安装SVK,这是一个使用 svn 构建的分布式版本控制客户端,作为扩展客户端。不幸的是,安装过程并不简单,但这里有一个指南可以提供帮助。
您现在使用 SVK 列出远程存储库:
svk ls URL-to-SVN
Run Code Online (Sandbox Code Playgroud)
按照说明进行操作。瞧,您有存储库的本地副本:)。前两个修订版与 SVK 相关,因此现在要进行转储,请运行:
svnadmin dump -r2:HEAD ~/.svk/local > repository.dump
Run Code Online (Sandbox Code Playgroud)
现在你就得到了它。
SVK 还具有针对 Windows 预先构建的优点(这里是链接)。