SVN服務器更換地址


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吧。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM