2010-02-10 130 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神。