TFS合并特定更改集 - 更改集缺失

时间:2017-01-16 11:25:15

标签: visual-studio tfs merge

谷歌搜索和特定的stockoverflow搜索没有找到任何其他人解决这个问题。

在tfs中,我们的程序是我们在名为Dev的分支中进行更改,而不是稍后将特定的变更集合并到名为DevQA的分支。 (我们还有其他分支,此时不应该影响事情。)我们使用VS中可用的屏幕来执行此操作。

我上周有9个变更集(所有变更集都与相同或至少重叠的代码相关)现在是时候将其中的一些变更为DevQA。

更改显示在Dev上的历史记录中,但是当我选择合并,然后选择特定更改集(将源设置为Dev并将目标设置为DevQA)并单击下一步可用于合并的更改集列表不包括7我的9个更改集,包括我想合并的那些。

我已经完成了一些检查,它们似乎是唯一缺少的变更集,其他的已经合并,或者在列表中可用。

我点击其中一个变更集并使用了'track changeset'&可视化选项,它显示尚未合并更改集。

在创建这些更改集之后创建了一个新分支,该分支从DEV分支,我的更改集显示在其中。但是我不相信这是相关的,因为该ARE中的​​其他变更集可用于合并到DevQA。

这些可能没有出现的原因吗?有什么方法可以解决这个问题并迫使他们合并吗?

1 个答案:

答案 0 :(得分:4)

如果变更集按顺序排列,或者您不介意合并九个变更集范围内的其他变更集,则可以尝试使用tf命令作为变通方法

使用tf命令行工具,通过使用波形符分隔版本来指定版本范围。

tf merge /recursive /version:C1000~C1008 "$/SourceBranch" "$/TargetBranch"

在这种情况下,还将包括更改1000和1008。

要将多个单独的变更集合并到另一个分支中,您必须分多步执行:

tf merge /recursive /version:C1001~C1001 "$/SourceBranch" "$/TargetBranch"

然后,目标分支的工作空间将包含两个变更集的更改,现在您可以将合并签入为目标分支中的一个变更集。