多个非连续变更集的无基础合并

时间:2012-06-28 14:17:57

标签: visual-studio-2010 tfs tfs2008 branching-and-merging baseless-merge

我向TFS发出以下命令:

>tf merge /baseless c:\ws\source c:\ws\target /recursive /version:C100~C100

但我有一大堆需要合并的变更集。是否有快捷方式或某种方式来指定列表,例如:

>tf merge /baseless c:\ws\source c:\ws\target /recursive /version:C100,C108,C110,C800,C1001,etc...

3 个答案:

答案 0 :(得分:3)

从另一篇文章中抓住这个,你可能已经看过了,但是由于我没有遇到过这个问题,我只是试图伸出援助之手。

您有几个选择:

  • 如果您知道要合并的更改集(或要避免合并的更改集),则可以从要合并的文件中选择结构中的文件夹,然后通过选择所需的特定更改集来执行合并。如果您有变更集2000,2001,2004,2010并且您想要2001和2010,这有点复杂。您只能在每个合并列表中合并连续的变更集,因此您必须合并2001年和2010年。这仍然比合并更好如果您有更多文件然后更改集组,则会有很多文件。
  • 如果要将该文件夹下的所有内容合并到特定变更集或最新变更集,则可以在一次批量合并中将其合并。

在这两个方面,您仍然需要解决在源分支和目标分支的同一文件中对同一行进行不同更改的问题。

OP:Merge multiple files in TFS

答案 1 :(得分:3)

如果powershell是一个选项,下面的脚本应该有帮助(未测试!):

$cslist = 1,23,45,456,568 #list of all changesets
foreach ($cs in $cslist) { & 'C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe' merge /baseless c:\ws\source c:\ws\target /recursive /version:C$cs }

答案 2 :(得分:2)

以下扩展声明要执行此操作:

TFS Productivity Tools - Extended Merge 2012

  

ExtendedMerge扩展为多个合并功能提供了解决方法   未由TFS实施:

     
      
  1. TFS合并会导致批量登记操作,从而放置所有文件   以前的变更集合成一个大的合并变更集。
  2.   
  3. TFS仅允许   合并操作对连续变更集进行了审视。
  4.   
  5. TFS   不允许通过选择为cherry-peek merge选择更改集   工作项目。
  6.   
  7. TFS合并对话框没有“强制”和“毫无根据”   选项。
  8.   

您可能还想在Visual Studio User Voice中提升此功能。