今天遇到一个稍微有点麻烦的问题:SVN客户端checkout repo目录后,有一些文件被windows defender 干掉,导致操作报错。
本文的文件路径和SVN路径统一使用XXXX
代替。
报错如下:
Failed to run the WC DB work queue associated with
'XXXX\dotnetfx45_full_x86_x64.exe',
work item 11564 (file-install 221
XXXX/dotnetfx45_full_x86_x64.exe
1 0 1 1)
Can't open file
'XXXXX\.svn\pristine\7a\7ab1c918141034fe4c9c34ba79c4cf63bce76098.svn-base':
系统找不到指定的文件。
按照以往的经验,肯定是被杀毒软件杀掉了。我的Windows10只有windows defender,显然是他干的。
打开windows defender C:\Program Files\Windows Defender\MSASCui.exe
,查找历史记录。
如果被删的文件少,将目标文件夹设为规则例外,还原文件也就解决了。但我这里文件太多,不知道哪个是目标文件,一个一个找起来实在是麻烦。
想了想,用了个粗鲁的办法:svn-base文件既然被删,那我再造个文件不就得了?
So,报错中出现的文件*.svn-base,我在 .svn\pristine 路径下新建了一个,和报错要找的一样。
添加完毕后,再clean up->update,成功check出文件夹中的内容,解决问题。
总结一下,问题的关键是*.svn-base文件莫名其妙被删,导致相关操作失败。至于这个文件为什么被删,没想明白。猜测是这个文件check出的文件有问题,所以被defender株连。如果猜测不正确,希望有懂的可以解答。