如何做内部svn:externals

时间:2009-06-01 09:47:07

标签: svn symlink svn-externals

我正在尝试使用svn:externals在我们的subversion存储库中建立一种符号链接,但它并没有真正起作用。我想要做的是将相同存储库的一部分中的文件夹链接到另一部分,如下所示:

src / somewhere_else / schema https://svn.acme.com/svn/project/trunk/src/schema

这适用于真正的外部资源(即不同仓库中的目录),但我不能让它在上面的同一个仓库中为资源工作。我用谷歌搜索了一段时间,看起来这应该得到支持,我错过了什么?

我们在Windows 2003服务器安装上使用VisualSVN下的Subversion 1.5.5。


编辑:

我忘了提到我没有收到任何错误,应该从其他文件夹中获取内容的文件夹只是保持空白。

4 个答案:

答案 0 :(得分:11)

Subversion 1.5添加了relative externals

答案 1 :(得分:3)

我不认为这是你真正的问题,但我直接在文件夹上定义属性。在您的情况下,我创建一个src\somewhere_else文件夹并添加属性:

schema https://svn.acme.com/svn/project/trunk/src/schema

如果您按照自己的意愿定义绝对外部网址,请记住一点:

src/somewhere_else/schema https://svn.acme.com/svn/project/trunk/src/schema

如果您创建TAG或BRANCH,它们将不会自动更改。这意味着TAG的一部分(外部URL)将始终指向模式的TRUNK。

如果架构没有太大变化,当你有一个2年的应用程序进行补丁并且架构已经被广泛更改时可能会成为一个问题,这当然很好。

答案 2 :(得分:3)

尝试执行“更新到特定版本”,并指定“完全递归”。如果您的工作副本停留在“仅限工作副本”,则不会获得外部内容。

答案 3 :(得分:1)

您提供的语法:

working-copy-relative-path    full-repo-url

应该工作得很好。但是,如果你走这条路线,你必须提供完整的URL,如果你在结账时使用它,即使链接在同一个存储库中。你这样做,对吗?

与1.5一起介绍的替代方案是相对的外部:

repo-url-or-relative-path working-copy-relative-path

有关详细信息,请参阅Roger Lipscombe的链接。

但是,你所描述的应该工作。如果它不起作用,那么你一定不能准确地描述你实际做的事情。一些细节仍然缺失。