我是 SVN 的新手,并且大量使用了 externals 属性。我的 PC 上有一个存储库,外部属性的名称中有一个硬编码的“localhost”,现在这给我带来了问题。例如:
/project1/trunk
/shared/trunk
project1/trunk
取决于共享文件夹,因此具有svn://localhost/shared/trunksvn:externals
的属性。这适用于 TortoiseSVN,我可以结帐并获得.project1/trunk
shared/trunk
现在我已将存储库移动到另一台服务器,并且由于明显的原因外部链接不再起作用(TortoiseSVN 正在尝试检查svn://localhost/shared/trunk
不再存在的)。
所以我需要更新我所有的外部文件——但我不想硬编码任何机器名称——那么我该如何做呢?请记住,存储库可能会在某个时候再次移动。挖掘 SVN 手册时,我遇到了^/语法,所以我尝试了以下方法:
svn:externals shared ^/shared/trunk
这已被接受,但是当我尝试在我的 PC 上签出副本时project1
,我收到以下错误:
Unrecognized format for the relative external URL 'shared'.
Check the path and/or URL you've entered.
除非我在外部硬编码存储库机器名称,否则我无法完成这项工作 - 这似乎是一种黑色艺术,因此欢迎任何建议。