公司从四楼换到三楼了,开发服务器也跟着下来了。由于两层楼的IP不一样所以重新设置了一下服务器的IP地址。IP地址设置好之后重新启动了httpd服务,并在浏览器中验证了一下SVN路径是否可用。
由于我的笔记本是新装的系统暂时还没有装TortoiseSVN 所以就没有用客户端对版本库进行操作。后事我同事反应说SVN不能签出了,才发现SVN确实有问题。浏览器中可以访问但用TortoiseSVN签出时却提示:
Repository moved permanently to “http://172.16.30.251/svn/renhe”; please relocate
网上找了一些解决方案是由于Apache的配置文件出问题,于是就检查了一下httpd.conf文件。发现在配置文件中配置了NameVirtualHost并且指向了四楼的IP。
就此我以为找到解决办法了,把IP一替换,保存重启却提示。
……
NameVirtualHost 172.16.30.251:0 has no VirtualHosts
……
把IP地址再换回去就没有警告提示。网上很多办法都是说配置文件写得不对,不过但是搜遍了整个httpd.conf文件都没有找到其他设置IP地址或NameVirtualHost的地方。我想应该是IP地址解析的问题,因此最后查看了一下Host文件还真是所有的VirtualHost的名称都在服务器的Hosts文件上做了映射。因此修改Hosts文件。问题搞定。
问题解决了,不过费了小半天的时间才搞定。Linux领域还不是很熟悉哈。慢慢搞吧。呵呵
[20100810 更新]
昨天以为搞定问题了,没想只搞定了一半,今天开发人员反应不能Check In。搞得我头大,在服务器上执行post-commit半天没有响应,强制关闭时提示:
svn: OPTIONS of 'http://172.16.40.251/svn/6p': could not connect to server (http://172.16.40.251/)
刚开始以为还是IP地址没有设对的原因又重新检查了一下IP设置,没有发现问题。网上找了一些解决方法很多都只是讲IP地址设置错了。
想了半天既然老是访问旧的地址看能不能直接把IP地址写在在post-commit中,但不管是用http还是用svn这两种访问方式都不行,日志里提示的是“skiped xxxx”,但这个提示原因有很多,比如路径访问不到,权限问题等。应该不是这里的原因,算了不在这里绕了。
最后没办法把之前CheckOut出来的目录换了个名称。再从SVN库中CheckOut出新的一份出来。现执行post-commit一切正常。
终于彻底的调通之后才想明白虽然同步更新的目录是在服务器上,但其实它也只是客户端而以,客户端配置的SVN路径是旧的SVN服务器路径,应该在该目录下使用
svn switch –relocate “url1” “url2”
来重置SVN服务器地址,但当时我重置了之后好像遇到了版本不一致的问题。所以才重新check out一份出来。问题总算解决了!另外提醒了一下其实我已经用高亮显示了,使用svn switch命令时一定要在check out出来的目录不是在SVN版本库的目录。