2012-03-07 61 views
7

我做了一個分支,第一次我從源代碼合併到分支時,出現了一大堆舊的變更集,它說沒有合併,但它們在分支之前就已經存在了,我確認它們是那裏。TFS 2010:分支 - 爲什麼變更集說他們從分支機構之前沒有合併過?

示例: 說我在源中有9個變更集時從源分支到目標。 變更10在Source中進行。 我從源合併到目標和TFS告訴我變化6和7和10需要合併(即使6和7在那裏我分支之前,我可以確認這些變化是在目標)

我我是TFS的新手,當我第一次開始實施分支和合並時發生了這種情況。 我做的最新的分支沒有做到這一點。

現在我們有一箇中繼,然後是1個分支,用於下一個版本的進行中的QA,以及另一個分支用於生成修補程序。 QA分支有這個問題,但是當我做了修補程序分支時,它很好。

回答

7

我碰到過這幾次。我最終剛剛從源頭到目標合併了「流氓」候選變更集。我審查了正在進行中的合併,並確定沒有任何更改。承諾合併擺脫了這些候選變更集。我認爲如果不能解決問題,我可以回滾。

編輯:看樣子,如果您升級到TFS 2010,則存在會造成額外的合併候選(見http://support.microsoft.com/kb/2135068

「已更名爲多次或有任何的一個分支項目中的錯誤有多個其他物品佔據其名稱空間(通過添加/刪除組合)將失去與其他分支上相應物品的關係。「

至於分辨率,支持文章說:

「要解決額外的合併候選的問題,應使用/丟棄選項要做到這一點,從命令運行以下格式的合併。行:

tf merge <source branch> <target branch> /r /discard:CXXX~CYYY

在這個例子中,XXXYYY代表變更丟棄此合併已被簽入之後,不需要的考生將不再顯示爲將來合併範圍的變更標識也。請注意,因爲展示在TFS 2010中的合併算法中,在源分支和目標分支中刪除的項目都會導致合併的更改。在這些情況下,最好不要放棄更改集,以便正確更新合併歷史記錄。 「

+0

編輯根據支持文章。 – PabloC 2012-03-14 12:17:43

0

我也有過這樣的幾次我懷疑原因是TFS管理待定合併的方式有些有趣如果您嘗試合併這些更改並且更改類型只是」合併「而不是」合併,編輯「,那麼合併它們並確信沒有發生變化是安全的,如果你不合並它們,TFS將不斷嘗試合併非變化,最終可能使真實變化變得模糊不清,我建議合併這些非變化儘快。