TFS中的级联分支或:如何分支到分支?

时间:2012-04-16 09:30:37

标签: tfs branch branching-and-merging

为了使引用的程序集可用于TFSBUILD进程,我们为这些程序设置了一个单独的团队项目。我们使用需要它们的解决方案将程序集分支到每个团队项目中(以下称为 目标 )。据我所知,这是一种常用的做法

现在我们已经到了那个平原不起作用的地步。假设目标本身是分支的,TFS将不允许我们在这里创建Assemlies的分支。

虽然我可以以某种方式看到分支内的分支可能存在问题,但我真的很想知道为什么不支持这样的操作。我们不是唯一有这种要求的人,是吗?

我想到的第一件事是:将装配体分支到目标分支范围之外的某个位置。

Target
    |__Br1
    |__Br2
    |__Assemblies

尽管如此,如果分支需要不同版本的同一个程序集(如Br1:NHibernate 2.1Br2:NHibernate 3.2),就像产品更新经常那样,这也会导致一些丑陋的东西。最后,我必须将NH2.1NH3.2视为不同的产品才能完成此任务......

是否有人知道一种模式,使我们能够按照我们的努力进行分支,但是会有更多的成功和更少的痛苦?

1 个答案:

答案 0 :(得分:1)

总有两种方法可以解决这个问题:

  1. Branch内的文件夹(建议使用最好的方法,并在项目文件中使用-tags引用每个分支内部程序集的特定位置。这意味着每个分支都有自己的程序集副本
  2. Team-Project中的文件夹(正如您所做) - 您也可以使用,但不能在不同的分支机构处理不同的第三方工具版本。
  3. 所以我知道,解决方案对你来说不会轻松,但我认为可能性有限。我们在项目中使用第一个变体,但它也取决于您的分支策略。