解决TortoiseSVN clean up时的异常问题“Cleanup failed to process the following paths ... Pristine text ... not present”

分类:计算机 | 版本控制 | SVN | 综合 257
更新:2021-07-14 21:05:34
编辑

1 异常描述

在使用TortoiseSVN更新svn代码时提示说要我执行以下cleanup操作,于是执行了一下cleanup操作,但是又报错说“Cleanup failed to process the following paths ... Pristine text ... not present”。

2 异常分析

从字面意思来看这个异常说的是svn的Pristine目录中有些文件不存在了。可能是在之前执行的svn更新操作被意外中断了,导致有些文件丢失了,为了验证这个情况,首先去.svn的pristine目录中根据关键字(就是异常提示信息中Pristine text后面的那个字符串,文件的sha1值)进行搜索,没有找到相应名称的文件;然后打开.svn目录中的wc.db文件,使用sql语句:

SELECT * FROM nodes WHERE checksum like '%0d7acec%';

来查找相应的记录,果然在这个表里找到了相应的记录

这样就出现了矛盾,表里有相应的文件记录,但是这个文件却不存在。

3 异常解决

把wc.db文件中的那条多余记录删掉,重新cleanup,重新更新代码就可以了。