记录一下,遇到svn 服务器地址变更了,本地也需要对应进行定位的情况。
- 通用办法,在其它文件夹下checkout一下,把修改后的文件或补丁应用到新checkout的版本,重新提交。
- 如果只是地址变更,可使用svn命令 relocate 进行路径指定。
- Error: The repository at 'svn://xxxxx' has uuid 'XXXX', but the WC has 'XXXX'“。SVN服务器不单纯切换了地址,连服务器本身也换了,uuid不同了。 可到.svn/wc.db数据库中,查找表 repository,修改里面的字段uuid(或者直接修改数据库文件)。或者有安装服务器,可以使用svnadmin setuuid来进行uuid变更。
- Error: Checksum mismatch while updating, Error: No such revision xxx。uuid问题没有了,但更新的时候,发现连Revision重置了,版本号不再对应。可以尝试下面的这样,数据以及SVN是否稳定未进行测试。
- 删除.svn文件夹
- 在当前本地路径导出一个空的数据,svn co svn://...... . --depth=empty
- 如果有文件需要增加, svn add . --force
- 更新并重设路径 svn up --set-depth=infinity --accept=mine-full
- 提交 svn ci -m ""
数据无价,风险操作请先执行数据备份。