我正在将我的代码库迁移到新的位置,但是我有一些文件夹中的 externals 属性中硬编码了相同的代码库 URL。例如:
旧的URL: https://OldLocation.Domain/svn/
新的URL: https://NewLocation.Domain/svn/
我该如何将旧的代码库 URL 更改为新的?简单地编辑属性并不能解决问题。
我正在将我的代码库迁移到新的位置,但是我有一些文件夹中的 externals 属性中硬编码了相同的代码库 URL。例如:
旧的URL: https://OldLocation.Domain/svn/
新的URL: https://NewLocation.Domain/svn/
我该如何将旧的代码库 URL 更改为新的?简单地编辑属性并不能解决问题。
您应该使用相对路径(自从 SVN 1.5 版本之后可用):
要么使用"../"相对于当前路径,
要么使用"^/"相对于您的仓库根目录。
您还可能需要删除(或移走)外部文件夹的当前内容,以便更新可以将数据写入磁盘(请记住:SVN 不会覆盖现有的文件)。
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神灵的要求。
svn propget svn:externals
和svn propset svn:externals
命令吗? - Vladimir