杂记

Linux下SVN的迁移

2018-12-10  本文已影响5人  Mr_zY

写在前面

  1. 这里说的Linux环境是指svn服务段搭建环境,客户端则在Windows。
  2. 这里只做全量迁移的操作。
  3. 以TortoiseSVN为例

在svn客户端

  1. 在cmd中输入以下命令先进行备份:
    svnrdump dump svn://oldPath/main > E:/test/main.dmp
  • 若提示‘svnrdump’不是内部或外部命令,则需将svn以Modify操作重新安装,并勾选‘command line client tools’组件
  • svn://oldPath/main 是要备份的代码库的svn路径
  • E:/test/main.dmp 是导出的备份文件的完整路径
  1. 在将备份文件加载到新的svn路径
    svnrdump load snv://newPath/main < E:/test/main.dmp
  • snv://newPath/main 是要迁移的目标svn路径
  • 报错:E165006:此版本库不允许修改版本属性;请管理员创建pre-revprop-change钩子---解决方案:请svn服务端管理员在svn仓库目录下的hooks文件夹下创建一个pre-revprop-change文件(无后缀),并添加文本“#!/bin/sh \nexit0”
  • 报错:Revprop change blocked by pre-revprop-change hook (exit code1)---解决方案:说明pre-revprop-change钩子文件已经存在,根据output信息查看错误信息

在svn服务端

  1. 在终端中输入以下命令进行备份:
    svnadmin dump /home/oldSVN/TestProject/code > /home/oldBackup/test/main.dmp
  • /home/oldSVN/TestProject/code 是要备份的本地代码库的路径
  • /home/oldBackup/test/main.dmp 是导出的备份文件的完整路径
  1. 将导出的备份文件拷贝到新的svn服务端机器中,并终端中输入以下命令进行加载:
    svnadmin load /home/newSVN/TestProject/code < /home/newBackup/test/main.dmp
  • /home/newSVN/TestProject/code 新的svn本地代码仓库路径
  • /home/newBackup/test/main.dmp 拷贝到新svn服务端机器中的备份文件的完整路径

参考:
https://www.saas-secure.com/svn-hosting/svn-dump-restore.html#svn-remote-backup-restore

上一篇 下一篇

猜你喜欢

热点阅读