为什么Subclipse忽略了svn:externals?

3
我使用Eclipse Juno和Subclipse(主要用于LaTeX作者和C开发)。在我的一些SVN项目中,我需要使用外部仓库,我想通过使用svn:externals属性来实现。
在向我的存储库添加此属性(使用subclipse)并提交后,在Eclipse中从svn更新我的本地工作副本时,我没有导入任何所需的外部源。如果我在该目录中使用命令行进行svn更新,也不会得到任何外部资源。
但是,当我将相同的存储库检出到另一个目录时,行为符合预期。在添加外部属性之后,只需提交然后检出即可使svn导入外部存储库。
为什么由subclipse检出的本地工作副本表现如此奇怪?

Subclipse似乎存在一些错误,因此在检出时会忽略某些子目录的内容,并且永远不会真正地检出(不使用外部文件)。即使之后使用其他svn客户端也无法改变这种行为。只有执行全新的干净检出才能改变它。 - Robert
不提供更多细节的情况下,我会说这有些不可能。Subclipse只是连接到SVN API的一个通道。Checkout API就像“将该URL检出到该文件夹”那样简单。拉取文件并创建工作副本的所有工作都由SVN库完成。 - Mark Phippard
1
我在我的系统上观察到了Robert描述的行为。最终有帮助的是运行svn update --depth infinity。我认为Mark的答案是正确的。Subclipse只是默认设置了另一个深度属性。 - Igor
1个回答

2
您可以尝试使用“更新”选项,它会弹出一个对话框,然后使用选项确保工作副本已设置为完全递归。这是默认行为,但可能您得到了一个“稀疏的工作副本”。
如上面的评论所述,所有的工作和逻辑都由SVN自身内部处理。这可能就是为什么当使用SVN命令行客户端时看到相同的行为的原因。我希望Subclipse和CLI是一致的,因为它们都使用相同的库来完成所有工作。
否则,我只能说魔鬼在细节中。可能需要查看更多有关您的工作副本的信息才能知道问题出在哪里。
如果您还没有使用Subclipse 1.8.x,则建议使用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接