TFS 2012检查分支是否已合并

时间:2013-08-06 12:35:25

标签: version-control tfs2012 branching-and-merging

我最近从Mecurial转到TFS 2012来处理源代码管理。到目前为止我真的很喜欢它,但我只是坚持它的一个方面,所以我希望有人在这里可以帮助我。

假设我有一个名为“Main”的分支,然后我从此分支,称之为“Feature 1”。我可以在“功能1”中进行修改,然后在这一点上,Mecurial会在路上画一个分叉。

如果我然后将我的“功能1”更改合并为“主要”,那么Mecurial会在视觉上再次将叉子连接起来。然后,我可以对“特征1”进行一些修改,这将导致另一个分裂,再一次,Mecurial会给我直观的表示。

我在TFS中尝试过相同的内容,虽然实际的分支和合并非常简单,但是很难解决的问题是“功能1”中的最新更改是否已合并到“主要”中,或者是否存在要合并的突出变化。

“Track Changeset”功能非常接近,让我知道“Feature 1”在某些时候已与“Main”合并,但如果自上次合并后“Feature 1”已被修改,则不会显示

基本上我简单问的是,“我怎么能判断一个分支自上次与父母合并后是否有任何变化?”

也许我只是陷入了Mecurial用来做事的方式,但我真的很感激上述问题的一些帮助或指导。

2 个答案:

答案 0 :(得分:3)

更新

TFS中没有可视指示器,但“TF.exe Merges”命令是您可以获得该特定功能的最接近的命令。 TF.exe合并+跟踪变更集+查看历史记录将帮助您实现此目的。

格式: tf merges [source] destination [/ recursive] [/ extended] [/ format:(brief | deltailed)] [/ login:username,[password]] [/ showall]]] [/ collection:TeamProjectCollectionUrl]

打开visual studio命令提示符并输入tf.exe merge /?了解更多详情。

示例:

tf.exe合并/递归C:\ projects \ Main C:\ projects \ Dev

Changeset   Merged in Changeset   Author     Date
> --------------------------------------------------------   
135         162                   user1     4/13/2013 

146         162                   User2     5/16/2013 

147        167                   User1     6/18/2013

运行此命令时,您将获得从MAIN分支合并到DEV分支的最后一个变更集。请注意合并的最后一个变更集编号(在这种情况下为147)。您可以返回主分支 - >查看历史记录并检查Main中147之后是否添加了任何新的变更集。在这种情况下,你将不得不做一个合并,否则。

有道理吗?

还有一件事,我建议强制执行合并的开发人员在合并期间使用特定格式的签入注释,例如

"******MERGE****** Source branch name, the last changeset etc". 

这也有帮助,但不要指望它,因为人们可能不会这样做或会犯错误。

MSDN LINK

答案 1 :(得分:0)

据我所知,没有任何简单的视觉指示器可以显示这一点(尽管如果有的话会很棒)。我相信“Track Changeset”或只是一个野蛮的比较是你唯一的选择。