颠覆性仍然引用旧的SVN存储库服务器

时间:2011-04-20 07:46:50

标签: eclipse svn subversive

我们的SVN服务器最近移动了服务器(从serverA到serverB)。我在Eclipse中为存储库执行了“重定位”并将其移动到serverB。已从ServerA卸载SVN。同步时一切都很好,但是在“更新”时,我在控制台中得到以下内容:

No connection could be made because the target machine actively refused it.  
svn: Can't connect to host 'serverA.mysite.com': No connection could be made because the target machine actively refused it.  

所以,某种程度上存在对存储在某处的旧服务器的引用,我怎样才能找到&改变它?

2 个答案:

答案 0 :(得分:1)

可能的解决方案之一是您的项目树使用"externals"功能和明确的网址。

在这种情况下,你必须浏览你的属性并修补它们(类似的东西)

svn propget svn:externals folder > ext.txt
cat ext.txt | sed -e 's/ServerA/ServerB/' > ext_patch.txt
svn propset svn:externals -F ext_patch.txt folder

应该在您的管理员迁移软件仓库时完成,但是在迁移驱逐时,在原始转储上使用类似的正则表达式。之前的命题适用于修补实时开发代码行,但不会修补现有的标记,这些标记会被破坏。

请注意,如果您不了解svn:externals(处理外部依赖项的便捷方式),我的回复与您无关。

编辑:添加了指向svn doc的外部链接,添加了用于修补的示例代码,添加了exaplanations

答案 1 :(得分:1)

我猜它在WC的entries文件中的某个位置(工作副本)。要查找对serverA.mysite.com的引用,请使用grep的帮助(在WC的根目录中):

grep -rni --include "entries" "serverA.mysite.com" .

如果您使用的是Windows,则可以安装cygwinwingrep为您完成工作。