Svn 将Subversion存储库移动到另一台服务器
我有一个托管Subversion代码库的服务器。该服务器当前是一个框,我的IT管理员希望将其更新为 这意味着我需要在服务器构建时移动Subversion存储库,并且想知道将存储库移动到新服务器的最佳实践是什么 看起来,在网上,推荐的方法是:Svn 将Subversion存储库移动到另一台服务器,svn,backup,restore,Svn,Backup,Restore,我有一个托管Subversion代码库的服务器。该服务器当前是一个框,我的IT管理员希望将其更新为 这意味着我需要在服务器构建时移动Subversion存储库,并且想知道将存储库移动到新服务器的最佳实践是什么 看起来,在网上,推荐的方法是: svnadmin dump /path/to/repository > repository-name.dmp svnadmin hotcopy path/to/your_current_directory /path/to/your_destina
svnadmin dump /path/to/repository > repository-name.dmp
svnadmin hotcopy path/to/your_current_directory /path/to/your_destination_directory
然后使用:
svnadmin create repository-name
svnadmin load repository-name< repository-name.dmp
svnadmin创建存储库名称
svnadmin加载存储库名称
导入存储库
上面的方法似乎是最好的方法吗?如果您使用的是文件系统类型的存储库,您可以直接获取包含存储库的文件夹并将其移动。如果您正在更改服务器,则可能需要使用“重新定位”命令更改本地工作目录查找存储库的位置。是的,转储和加载存储库是一种方法。如果且仅当您确定在复制过程中没有人会访问存储库时(或者您可以对存储库进行“热拷贝”,这样可以安全地处理这些情况),则直接复制存储库文件夹是一种可行的选择
您还需要重新签出所有工作副本,或者使用svn switch命令,该命令仅重写URL。更方便的方法是使用OrtoiseSVN的重新定位命令,这可以减少重新定位过程中出错的风险。我的恢复脚本如下所示:
svnadmin create repository-name --fs-type fsfs
svnadmin load repository-name --force-uuid < repository-name.dmp
svnadmin创建存储库名称--fs类型fsfs
svnadmin加载存储库名称--强制uuid
第一行确保存储库使用FSFS
后端(这是许多来源推荐的,包括这一条:,并且AFAIK较新版本的Subversion将其作为默认使用)。是Subversion文件系统实现的名称
第二行保留存储库的UUID,以便于转换(如果没有--force UUID
开关,工作副本重新定位将失败)
一些链接:
“您将需要一个名为svnrdump的工具。正如Apache所述,“svnrdump复制了svnadmin dump和svnadmin load的功能,但可用于远程存储库,而不需要管理员(本地文件系统)访问源或目标存储库。”最简单的方法是使用:
svnadmin dump /path/to/repository > repository-name.dmp
svnadmin hotcopy path/to/your_current_directory /path/to/your_destination_directory
我就是这么做的……这是“推荐的方法”,那么为什么你怀疑这是一个好方法呢?什么是“最好的方法”“是说,不管怎样?你是在找一个较短的版本吗?谢谢,事实上,它应该适合重新定位,因为它移动到的服务器将与它当前所在的服务器IP相同。谢谢,我在使用direct copy时遇到了一些困难,因为我没有正确设置SVNServe根目录,但一旦我这么做了,看起来直接复制效果很好。谢谢