SVN服务器更换地址

本文介绍如何在SVN服务器更换时,通过svn relocate命令更新本地项目配置,避免重复下载代码。针对UUID不匹配等问题提供了三种解决方案,并介绍了如何处理服务器版本低于本地版本的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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/archive/2013/01/15/2861051.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值