TFS合并:无法丢弃变更集

时间:2012-04-27 11:05:56

标签: tfs merge tfs2010

我们有一个变更集,其中开发人员检查了源分支和目标分支的更改,包括两个分支中的重命名等许多更改。变更集从源到目标分支的合并很顺利,但变更集仍保留在要合并的变更集列表中。

当我现在尝试再次合并变更集时,它会说“合并中有没有变化。”。变更集仍然在队列中。

我们尝试使用命令行工具丢弃变更集,如下所示:

  

C:\ src \ project \ sourceBranch> tf merge / discard / recursive / version:C8137~C8137 $ / Project / sourceBranch $ /   项目/ targetBranch

这没有帮助。我们也尝试过使用其他选项,比如/ force和/ baseless,但没有运气。

还有哪些其他可能性可以消除合并候选人之间的变更集?

1 个答案:

答案 0 :(得分:2)

好的,所以基本上你有一个变更集,其中的项目属于两个直接相关的分支。这使得变更集的“部分变更集”子组件合并了这样的变更集。

让我用更好的方式解释一下:

  • CS1234(您的变更集)
    • 分支A的部分CS1234A(比如源分支)
    • 分支B的部分CS1234B(比如目标)

您进行了从A到B的合并,将CS1234A合并到B。

现在当你尝试从A到B的新合并时,你仍然有CS1234作为候选人,对吧?然后,如果你选择它,什么都不做,这是完全可以理解的,因为你已经合并了CS1234A和CS1234B不属于源分支(A)。

看起来我已经遇到过从TFS到我的错误,我认为微软用TFS 2010 RTM修复了它,显然不是。

基本上TFS会将CS1234作为候选者,因为只有部分部分被合并,但由于其他部分部分无法合并,因此将其作为候选者是没有意义的。

怎么样:

您启动从B到A的合并(以相反的方式),CS1234是否作为候选者提供?我的假设是,如果你将CS1234从B合并到A,那么当你显示从A到B的候选人时,你不会再次使用这个变更集。但我不知道你是否愿意这样做。

无论如何,你应该填写Microsoft Connect site

的错误