2011-04-20 61 views
1

我们的SVN服务器最近移动了服务器(从serverA到serverB)。我在Eclipse中为存储库“重新定位”并将其移至serverB。 SVN已从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. 

所以,在某种程度上有旧服务器的引用存储在某个地方,我怎么能找到&变化呢?

回答

1

我想这是在你的WC(工作拷贝)的entries文件的某处。为了找到引用serverA.mysite.com,利用的grep的帮助(在你的WC的根目录):

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

如果您使用的是Windows,您可能会安装cygwinwingrep做的工作适合你。

+0

WC? - im在windows系统上:( – 2011-04-20 08:18:06

+0

就是这样,每个目录下有一个包含“entries”文件的.svn文件夹,它是一个子目录,它指向不同的分支和服务器 – 2011-04-20 08:42:46

+1

我明白了。在提出问题之前确实使用了搜索对话框,但它没有找到旧服务器的任何参考.Windows是没用的。 – 2011-04-20 08:44:21

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文档的外部组件,添加示例代码打补丁,增加exaplanations

+0

这是怎么完成的? – 2011-04-20 08:03:07

+0

补充说明,示例代码(适用于linux) – Bruce 2011-04-20 08:36:58