我向 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...
我向 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...
从另一个帖子中抓取了这个,你可能已经看到了,但由于我没有遇到这个,我只是想伸出援助之手。
你有几个选择:
在这两种情况下,您仍然必须解决对源分支和目标分支中同一文件中的同一行进行不同更改的问题。
如果 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 }
以下扩展声称可以做到这一点:
ExtendedMerge 扩展为 TFS 未实现的几个合并功能提供了解决方法:
- TFS 合并导致批量签入操作,将所有先前变更集中的文件放入一个大的合并变更集中。
- TFS 仅允许通过合并操作对连续的变更集进行偷窥。
- TFS 不允许通过选择工作项来为cherry-peek 合并选择变更集。
- TFS 合并对话框没有“强制”和“无根据”选项。
您可能还想在Visual Studio User Voice中支持此功能。