Subversion外部问题

时间:2008-10-27 14:23:45

标签: svn externals

我是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.

除非我在外部硬编码存储库机器名称,否则我无法使其工作 - 这似乎是一种黑色艺术,所以任何建议都会受到欢迎。

1 个答案:

答案 0 :(得分:9)

您引用的^ /语法是SVN 1.5中的新增功能,因此您可能正在使用不了解该语法的旧版客户端和/或服务器。另外,为了支持1.5中的新外部语法,它们改变了外部定义中参数的顺序。我想你首先想要路径,然后是它的文件夹名称。详细信息位于docs