5

我有一个具有以下分支设置的 TFS 环境

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

我们正在设置自己使用 Nuget,我想配置一些东西,以便 Dev 分支中的代码从“Dev”nuget 存储库中提取包,从“Main”存储库中提取包,等等。

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

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

所以,我想我想做的是以某种方式将这个特定的配置文件排除在 Dev-> Main 等合并的一部分之外。有什么办法吗?

或者,是否有其他方法可以完成我想用 Nuget 做的事情,将它指向不同分支的不同 nuget 存储库?

4

1 回答 1

5

你将不得不做一些诡计...

  • 每个分支有不同的提要。设置多个提要的简单方法是 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 文件,并且在合并/分支时应该小心。

于 2012-11-20T07:26:15.230 回答