我对 Subversion 还很陌生,最近学习了如何使用svn:externals
. 现在,当我提交主干文件夹并创建一个标签来拍摄项目的快照时,定义为外部的文件/文件夹将不会添加到标签文件夹中。
例如,我有这个文件夹结构
Z:\repos\repoA
Z:\repos\repoB
Z:\项目\workB
我已设置svn:externals
为Z:\Projects\workB
使file:///Z:/repos/repoA/trunk/lib trunk/lib
.librepoA
文件夹自动添加到当前工作目录中Z:\Projects\workB\trunk
。实际上,当我执行时SVN Update
,会在主干文件夹下创建 lib 文件夹。
在编辑了一些文件并执行SVN Commit...
之后Z:\Projects\workB\trunk
,我TortoiseSVN -> Branch/Tag
从上下文菜单中进行了选择。在该To Path
字段中,键入tags/1.0.1
并按 OK。1.0.1 标签已成功创建。
在我执行后SVN Update
,Z:\Projects\workB\tags
出现了一个名为 1.0.1 的文件夹,但没有外部文件。
这是正常的吗?我预计导入的文件也会在那里,因为它们位于工作目录的主干文件夹中。
我在 Assembla 创建了两个公共存储库,供任何人测试。
- https://www.assembla.com/code/subversion-trouble-shooting/subversion/nodes
- https://www.assembla.com/code/subversion-troubleshoot-b/subversion/nodes
lib
第二个存储库具有外部定义,它从第一个存储库中拉下文件夹。当我从第二个存储库创建当前主干文件的标签时,它不会将外部文件添加到标签文件夹中。此外,当我签出标签文件夹时,它不会将外部文件添加到本地工作副本中。