我对Ant和SvnAnt的了解足以构成危险。不久前,我把build.xml和.properties文件放在一起,现在我遇到了一些问题,我担心我会出问题。
简单的场景。我有一个SvnAnt任务,它将更新来自远程存储库的代码。工作得很好。最近,该存储库的IP地址发生了变化,所以我打开了build.properties文件,并相应地更改了IP地址:
svnant.project.url=http://my.new.ip.here/svn/project/trunk
问题是,当我运行ant并指定更新目标时,SvnAnt仍然试图访问旧的IP。我甚至把它放在我的build.xml文件中,放在相应的任务下:
<echo message="${line.separator}Updating working copy from ${svnant.project.url}" />
果不其然,当我运行蚂蚁任务时,我看到了消息:
update:
[echo]
[echo] Updating working copy from http://my.new.ip.here/svn/project/trunk
...
但这个任务总是在一分钟左右后出错,并出现以下错误:
svn: PROPFIND request failed on '/svn/project/trunk'
svn: PROPFIND of '/svn/project/trunk': could not connect to server (http://OLD.FREAKING.IP.HERE)
请注意旧的.FRAKING.IP.HERE部分。
所以我的问题是:为什么Ant/SvnAnt仍然试图连接到我的旧IP?
我已经重新启动了Apache。对/etc/hosts没有任何兴趣。
感谢
编辑:CentOS 5.2版
一种可能性是,您现有的工作副本具有元信息(.svn
文件夹),该信息指的是旧的ip地址。由于您正在更新而未签出,因此使用此选项。