svn服務器更換了,本地的項目需要更改配置。可以重新再check out出來一份。但這樣並不是必要的,本地其實已經有一份代碼了,為什么還非得重新下載一份呢。可以使用svn relocate命令更改本地項目的respository。
命令: svn switch --relocate http://cms/svn/cms http://svnurl/
TortoiseSVN : 右擊版本庫文件夾-->relocate。輸入新服務器地址
異常:
出現錯誤:
uuid 是 “26a2186b-f2b0-4896-a26b-377849fce918”,但是工作副本的是 “9428d3a9-ad39-c145-acea-0b45b3c4f14d”
UUID是respository創建時自動生成的一個隨機數,SVN Client利用UUID判斷是否為同一個resp。
處理辦法:
1、重新checkout到新文件夾,同時刪除本地.svn文件,然后用本地的覆蓋新簽下來的數據;
2、可以修改服務器上的UUID:
$ svnlook uuid /var/svn/repos cf2b9d22-acb5-11dc-bc8c-05e83ce5dbec $ svnadmin setuuid /var/svn/repos # generate a new UUID 自動生成 $ svnlook uuid /var/svn/repos 3c3c38fe-acc0-11dc-acbc-1b37ff1c8e7c $ svnadmin setuuid /var/svn/repos \ cf2b9d22-acb5-11dc-bc8c-05e83ce5dbec # restore the old UUID 手動指定 $ svnlook uuid /var/svn/repos cf2b9d22-acb5-11dc-bc8c-05e83ce5dbec
3、修改本地svn庫的uuid:
記事本打開
.svn/wc.db,查找 以上的2個uuid 本進行替換,然后就可以順利svn relocate了。
最后可能存在服務器版本低於本地版本的情況:update報錯,本地revision在服務器上找不到。
處理辦法:
1、checkout到新文件夾;
2、刪除本地副本中的.svn文件夾;
3、將已刪除.svn文件夾的本地副本,覆蓋至新checkout文件夾。
完成,update吧。。