svn服务器上不同仓库下的项目迁移并保持历史记录

问题:由于需要整理svn上的数据,需要将仓库A中的某个项目迁移到仓库B中,同时需要保持该项目所有的修改记录;

          错误做法:①通过复制,那么此时该项目的文件只保留最新的版本;

  ②将项目县checkout下来,再通过import导入,那么此时得到的是一个新的项目,失去迁移的意义了。

前提首先关闭两台服务器的svn所有服务,比如(apache、svn),以避免在进行迁移时又有其他的用户访问或修改。


备份和还原:

1.ServerA上的 项目pro1所在的仓库进行备份,使用命令:

      svnadmin dump oldrepos > reposdumpfile 

      示例:C:\ProgramFiles\VisualSVN Server\bin>svnadmin dump F:\Repositories\document>F:\documentdumpfile


2.如果需要将Server A上repos1中的所有项目迁移到Server2上,则将reposdumpfile文件直接拷贝到Server2上,然后转到 步骤4;

 

3.如果我们只需要repos1仓库中的pro1则我们需还要对reposdumpfile文件进行过滤,命令如下:

       svndumpfilter include pro1 < reposdumpfile< pro1dumpfile

         示例:C:\ProgramFiles\VisualSVN Server\bin>svndumpfilter include 医疗项目/中医药大学附属医院体检中心信息管理系统< G:\documentdumpfile > G:\pro1dumpfile

 

 

4.Server2上运行如下命令,则完成了项目的迁移;(只能针对整个库,不能单独放下某个文件夹下面,可以建立相同名称父目录,会自动放到该父目录下面)

      svnadmin load newrepos < pro1dumpfile 

       示例:C:\ProgramFiles\VisualSVN Server\bin>svnadmin load G:\Repositories\project <G:\pro1dumpfile

 

可能会出现的问题:

<<< Startednew transaction, based on original revision 1

     * adding path : 建设厅项目/诚信平台 ...svnadmin:E160013: File not found: transaction '1274-ze', path '/建设厅项目/诚信平台'

首先需要建立一个同名文件夹如"建设厅项目" "医疗项目"(需要导入目录的父目录),否则会出现如上问题


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值