之前碰到过一次,忘记最后怎么解决的了,只记得大概原理和原因,以及解决办法。
1067错误码,很多地方都会碰到,mysql也会有,看来应该是windows系统的错误码。跟具体程序无关。所以直接百度“SVN”、“1067”之类的字眼是无法搜索到有效信息的。
参考文章:
Can‘t read file : End of file found 文件:txn_current、current svn无法正常读取文件
SVN同步断电文件损坏无法使用修复方案
以下是正文:
打开svn库所在的目录,如下图
网上的文章提到,看current和txn-current两个文件,用文本工具打开
txn-current
对应上面的db->revpros目录下最大的目录名。
上面说的最大都是指数字,而不是其他。
如果对不上,就会有问题。
这里的txn-current的内容,看了几个项目的svn,都对不上,甚至不是数字。所以一开始是改这个,结果还是起不来。或者是我打开方式不对吧。
current:
这里的4098,对应于db->revprops目录下,最大的文件夹内最大的文件名
如果这里对不上,直接改试试,我这里是对得上的。有些文章建议打开db-revprops-xx目录下最大的文件名的文件看看,如果是乱码,就删掉。其实我打开也没有乱码。
最后实在没办法,试了一下,删掉了原来的最大文件,改了current的内容。结果是可以启动的。
所以跟是否乱码无直接关系。只能试试
第二天补充:昨晚改过之后,好好的没问题,今天突然发现还是炸了。除了revprops目录下,revs目录下也是跟revprops目录相似的结构。昨晚并没有删除revs对应的文件。虽然svn能启动,但是由于我没更新那个目录,没发现问题。今天客户端更新的时候发现还会报错。于是再次执行一次还原,而且由于部分目录是可以更新的。导致所有人都需要重新下载整个目录。因为大家的svn记录比服务器上的超前了。