记一次svn更新后文件状态变为switch的解决过程

1.从svn更新文件后,有几个文件的svn status变为了switch状态(通过eclipse在文件上右键选择Properties),

同时运行“与资源库对比”后,该文件A不是和资源库中的A文件对比,而是和其他文件做的对比。并且把文件删除后再重新更新下来还是这样,clean up也没有作用。

snap_screen_20200228142427.png

2.现在需要把它变回正常状态,在eclipse中该文件的当前文件夹上右键,选择Team-》切换(switch)-》直接点确认就可以了

snap_screen_20200228155036.png

3.选择切换后可能会遇到 sqlite[S11]: database disk image is malformed问题
没关系接下来重新修复sqlite数据库,如果没有报错可以跳过第4步,直接看第5步。

4.修复sqlite数据库:
下载sqlite3修复工具http://www.sqlite.org/download.html
将 sqlite3.exe 文件解压缩到.svn目录的同级目录
打开命令(cmd)行工具,linux也一样 cd 项目目录的下,和.svn的同级目录
运行一下命令(windows,linux 通用):
sqlite3 .svn/wc.db “pragma integrity_check”
sqlite3 .svn/wc.db “reindex nodes”
sqlite3 .svn/wc.db “reindex pristine”

5.接下来该文件变成unversioned的了,这时候可以将其删除,然后在从资源库下更新下来,现在文件状态就变成normal了

参考:https://stackoverflow.com/questions/2269996/svn-what-does-the-status-switched-relative-to-its-parent-mean。

你可能感兴趣的:(记一次svn更新后文件状态变为switch的解决过程)