Stay hungry, Stay foolish

0%

SVN跨版本库迁移&问题汇总

环境

  • SVN 1.7
  • windows 7

迁移

  • 导出
1
svnrdump.exe dump -r0:HEAD http://192.168.1.200/svn/test/ > E:/test.dump
  • 导入
1
svnrdump.exe load svn://127.0.0.1 < E:/test.dump

问题

  • 不能打开文件format
1
svnadmin dump E:\test > E:\test.dump

svnadmin: E720002:不能打开文件”E:\test\format”:系统打不到指定的文件

format在E:\test.svn下,于是把文件拷贝到E:\test下

继续运行上面代码,报”期望版本库格式”错误

  • 期望版本库格式错误

svnadmin: E165005: 期望版本库格式是“3”或“5”;发现格式是“12”

由于SVN版本是1.7的缘故,改用svnrdump取代svnadmin

  • 没有pre-revprop-change勾子

svnrdump: E175002: DAV请求失败;可能是版本库的pre-revprop-change钩子执行失败或者不存在

在对应的目录下创建一个空的钩子文件即可

  • 认证失败

svnrdump:E170001:认证失败

修改conf/svnserve.conf,允许匿名写

1
anon-access = write
  • 加锁失败

svnrdump: E000022:尝试了10次后,对目标版本库加锁失败

查看已占用的锁

1
2
3
4
5
svn proplist --revprop -r0 svn://127.0.0.1

版本0上的未纳入版本控制的属性:
svn:date
svn:rdump-lock

删除对应的锁

1
svn propdel --revprop -r0 svn:rdump-lock svn://127.0.0.1
  • 转存流中内容数据过早结束

svnrdump: E200003: 转存流中内容数据过早结束

看一下test.dump竟然是0KB,可能是导出的数据太大导致,转而增量迁移

参考

据说打赏我的人,代码没有BUG