我是SVN的新手并且大量使用外部属性.我的PC上有一个存储库,外部属性在名称中有一个硬编码的"localhost",现在给我带来了问题.例如:
/project1/trunk /shared/trunk
project1/trunk
取决于共享文件夹,因此具有svn:// localhost/shared/trunk的svn:externals
属性.这与TortoiseSVN一起工作正常,我可以结帐并给我一份副本.project1/trunk
shared/trunk
现在我已经将存储库移动到另一个服务器,并且由于显而易见的原因,外部链接不再起作用(TortoiseSVN正在尝试检出svn://localhost/shared/trunk
哪些不再存在).
所以我需要更新我的所有外部 - 但我不想硬编码任何机器名称 - 所以我该如何使这项工作?请记住,存储库可能会在某个时刻再次移动.围绕SVN手册,我遇到了^ /语法,所以我尝试了以下内容:
svn:externals shared ^/shared/trunk
这被接受但是当我尝试project1
在我的电脑上签出一份副本时,我收到以下错误:
Unrecognized format for the relative external URL 'shared'. Check the path and/or URL you've entered.
除非我在外部硬编码存储库机器名称,否则我无法使其工作 - 这似乎是一种黑色艺术,所以任何建议都会受到欢迎.
您引用的^ /语法是SVN 1.5中的新增功能,因此您可能正在使用不理解该语法的旧版客户端和/或服务器.另外,为了支持1.5中的新外部语法,它们改变了外部定义中参数的顺序.我想你首先想要路径,然后是它的文件夹名称.详细信息在文档中.