转移SVN 仓库后,使用TortoiseSVN 重定位(relocate)报错 解决方法

最近由于使用私人码云存在大小限制,就将其仓库转移企业仓库后,使用TortoiseSVN 重定位(relocate)报错

错误提示:【svn The repository at svnxxxxx has uuid XXXX, but the WC has XXXX】

 

出现这个问题的原因就是SVN服务器上仓库的uuid和我们本地仓库中的uuid不一致引起的。uuid是SVN服务器在创建仓库时自动生成的一个随机数,通过这个随机数用来判断服务器和客户端的仓库是否一致,如果不一致,就会引起冲突。

出现这种问题,我们要使服务端和客户端的uuid保持一致,很显然,修改服务端的uuid是不可以的,最好是修改我们本地仓库的uuid。要修改uuid,首先得知道服务端的uuid是什么,虽然报错的时候对话框中显示出了服务端的uuid是什么,但是那个不能复制。

可以下载新仓库到本地。在本地仓库的.svn文件夹下面有一个wc.db文件,这个文件是个sqlite数据库,里面存储着仓库的一些版本控制信息。我们用sqlite数据库查看软件打开这个文件后,可以在REPOSITORY表中找到uuid字段,里面存储的就是本地仓库的uuid值,我们可以在数据库里直接修改这个值和服务端的uuid一致。

将本地仓库的uuid改成和服务端一致以后,再次执行relocate操作,就没有问题了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章