我们有一个变更集,其中开发人员检查了源分支和目标分支的更改,包括两个分支中的重命名等许多更改。变更集从源到目标分支的合并很顺利,但变更集仍保留在要合并的变更集列表中。
当我现在尝试再次合并变更集时,它会说“合并中有没有变化。”。变更集仍然在队列中。
我们尝试使用命令行工具丢弃变更集,如下所示:
C:\ src \ project \ sourceBranch> tf merge / discard / recursive / version:C8137~C8137 $ / Project / sourceBranch $ / 项目/ targetBranch
这没有帮助。我们也尝试过使用其他选项,比如/ force和/ baseless,但没有运气。
还有哪些其他可能性可以消除合并候选人之间的变更集?
答案 0 :(得分:2)
好的,所以基本上你有一个变更集,其中的项目属于两个直接相关的分支。这使得变更集的“部分变更集”子组件合并了这样的变更集。
让我用更好的方式解释一下:
您进行了从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
的错误