TFS合并:无法放弃变更集

TFS合并:无法放弃变更集,tfs,merge,Tfs,Merge,我们有一个变更集,开发者在其中签入了对源分支和目标分支的变更,许多变更包括在两个分支中的重命名。从源分支到目标分支的变更集合并进行得很顺利,但变更集仍保留在要合并的变更集列表中 当我现在再次尝试合并变更集时,它会说“没有要合并的变更”。并且变更集仍保留在队列中 我们尝试使用命令行工具放弃变更集,如下所示: C:\src\project\sourceBranch>tf merge/discard/recursive/version:C8137~C8137$/project/sourceBranch

我们有一个变更集,开发者在其中签入了对源分支和目标分支的变更,许多变更包括在两个分支中的重命名。从源分支到目标分支的变更集合并进行得很顺利,但变更集仍保留在要合并的变更集列表中

当我现在再次尝试合并变更集时,它会说“没有要合并的变更”。并且变更集仍保留在队列中

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

C:\src\project\sourceBranch>tf merge/discard/recursive/version:C8137~C8137$/project/sourceBranch$/ 项目/目标分行

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


在合并候选项中,还有什么其他的可能去除变更集呢?

好的,因此基本上您有一个变更集,其中的项目属于两个直接相关的分支。使用变更集的“部分变更集”子组件合并此类变更集

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

  • CS1234(您的变更集)
    • 分支A的部分CS1234A(如源分支)
    • 分支B的部分CS1234B(如目标)
您从a合并到B,将CS1234A合并到B

现在,当您尝试从a到B的新合并时,仍然有CS1234作为候选,对吗?然后,如果选择它,则不会执行任何操作,这是完全可以理解的,因为您已经合并了CS1234A和CS1234B,但它们不属于源分支(A)

看起来像是TFS的一个bug,我已经遇到了,我以为微软用TFS2010 RTM修复了它,显然不是

基本上,TFS将CS1234作为候选项,因为它只有一部分被合并,但另一部分无法合并,因此将其作为候选项是没有意义的

那么:

您启动从B到a的合并(以相反的方式),CS1234是否作为候选?我的假设是,如果您将CS1234从B合并到A,那么在显示从A到B的候选对象时,您就不会再为这个变更集而烦恼了。但我不知道您是否愿意这样做


无论如何,您应该在

上填充一个bug。您能告诉我您使用的TFS服务器的确切版本(与service pack一起使用)吗?我不是TFS管理员,只是项目管理员。如何找到版本?Web访问显示“版本10.0.40219.1(对象模型版本10.0.40219.1)”。在VisualStudio的团队资源管理器中,我找不到任何版本信息。我遇到了相同的问题。微软正在“看”它。你找到解决办法了吗?如果我没记错的话,这个问题突然自行消失了。我怀疑问题的原因是将“同一文件”签入到一个变更集中的两个分支。据我所知,您的分析是正确的。我试图以另一种方式合并,但运气不佳。Microsoft Connect上存在一个错误: