最近由於使用私人碼雲存在大小限制,就將其倉庫轉移企業倉庫後,使用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操作,就沒有問題了。