网站导航
登录信息

用户名 :

密 码 :

验证码 :

忘记密码

请输入您的Email地址及用户名,系统确认匹配后会将密码重置地址发送到您的邮箱。

用户名:

Email:

注册帐号

注册及创建本站帐户只需5秒。

点击创建帐户

如何在服务器搬迁后顺利UPDATE和COMMIT

我们服务器定于在2011年11月24日晚10时进行搬迁到双线机房的切割。由于使用新的服务器、操作系统、软件版本,因此对于同步过去的版本库都有一个新的UUID。这造成了在我们搬迁后,大部分用户在原来的版本库基础上进行UPDATE或COMMIT,都会有以下的类型报错提示:

svn: Repository UUID '4a2469e8-a182-4e7e-bf14-179b18b03950' doesn't match expected UUID '6e150fa7-7aff-4d2b-84f5-e9456c602382'

这句话的大概意思我解释一下,就是你准备UPDATE(或COMMIT)的版本库和服务器上的版本库的UUID不一致。

什么是UUID?按笔者的理解,大概是一个对应版本库的唯一ID号,SVN应该是使用这个ID来识别两个版本库是否同一个版本库的机制。

很幸运的是,SVN提供了工具可以让我们更改这个UUID。因此,在你碰到这个错误,您可以有两种解决方法:

  1. 重新把项目CHECKOUT下来,然后您就可以在新的版本库的基础上进行重新UPDATE或COMMIT了。
  2. 更改您在新服务器上版本库的UUID。具体操作步骤是登录svnchina.com,然后点击进入项目的详细页,然后在下面的操作界面上操作,如下图:

使用第二种方法的时候请注意:如果您或您的开发团队已经在搬迁后重新CHECKOUT过,那建议不要再去更改项目的UUID,否则您可能需要再重新CHECKOUT才能正常工作;

但如果您或您的开发团队在搬迁后未曾重新CHECKOUT,而且重新CHECKOUT对您们来说影响很大,那用第二种方法无疑是明智的选择。

注:UUID的恢复只有项目的创建人才有权限进行。

恢复旧的UUID成功后,您将不需要重新CHECKOUT,马上就可以在原来源码版本的基础上进行UPDATE或COMMIT了。