SVN externals无法工作。

3
我并不自称了解svn,但我认为我理解外部文件如何工作。
我正在创建一个新项目,我希望我的lib文件夹有一个指向另一个项目(svn位置)的外部链接。我以前做过很多次这样的操作,从来没有出现过问题,难道我只是在度过星期五的时刻吗?
1. 我创建了以下文件夹: /myproj /myproj/lib 在已经检出的文件夹下。
2. 我将它们添加到svn并提交,然后更新父文件夹以确保一切正常。
3. 我右键单击 lib 文件夹 -> tortoise -> 属性,并将我的 svn 外部链接添加到我想要的路径上(该路径肯定存在):"MyExternalFolderName http://path.to/svn/location"
4. 我提交了 lib 文件夹。
5. 当我更新 lib 文件夹时,通常我会期望看到它更新外部链接,但什么也没有发生。它只是显示“已完成”。
我忘记了什么?
编辑:无数次重启、重新检出和重新安装都没有解决它。

我没有使用过svn externals,但我会尝试完全检出以查看是否添加了您期望的文件。 - Timo Geusch
5个回答

2
TortoiseSVN 1.6.1存在一个已知的bug,其中新添加的文件夹的深度被设置为“空”。这导致更新无法正常工作,除非您使用“TortoiseSVN - 更新到修订版本...”对话框明确地更新有问题的文件夹,从而可以将深度设置回“完全递归”。编辑TortoiseSVN 1.6.2刚刚发布。

1
如果你正在使用稀疏目录检出(自定义文件选择),请尝试以下命令:
svn update --depth=infinity svn_dir_name

如果您没有命令行工具,请尝试使用 TortoiseSVN -> 更新到修订版本... -> 更新深度 = 完全递归,使深度粘性 = 关闭。更多详细信息请参见这里

这让我非常沮丧,它在一个文件夹上运行得很好,但在另一个文件夹上却不行,我无法弄清原因... - mBardos

0

第三个:

属性格式为:

http://repo/svn/location    MyExternalFolderName

我总是建议使用^符号而不是http://repo/svn,因为这样更容易、更有效,并且打起来更方便。

SVN红皮书说它们就像原始海报一样: http://svnbook.red-bean.com/en/1.1/ch07s04.html - tvaananen
1
仔细阅读1.5版本手册后,他们提供了两种使用方法的示例。 ^ 语法显示<url><folder>,这是我使用的方式。请尝试使用^,因为它有效,并且在外部属性中使用显式url时可能会遇到问题。 - gbjbaanb

0

我认为你没有忘记任何东西。我认为这是Tortoise的一个bug,可能是缓存问题。

对你的代码库进行一次干净的检出,然后它就会正常工作。


0

感谢您的帮助,但看起来TortoiseSVN-1.6.1.16129-win32-svn-1.6.1有漏洞。太好了。他们的tigris网站也崩溃了。真是太棒了。浪费了2.5个小时。

通过在版本库浏览器中创建所需的文件夹结构和外部引用,解决了这个问题。


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