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吧。。
原文地址:https://www.cnblogs.com/lingfengchencn/p/2861051.html