[问题处理]SVN踩得几个坑

  • 1041 字
  • 次阅读

The server sent a truncated HTTP response body

https://www.jianshu.com/p/ad53304dbdbf
印象里这篇文章似乎没啥用,后面是要改apache的设置。

备份

大部分文章都强调不能cp和rsync。但结果来说,rsync可能会成为最终结果

  1. SVN并没有提供直接备份所有repo的办法,所有文章的repo都是基于单个repo的,所以要备份只能遍历。
  2. svnadmin dump 出来的文件比服务器上的repo还要大。
  3. svnadmin dump 的某个repo只有1kb,空repo也是1kb。手动备份能正常备份,所以记得一定要开log
  4. svnadmin hotcopy卡住,网上看跟文件系统有关,大概我用的NTFS(NTFS ,samba都不行,只能nfs,samba不行的原因在于某文件创建后会卡住无法删除,改用nfs挂载同目录后正常)

验证相关

1.8 新增了一个设置,默认关了权限继承
应该说最新的跟1.6不一样,[/]给的权限无法继承,原因不明

恢复相关

硬盘炸了,原来项目备份时报错”serialized hash missing terminator”
导致项目备份数据不对,恢复后无法使用。期间报错”打开文件系统“db”的BDB环境句柄时出错”(Berkeley DB error for filesystem DB_CONFIG),”svn E160004 current file”(这个是恢复不了我瞎改导致的,实际文件正常的话recover会自动修正current,手动修改没意义,对不上就会报错)。”svn E200002 malformed representation for node-revision”
经确认是有报错之后,备份时丢失了format以及db文件夹下的一些数据
正常项目的db文件夹下,revs和revprops都会多套个叫0的文件夹(0-999放到0,1000-1999放到1这样)
revs里最大的数字为最终版本号。(不过这个不重要)
主要db文件夹下会需要fomart为(我这里是)

1
2
6
layout sharded 1000

而报错导致的备份的fomart都是2
还需要一个”min-unpacked-rev”(这个从正常项目拷一个塞进去就行)
然后svnadmin recoversvnadmin verify就行,但如果期间版本有问题,那就是另外一个问题了

打赏
打赏提示信息
分享
分享提示信息