在externals属性中更改svn存储库URL

时间:2010-02-10 19:08:40

标签: svn tortoisesvn visualsvn svn-externals

我正在将我的存储库移动到新位置,但是我在外部属性中使用硬编码的(相同)存储库URL的文件夹。 e.g:
旧网址:https://OldLocation.Domain/svn/
新网址:https://NewLocation.Domain/svn/

如何将旧存储库URL更改为新存储库?只是编辑属性不起作用。

2 个答案:

答案 0 :(得分:11)

您应该使用相对外部(自SVN 1.5起可用):

使用“../”作为当前路径的相对或

使用“^ /”相对于您的存储库的根目录。

您还可能必须使用外部删除(或移走)文件夹的当前内容,以便更新可以将数据写入磁盘(请记住:SVN不会覆盖现有文件)

答案 1 :(得分:3)

如果我理解了您的情况,svn:externals属性指向与属性所在目录相同的存储库中的URL。也就是说,位置

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

svn:externals属性指向

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

如果您的Subversion客户端都使用1.5或更高版本,您可以用

替换所有这些外部
^/path/to/an/external/library

其中^表示“此目录所在项目的根目录”。

然后,当您将整个存储库移至NewLocation.Domain时,svn:externals属性将跟随并引用NewLocation.Domain,您的问题将被消除。

说了这么多,我认为编辑属性应该工作(无论如何你都需要这样做才能转换为^格式),但你可能需要做删除本地签出的外部副本,更新和承诺以满足svn众神的一些组合。