TFS 2012重新应用变更集中的更改以进行持续集成

时间:2016-12-19 11:06:59

标签: tfs tfs2012

我在TFS 2012中有一个项目,并使用TFS进行源代码管理。我有一个代码分支。

我希望找到以下方案的简单解决方案。

这是一个包含六个变更集的示例分支。

History of changesets from my example branch

故事到目前为止(假装用户不是我所有人!)

  1. 5219开始构建和测试运行。
  2. 有很多变化(5220,5221和5222)。
  3. 试运行结束于5219,我们是绿色的 - 都很开心。
  4. 我们的CI然后运行5222的测试运行。它变红了。因此,我知道我的问题出现在5220,5221和5222中的一个(或任何一个)中。
  5. 关于手续,回滚到最后已知的绿色(5219)
  6. 经过一番调查后,负责5220,5221和5222的每个人都得到了他们的产品积压物品 - 一切都很好,我们发现了一些关于我们变化的新事物(即它已经破坏了我们没想到的东西)
  7. 因为我们是绿色的,所以另一件工作发生(5235)。
  8. 到目前为止一切都很好,但是对于5221回来的人来说会发生什么。

    我希望他们做的是使用最新版本及最新版本更新,并重新应用5221更改集中的更改(就像在颠覆中一样)。

    我可以使用powertools tfpt getcs命令找出如何“获取”更改集5221。这给了我一个不同的工作区和服务器版本文件,但不尝试任何类型的合并。 我可以弄清楚如何为分支“获得此版本”,这将使整个分支回到那个时间点。 我无法弄清楚如何将作为5221的一部分发生的更改合并到最新版本中(但仍然是我本地的)。

    任何想法(除了升级我的TFS和远离TFS源代码控制 - 这将会发生,但不是在短期内)?我也希望避开多个分支。我真正的项目是庞大的,整体的,而且在TFS中不太友好。

2 个答案:

答案 0 :(得分:2)

使用门控办理登机手续而不是回滚更改。门控签到将自动拒绝任何导致构建中断的更改。

答案 1 :(得分:1)

我担心您需要手动将5221中的更改​​更新到最新版本。没有自动方式。

将最新版本放入您的工作区,将变更集5221与最新版本进行比较,然后将差异从5221复制并粘贴到最新版本,并签入TFS。

enter image description here