提问人:John Saunders 提问时间:9/24/2011 最后编辑:CommunityJohn Saunders 更新时间:2/1/2013 访问量:7476
使用分支时,如何确定特定 TFS 生成中修复的工作项?
How to Determine the Work Items Fixed in a particular TFS Build when using Branches?
问:
我们已开始在 TFS 2010 中使用以下分支结构:
到目前为止,所有更改均已在“开发”分支中执行,并且所有签入都已与任务工作项相关联。任务都是 Bug 或产品积压工作项工作项的子项。每个 CI 构建都是针对特定变更集触发的,并且该变更集与一个 Task 相关联,因此我们可以手动确定刚刚构建了哪个 Bug 或 PBI。
在代码构建、部署到我们的集成环境并由开发人员测试后的一段时间内,它将合并到 Main 分支。显然,多个变更集可以同时合并到 Main。如果我们在此之前不手动触发 nightly 构建,则 nightly 构建将构建此代码。QA 稍后会将其中一个“主要”版本部署到 QA 环境。
自上次部署 QA 以来,可能已经有多个 Main 分支版本。这些生成与“合并”变更集相关联,而不是与与任务关联的原始变更集相关联。
如何确定给定的“主”生成已解决的任务集,该生成是与与任务工作项关联的分支不同的分支的生成?
一旦我们开始准备发布,我们很可能需要在 Release 分支中进行更改,这将使事情变得更加复杂,因为我们将从 Release 合并回 Main,并且 Release 变更集将与 Tasks 相关联。然后,这些将被合并到开发中,使生活更加有趣!
P.S. 问题“如何确定与 TFS 2010 中的源分支关联的工作项?”接近于提出相同的问题,但并不完全是。
答:
请查看 Jacob Ehn 的博客文章在 TFS 2010 中自动合并工作项。他编写了一个插件,可以从codeplex下载。它将自动关联与合并的变更集关联的工作项。因此,当您合并到 Main 或 Release 时,工作项将与这些分支中的变更集相关联,并且这些工作项将包含在基于这些分支的生成的生成报告中。该插件非常易于部署。
评论
另一个选项是,您可以构建一个自定义工作流活动,该活动可以在生成期间运行,该活动可以遍历通常关联的每个变更集的合并历史记录。它本质上是从一组已知的关联变更集开始遍历树。我更喜欢这种方法,因为您可以让您的开发人员担心只需要将工作项与原始变更集相关联,而不必也使用合并变更集来执行此操作。这还允许你避免部署自定义工作项策略,如 Bryan 在其建议中所述。
如果您想在以下位置与我联系,我可能会提供一些示例代码来帮助您开始遍历合并历史记录树 http://www.edsquared.com
评论