2011-04-20 66 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