我有一个2个Debian subversion设置在不同的服务器上,并决定closures其中一台服务器。 但在此之前,我想将一台服务器上的所有存储库移至另一台服务器 (包括所有历史版本等)。
这是怎么做的?
我可以简单地将/ var / lib / svn / repo-name的内容复制到另一台服务器上的/ var / lib / svn / repo-name吗? 还是有更多的呢?
我也需要做任何有关权限/所有权?
如果SVN环境相同,则只应复制文件,如果不相同的话:
svnadmin转储myrepos>转储文件
svnadmin加载newrepos <转储文件
svn switch --relocate http://new-server.lan/repos/repo 。
这一切都来自SVN书 。
您最好从旧的存储库进行转储,并加载新的存储库。 这是将一个存储库迁移到另一个存储库最干净,最“支持”的方式。 你可以尝试复制这些文件,但是如果你没有在相同的处理器体系结构上转移到相同版本的Subversion(是的 – 如果你使用的是BerkeleyDB,你可能遇到endian – ness问题…看到阿尔法英特尔SVN迁移一次),你可能有问题。
查看http://svnbook.red-bean.com/en/1.1/ch05s03.html ,标题为“迁移存储库”一节。
(当我们没有足够的临时空间来保存转储文件的副本时,我的一个朋友曾经在两个盒子之间的netcat上做过这样的工作!)
有多种方法可以做到这一点:
请注意,svnadmin转储不会转储您的存储库configuration文件和挂钩脚本。