SVN迁移历史日志记录笔记
1.找到需要迁移的目录,比如我要迁移uboot的目录:svn://xxxx/u-boot2.查看该目录的日志信息,记录下最新的版本,以及最老的版本:比如最新的版本为:36954;最老的版本为:317253.登陆linux服务器创建临时工作目录:mkdir svn_testcd svn_test4.把指定svn目录dump下来:svnrdump dumpsvn...
1.找到需要迁移的目录,比如我要迁移uboot的目录:
svn://xxxx/u-boot
2.查看该目录的日志信息,记录下最新的版本,以及最老的版本:
比如最新的版本为:36954;最老的版本为:31725
3.登陆linux服务器创建临时工作目录:
mkdir svn_test
cd svn_test
4.把指定svn目录dump下来:
svnrdump dump svn://xxxx/u-boot -r 31725:36954 > main.dmp
指定日志版本:-r 31725:36954 (起始版本:终止版本)
生成的dump文件: main.dmp
注意:以上方法是针对版本跨度不大的情况,即起始版本31725和结束版本36954相差不大的情况(不超过10000个版本的跨度),可以一次性dump下来,当跨度比较大时,最好分段dump,否则服务器会半天响应不过来;
比如上面的uboot我采用分段dump下来:
我先dump第一段:
svnrdump dump svn://xxxx/u-boot -r 31725:34725 > main1.dmp
注意第一段dump不需要加--incremental关键字
然后我在dump 第二段:
svnrdump dump svn://xxxx/u-boot -r 34726:36954 --incremental > main2.dmp
5.把dump下的文件上传到新svn路径:
svnrdump load svn://xxx/new_path/uboot < main.dmp
执行命令后此时若出现:没有pre-revprop-change勾子
则需要创建个pre-revprop-change文件,文件内容为:
则需要管理员把pre-revprop-change放在目标svn的hook目录;
如果目标svn是windows文件系统的话,则需要将pre-revprop-change加个.bat后缀
分段式dump的话如下:
svnrdump load svn://xxx/new_path/uboot < main1.dmp
svnrdump load svn://xxx/new_path/uboot < main2.dmp
若此时出现:Failed to get lock on destination repos, currently held by....的提示
是因为执行了某些非法操作,导致目标svn被锁住,此时执行:
svn proplist --revprop -r0 svn://xxx/new_path/uboot :查看目标svn锁标志;
svn propdel --revprop -r0 svn:rdump-lock svn://xxx/new_path/uboot (改为自己实际目标svn)
锁即被解除;
6.到指定目录查看是否上传成功,日志信息是否都存在
更多推荐
所有评论(0)