簡體   English   中英

多個非連續變更集的無基礎合並

[英]Baseless merge for multiple non-consecutive changesets

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

從另一篇文章中抓住這個,你可能已經看過了,但是由於我沒有碰到這個,我只是想伸出援手。

你有幾個選擇:

  • 如果您知道要合並的更改集(或要避免合並的更改集),則可以從要合並的文件中選擇結構中的文件夾,然后通過選擇所需的特定更改集來執行合並。 如果您有變更集2000,2001,2004,2010並且您想要2001和2010,這有點復雜。您只能在每個合並列表中合並連續的變更集,因此您必須合並2001年和2010年。這仍然比合並更好如果你有更多的文件然后更改組的許多文件。
  • 如果要將該文件夾下的所有內容合並到特定變更集或最新變更集,則可以在一次批量合並中將其合並。

在這兩個方面,您仍然需要解決在源和目標分支中的同一文件中對同一行進行不同更改的問題。

OP: 在TFS中合並多個文件

如果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 }

以下擴展聲明要執行此操作:

TFS生產力工具 - Extended Merge 2012

ExtendedMerge擴展為TFS未實現的幾個合並功能提供了解決方法:

  1. TFS合並導致批量簽入操作,該操作將來自所有先前更改集的文件放入一個大合並變更集中。
  2. TFS僅允許通過合並操作進行連續變更集。
  3. TFS不允許通過選擇工作項來選擇用於櫻桃合並的變更集。
  4. TFS合並對話框沒有“強制”和“無基礎”選項。

您可能還想在Visual Studio用戶語音中提升此功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM