Linux下SVN的迁移

写在前面

  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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS 开发 SVN 版本控制器 更多技术交流请加群 iOS技术联盟 27512466 SVN是Subversio...
    Sunny_Fight阅读 8,820评论 7 63
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • 如果刚到一个新公司,还要用 SVN ,接老项目,简易 SVN 操作 一、创建代码仓库 1.首先在某个目录下面新建一...
    4b5cb36a2ee2阅读 811评论 0 0
  • 第一天 7月13日OCP笔记: Oracle Ocp11g准备资料: OracleFundmentals 书 管理...
    fjxCode阅读 2,837评论 0 4
  • 1、检出 svn co http://路径(目录或文件的全路径)[本地目录全路径] --username 用户名 ...
    石丘阅读 1,601评论 0 15