1

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

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,但它不会解析。

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

有任何想法吗?

4

2 回答 2

1

如果您将这两个文件夹单独添加为外部文件夹svn/Project/trunk/怎么办?

Core svn/BaseLibrary/trunk/Core
Controls svn/BaseLibrary/trunk/Controls
于 2010-02-10T23:40:30.010 回答
1

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

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

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

笔记:

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