2010-02-10 60 views
6

我正在將我的存儲庫移動到新位置,但我在外部屬性中硬編碼了(相同)存儲庫URL的文件夾。 e.g:
舊網址:https://OldLocation.Domain/svn/
新網址:https://NewLocation.Domain/svn/在外部屬性中更改svn存儲庫url

我怎樣才能改變舊的存儲庫URL到新的?只是編輯屬性不起作用。

+0

我不太明白你的意思是「編輯屬性不起作用」。你使用'svn propget svn:externals'和'svn propset svn:externals'命令嗎? – Vladimir 2010-02-10 19:31:36

回答

11

應使用相對的外部(可用自SVN 1.5):

要麼使用「../」作爲相對於當前路徑或

使用「^ /」相對於您的存儲庫的根目錄。

您也可以有權刪除(或移走),該文件夾的當前內容與外部,這樣的更新可以將數據寫入到磁盤(記住:SVN不會覆蓋現有文件)

+0

不錯,值得升級。 – 2010-02-10 23:25:37

+1

請注意,您只需*客戶端*即可運行svn 1.5或更高版本。我已經成功地與1.4服務器和1.5/1.6客戶端工作。 – 2010-02-11 14:44:05

3

如果我正確理解您的情況,svn:externals屬性指向屬性所在目錄的同一存儲庫中的URL。也就是說,位置

 
https://OldLocation.Domain/svn/project/path/to/a/directory 

svn:externals財產,如果你的Subversion的客戶都使用版本1.5或更高指向

 
https://OldLocation.Domain/svn/project/path/to/an/external/library 

,您可以取代所有這些的外部

 
^/path/to/an/external/library 

其中^表示「此目錄所在項目的根目錄」。

然後,當你移動整個倉庫NewLocation.Domain,在svn:externals性能將會跟進,是指NewLocation.Domain過了,您的問題將被淘汰。

說了這麼多,我想編輯屬性應該工作(和你需要做的是反正要轉換爲^格式),但你可能需要做的刪除本地查了一些組合外部的副本,更新並致力於滿足svn神。