2012-05-23 45 views
6

我們有一個項目中,我們一直在做的一個分支一些工作6.1版本。在6.1分支(變更集1800)中做出的一項修改是bug修正,有人認爲它足夠緊迫,因此需要對我們的6.0產品版本進行修補。從一個分支應用一個diff作爲一個補丁,另一個在Visual Studio TFS

現在,更改了有問題的文件都變更1800之前和之後作出。他們想要的只是該補丁適用於6.0。

按照http://linux.die.net/man/1/patch,似乎做的最好的事情將是創建由1800變更比較1799一個差異文件,然後應用該diff文件作爲修補至6.0。我甚至不知道從TFS開始做這件事。

作爲一個後備計劃,我總是可以只是去通過攜手變更1800的差異,並將它們複製到生產的最新版本,修補它,但我想如果可能這樣做正確。

除了: 我的理解是,通過施加只是一個差異,你的風險,一些參與1799> 1800 DIFF代碼依賴於只在當前的生產版本和變更1799之間建立代碼的事實,但是可以通過在diff補丁應用後快速構建和測試生產來輕鬆驗證。我們並不擔心這一點。

+0

我不得不查看比較和手,因爲他們急於複製 - 粘貼變爲生產的檢出副本,但我很想知道如何做到這一點使用內置的TFS的命令儘管未來。我知道有一個用於高級TFS的命令行實用程序,但我從來沒有用過它。 – Alain

回答

9

好吧,我不知道我完全理解,但在這裏它是:

變更集TFS中不存儲文件的絕對含量,但差異(線路添加,刪除,更改)。

如果您想要將錯誤修復從6.1版本報告到6.0,並且此修補程序包含在更改集1800中(並且不超過此修補程序),那麼只需將給定的更改集合合併到版本6.0即可。變更集1800之前所做的所有更改將不會在6.0中合併,只有您在此變更集中所做的更改纔會合併。

當你做一個合併,你有兩個選擇:

  1. 合併所有從源分支到目的地一個
  2. 的修改合併從源選擇的變更目的地之一。

使用第二個,並指定變更1800,你會沒事的。

一些照片:

enter image description here

enter image description here

ONLY選擇的變更將被合併。

+0

當我去合併>選擇的變更>,然後選擇「1800」,然後嘗試合併一切*直至幷包括* 1800。你是否證實了還有另一種方法可以合併1799和1800之間使用此功能所做的更改? – Alain

+0

如果我正確地理解了這個問題,6.0分支上沒有任何不屬於6.1的東西?如果是這樣,則從6.0到6.1的完整合並_prior_實際的變更集合可能會有所幫助。 __And__僅從TFS 2010開始,變更集僅包含差異。在此之前,如你所說,做這樣的合併可能非常棘手。 –

+0

我更新了我的答案,我不知道你在哪裏找到答案。它沒有使用我提供的屏幕截圖方法,它只是所選的一個,我保證。 – Nock

相關問題