使用TFS为每个分支创建存储库

时间:2012-10-12 17:36:03

标签: tfs merge tfs2010 nuget

我有一个TFS环境,其中包含以下分支设置

  • Dev - 开发人员的主要工作分支
  • Main - 稳定,可释放的分支
  • 修补程序 - 用于修复不属于正常发布周期的生产代码

我们正准备使用Nuget,我想配置一些东西,使得Dev分支中的代码从'Dev'nuget存储库中提取包,主要来自'Main'存储库等等。

现在,我已经把事情弄清楚了,我的分支根目录中有一个文件告诉nuget.exe要使用哪个存储库。

我现在正试图弄清楚如何在每个分支中使这些文件的内容不同。我可以单独检查它们到每个分支,但这会引入从Dev-> Main和Main-> HotFix合并的问题。

所以,我认为我想做的是以某种方式将这个特定的配置文件排除在Dev-> Main等的合并之外。任何方法都可以吗?

或者,或者,还有其他一些方法来完成我想用Nuget做的事情,在指向不同分支的不同nuget存储库方面?

1 个答案:

答案 0 :(得分:5)

你必须做一些诡计......

  • 每个分支都有不同的Feed。设置多个Feed的简便方法是www.myget.org
  • 在要注册此行为的解决方案中启用NuGet包还原
  • 在解决方案的.nuget \ nuget.config文件中,添加以下内容:
<configuration>
  <packageSources>
    <add key="Branch X packages" value="http://www.myget.org/F/corpxyzbranchxyz" />
  </packageSources>
  <disabledPackageSources />
  <activePackageSource>
    <add key="Branch X packages" value="http://www.myget.org/F/corpxyzbranchxyz" />
  </activePackageSource>
</configuration>

这个 意味着每个分支都必须有一个不同的nuget.config文件,并且在合并/分支时应该小心。