我正在将我的存储库移动到新位置,但是我在外部属性中使用硬编码的(相同)存储库URL的文件夹。 e.g:
旧网址:https://OldLocation.Domain/svn/
新网址:https://NewLocation.Domain/svn/
如何将旧存储库URL更改为新存储库?只是编辑属性不起作用。
答案 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众神的一些组合。