TFS 2010 Build基于标签获取工作空间的一部分

时间:2012-02-07 21:10:05

标签: tfs2010 build-automation

我在TFS 2010中有一个带有以下工作区的自动构建:

$/Program 1   $(SourceDir)\Program 1
$/Core        $(SourceDir)\Core
然后,我构建核心项目和程序1特定项目作为构建的一部分。但是,在为以前的版本进行错误修复时,我需要获取核心文件的特定标签,但是最新的程序1文件。如何仅通过标签更改Core目录的工作区,而不是获取最新的。

我知道我可以从Core文件夹的标签创建一个分支,但由于错误修复仅在Program 1文件中,我不想创建一个没有更改的新分支。

1 个答案:

答案 0 :(得分:1)

所以你有一个从不同的TeamProjects导入代码的解决方案。
这不是一个最佳的设置,一个更灵活的替代方案可能如下:

$/Program1
    /SharedSources
       /Core_branch
          Core.csproj
    /Sources
       /Program1
          Program1.csproj
       /Program2
          Program2.csproj
       Sources.sln

如果您已经设置了类似的SCM结构,则只需在构建定义中定义以下内容:
$/Program1 $(SourceDir)

因此,如果您在Program1的过去版本上遇到问题,则可以继续使用修补程序分支,而不是面对当前的挑战。一般TFS分支的优秀资源&可以找到源代码管理中的解决方案形成here

在您的具体问题“如何更改Core目录的工作区以通过标签获取而不是获取最新信息。”:在您自己的工作站/工作区中,您可以获得过去的版本和放大器;然后使用Cloak从以下GetLatest中排除Core。这可以让您进行分析,甚至可以创建包含Program1内修改任何错误的更改的搁置集。
但是,因为隐藏在构建期间不可用(请参阅here以获取有趣的帖子) ,我相信你最终被迫继续分支,以便修复你的修复。