Svn 是否可以将subversion外部添加为要添加到的内联文件夹?

Svn 是否可以将subversion外部添加为要添加到的内联文件夹?,svn,tortoisesvn,svn-externals,Svn,Tortoisesvn,Svn Externals,我有两个文件夹,如下所示: svn/BaseLibrary/trunk (which contains) svn/BaseLibrary/trunk/Core svn/BaseLibrary/trunk/Controls 我希望在另一个项目中包含BaseLibrary作为外部库,以便核心库和控件库与我的项目的其余部分内联。下面是我的另一个项目: svn/Project/trunk/Site 我想添加一个外部接口,以便它们可以像这样组合在一起: /svn/Project/trunk/Core

我有两个文件夹,如下所示:

svn/BaseLibrary/trunk (which contains)
svn/BaseLibrary/trunk/Core
svn/BaseLibrary/trunk/Controls
我希望在另一个项目中包含BaseLibrary作为外部库,以便核心库和控件库与我的项目的其余部分内联。下面是我的另一个项目:

svn/Project/trunk/Site
我想添加一个外部接口,以便它们可以像这样组合在一起:

/svn/Project/trunk/Core
/svn/Project/trunk/Controls
/svn/Project/trunk/Site
这可能吗?我已经尝试添加一个没有目录前缀的外部文件,所以它实际上只是指向目录的url,但它不会解析


有什么想法吗?

如果您将这两个文件夹分别作为外部文件添加到
svn/Project/trunk/

Core svn/BaseLibrary/trunk/Core
Controls svn/BaseLibrary/trunk/Controls

是的,可能。在/svn/Project/trunk上,将svn:externals属性设置为必须为externals:

核心../BaseLibrary/trunk/Core@HEAD

控件../BaseLibrary/trunk/Controls@HEAD

注:

  • 您必须使用peg修订版(不是HEAD)。如果不使用peg修订版,则基本上是在破坏历史记录(您对目录所做的任何标记/分支都将在当前标头处继续具有指向BaseLibrary主干的外部标记,而不是在创建历史标记时)
  • 外部开始看起来不错,但在尝试创建和管理分支时会增加许多约束和问题。在我看来,让项目依赖于特定的“已发布”版本的BaseLibrary要好得多,或者如果您真的想要紧密集成,请将核心和控件复制到您的项目中,并进行额外的合并。是的,额外的合并,但也完全控制,没有惊喜或限制。
这是一个可能的选择,但如果我以后将其他文件夹添加到原始结构中,我也必须手动管理它们。另外,该文件夹中可能存在的任何文件也不会被带入。我将把它作为最后的手段!好的建议,我实际上设置了标签的外部,以便在需要时可以接收错误修复。然后开发人员可以手动设置一个新标签,以升级到库的最新版本。在我的问题中,我可能错误地将trunk作为示例。