Sha*_*ler 7 tfs tfs2010 branching-and-merging
我做了一个分支,第一次从源头到分支进行合并时,有一大堆旧的变更集出现了,它说没有合并但是它们在分支之前很好地存在,我确认它们在那里.
示例:当Source中有9个变更集时,假设我从Source分支到Target.变更10是在Source中完成的.我从Source到Target合并,TFS告诉我需要合并6和7和10(即使在我分支之前有6和7,我可以确认这些更改在目标中)
我是TFS的新手,这是在我第一次开始实现分支和合并时发生的.我制作的最新分支并没有这样做.
现在我们有一个Trunk,然后是1个分支,用于下一个版本的正在进行的QA,另一个分支用于生产修补程序.是QA分支有这个问题,但是当我做了修补程序分支时它很好.
我曾经遇到过这几次.我最终只是将"流氓"候选变更集从源头合并到目标.我检查了挂起的合并并确定没有更改.承诺合并摆脱了这些候选变更集.我想我可以回滚,如果它没有成功.
编辑:似乎如果您升级到TFS 2010,有一个错误将导致额外的合并候选人(请参阅http://support.microsoft.com/kb/2135068)
"分支上多次重命名或有多个其他项目占用其命名空间(通过添加/删除组合)的任何项目都将失去与其他分支上相应项目的关系."
至于决议,支持文章说:
"要解决额外合并候选项的问题,应使用/ discard选项.为此,请从命令行运行以下格式的合并:
tf merge <source branch> <target branch> /r /discard:CXXX~CYYY
在这个例子中,XXX和YYY表示改变丢弃的范围的变更的ID.签入此合并后,将不再显示不需要的候选人以供将来合并.另请注意,由于TFS 2010中合并算法的改进,源和目标分支中删除的项目将导致要合并的更改.在这些情况下,最好不要丢弃更改集,以便正确更新合并历史记录."