2010-11-18 56 views
3

我想將一個Subversion版本庫移動到一臺新的服務器上,但將其鏡像保留在它所在的位置。我也做了以下內容:可以移動Subversion存儲庫,但其鏡像保持不變?

  1. 自卸老回購
  2. 負載突降到新的回購
  3. 安裝新回購的post-commit鉤子來svnsync的現有鏡

鉤:

#!/bin/sh 

svnsync --non-interactive sync https://mirror.example.com:443/svn/iaw \ 
--sync-username svnsyncuser --sync-password svnsyncpass \ 
--source-username svnsyncuser --source-password svnsyncpass & 

exit 0 

可以預見的是,當我嘗試從新的回購庫運行這個鉤子時,我得到以下結果:

svnsync的:選項的 'http://oldrepo.url/svn/iaw':無法解析主機名`oldrepo.url':找不到主機(HTTP://oldrepo.url)

問題是鏡像被初始化爲舊回購的URL。有誰知道這是否可以改變,還是我需要從頭開始重新開始一個新的鏡子?

非常感謝

回答

2

您可以使用Subversion編輯鏡像存儲庫的第0版的修訂版屬性。即:

svn propset --revprop -r0 svn:sync-from-url http://newrepo.url/svn/iaw \ 
    https://mirror.example.com:443/svn/iaw 

看到Repository Replication section of the SVN book題爲 「svnsync的簿記」 框。

0

你所有的鏡子SVN的同步信息存儲在/回購/ DB /目錄下的revprops。 在目錄中,你可以看到文件,如:0,1,2,

的grep -R 「HTTP://oldrepo.url」/回購/分貝/的revprops

和之後找到它,將其修改爲新的回購地址,現在就可以工作。

+0

你不應該直接編輯revprop文件。相反,使用SVN命令來做到這一點。 – user9876 2010-11-19 13:26:34

+0

同意,這只是一種解決方法,不是最好的。 – elprup 2010-11-19 14:09:08

相關問題