首页 > 代码库 > [版本管理]有惊无险修复svn服务器Invalid filesystem revision number问题
[版本管理]有惊无险修复svn服务器Invalid filesystem revision number问题
问题起因:某一天下午,团队成员在向svn服务端提交新内容,突然整栋楼断电了,自然,提交的过程被中断了。当时,还没有什么想法。
等有电后,另外一同事在update项目时,发现无法正常使用svn,一直报异常信息:
Invalid filesystem revision number
svn: 没有版本 19956
处理过程:
一时不得其法,google了后,发现了遇到了同样问题的同行http://coldfusion-archive.robgonda.com/blog/index.cfm/2007/10/19/SVN-PROPFIND-request-failed--No-Such-Revision/ ;按照他的做法,我先备份好服务端的svn根目录,然后执行以下操作:
1)打开svn根目录下的 db/revs目录,找到最新的子文件夹(一般是版本号的前一位或者两位及以上的数字)19,打开它,发现里面的版本记录为19955,这说明在生成19956版本
记录的过程中,被断电中断了,导致了数据不一致;
2)按照参考文章的做法,我打开了 /db目录下的current文件(记录当前的最新版本号),发现版本号为19956,于是将它改为19955;按照参考文章的说法,改完后,应该是可以
正常使用的了。但是我这里却报了另外的异常信息:
Malformed file
svn: 不能解析锁/条目的哈希文件“H:\svnroot\db\locks\580\580c93793d2f9df159ce7f1c5de5862c“
3)顺着参考文章的思路,我估计可能是锁文件的记录是19956的,于是就按照提示找到db/locks/580文件夹,发现其下有最新的哈希文件 580c93793d2f9df159ce7f1c5de5862c。将它备份好后,我就直接将580文件夹删掉了,此时svn可以正常使用了,版本号为19955。
4)至此,问题已经莫名其妙的解决了,但我担心提交生成19956版本时的文件再提交时svn会怎么处理。明天再看下了。