我可以将subversion外部添加为我将其添加到的内联文件夹吗?

时间:2010-02-10 22:13:05

标签: svn tortoisesvn svn-externals

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

svn/BaseLibrary/trunk (which contains)
svn/BaseLibrary/trunk/Core
svn/BaseLibrary/trunk/Controls

我想将BaseLibrary作为外部包含在另一个项目中,以便Core和Controls库与我项目的其余部分内联。以下是我的其他项目:

svn/Project/trunk/Site

我想添加一个外部,以便它们可以像这样组合在一起:

/svn/Project/trunk/Core
/svn/Project/trunk/Controls
/svn/Project/trunk/Site

这可能吗?我尝试添加一个没有目录前缀的外部,所以它实际上只是目录的url但它不会解析。

https://svn.repo.co.uk/svn/BaseLibrary/trunk

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

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

,该怎么办?
Core svn/BaseLibrary/trunk/Core
Controls svn/BaseLibrary/trunk/Controls

答案 1 :(得分:1)

是的可能。在/ svn / Project / trunk上设置svn:externals属性为外部:

  

Core ../ BaseLibrary / trunk / Core @ HEAD

     

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

注意:

  • 必须使用peg修订版(不是HEAD)。如果您不使用peg修订版,则基本上会破坏您的历史记录(您对目录所做的任何标记/分支将继续在当前HEAD处指向BaseLibrary主干,而不是在创建历史标记时)
  • 外部看起来很不错,但在尝试创建和管理分支时添加了许多约束和问题。 IMO最好让Project依赖于BaseLibrary的特定“已发布”版本,或者如果您真的想要紧密集成,请将Copy Core和Controls保留到您的Project中并进行额外的合并。是的,额外的合并,但也完全控制,没有惊喜或限制。