如何将SVN存储库移动到新服务器

Joe*_*ips 34 svn tortoisesvn

我们想将两台服务器合并在一起,为了做到这一点,我们需要在"新"服务器上安装SVN,然后移动我们在"旧"服务器上设置的所有存储库.

这是一个简单的操作吗?可能使用TortoiseSVN提供的"Relocate"选项?最好的方法是什么?

这是重新组织存储库设置方式的好时机吗?

Jam*_*ers 60

您可以使用该svnadmin dump功能迁移存储库.在SVN服务器上,键入svnadmin dump /absolute/path/to/the/repo > /tmp/repo.svndump.这会将整个存储库导出到系统临时目录中的文本文件,并将其命名为"repo.svndump".您可能希望在将文件传输到新服务器之前压缩该文件.

一旦导出了repo,就可以将转储文件传输到新服务器并导入它,如下所示:svnadmin load /absolute/path/to/the/**new**/repo < repo.svndump.

有关更多信息,请参阅' svnadmin dump '和' svnadmin load '.

转储存储库并将其加载到新服务器后,您将使用该--relocate命令将本地副本切换到新服务器.

警告:如果您的存储库使用任何存储库,externals那么您将遇到一些问题.有关详细信息,请参阅有关服务器故障的问题.

  • 对于大多数人来说,这可能是一个明智的选择,但是在我成功加载转储之前,我必须首先创建新的`repo`. (10认同)

Ste*_*gli 5

如果新服务器使用相同的操作系统,您只需将整个存储库文件夹复制到新服务器即可。无需转储并重新加载它。

relocate 命令允许您将工作副本指向新服务器,即它不会帮助您移动存储库,它只是使您免于重新签出。

外部因素可能会成为问题,但不一定是问题。如果外部存储库位于同一服务器上,那么您可能使用相对 URL 指定外部存储库。如果新服务器使用相同的结构,那么一切都应该正常工作。

  • 如果您使用伯克利数据库后端(它曾经是默认的),那么您绝对*必须*执行转储和恢复方法,因为否则这种痛苦是不值得的。 (2认同)