4

我向 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...
4

3 回答 3

3

从另一个帖子中抓取了这个,你可能已经看到了,但由于我没有遇到这个,我只是想伸出援助之手。

你有几个选择:

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

在这两种情况下,您仍然必须解决对源分支和目标分支中同一文件中的同一行进行不同更改的问题。

OP:在 TFS 中合并多个文件

于 2012-06-28T14:23:24.513 回答
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 }
于 2012-07-14T00:58:25.503 回答
2

以下扩展声称可以做到这一点:

TFS 生产力工具 - 扩展合并 2012

ExtendedMerge 扩展为 TFS 未实现的几个合并功能提供了解决方法:

  1. TFS 合并导致批量签入操作,将所有先前变更集中的文件放入一个大的合并变更集中。
  2. TFS 仅允许通过合并操作对连续的变更集进行偷窥。
  3. TFS 不允许通过选择工作项来为cherry-peek 合并选择变更集。
  4. TFS 合并对话框没有“强制”和“无根据”选项。

您可能还想在Visual Studio User Voice中支持此功能。

于 2014-03-29T10:37:54.920 回答