Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TFS 2010:分支-为什么变更集说它们没有';分支机构之前的分支机构没有合并吗?_Tfs_Branching And Merging - Fatal编程技术网

TFS 2010:分支-为什么变更集说它们没有';分支机构之前的分支机构没有合并吗?

TFS 2010:分支-为什么变更集说它们没有';分支机构之前的分支机构没有合并吗?,tfs,branching-and-merging,Tfs,Branching And Merging,我做了一个分支,当我第一次从源代码合并到分支时,出现了一大堆旧的变更集,它说这些变更集没有合并,但它们在分支之前就已经存在了,我确认它们已经存在了 例如: 假设我在源代码中有9个变更集时从源代码分支到目标代码。 在源代码中进行了更改10。 我转到从源到目标的合并,TFS告诉我需要合并更改6、7和10(即使在我分支之前6和7已经存在,我可以确认这些更改在目标中) 我是TFS新手,这是在我第一次开始实现分支和合并时发生的。 我做的最新分支没有这样做 现在,我们有一个主干,然后是一个分支,用于下一个版

我做了一个分支,当我第一次从源代码合并到分支时,出现了一大堆旧的变更集,它说这些变更集没有合并,但它们在分支之前就已经存在了,我确认它们已经存在了

例如: 假设我在源代码中有9个变更集时从源代码分支到目标代码。 在源代码中进行了更改10。 我转到从源到目标的合并,TFS告诉我需要合并更改6、7和10(即使在我分支之前6和7已经存在,我可以确认这些更改在目标中)

我是TFS新手,这是在我第一次开始实现分支和合并时发生的。 我做的最新分支没有这样做


现在,我们有一个主干,然后是一个分支,用于下一个版本的持续QA,还有一个分支用于生产修补程序。是QA部门出现了这个问题,但当我创建热修复程序部门时,情况很好。

我已经多次遇到这个问题。我最终将“流氓”候选变更集从源代码合并到目标代码。我检查了挂起的合并并确定没有任何更改。提交合并将删除这些候选更改集。我想如果不成功的话我可以退却

编辑:如果升级到TFS 2010,似乎存在一个会导致额外合并候选项的错误(请参阅)

“分支上已多次重命名或有多个其他项(通过添加/删除组合)占用其命名空间的任何项都将失去与其他分支上相应项的关系。”

关于一项决议,支持文章说:

要解决额外合并候选项的问题,应使用/discard选项。为此,请从命令行运行以下格式的合并:

tf合并/r/discard:CXXX~cyy


在此示例中,
XXX
YYY
表示要放弃的更改范围的更改集ID。签入此合并后,不需要的候选项将不再出现在将来的合并中。还请注意,由于TFS 2010中合并算法的改进,源和目标中的项目都将被删除分支将导致合并更改。在这种情况下,最好不要放弃更改集,以便正确更新合并历史记录。”

我也有过几次这样的经历。我怀疑原因是TFS管理未决合并的方式有些滑稽。如果您尝试合并这些更改,并且更改类型只是“合并”而不是“合并,编辑”,那么合并它们是安全的,并且确信没有发生任何更改。如果不合并它们,TFS将继续尝试无限期地合并非更改,最终可能会掩盖真正的更改。我建议尽快合并这些非更改