2010-02-22 135 views
1

在我們的案例中,我們希望在代碼註釋標題中爲生成的代碼igonore更改。在Visual Studio中,我們可以更改合併工具(彈出的GUI)並使用可以自定義的第三方工具來忽略更改(http://msdn.microsoft.com/en-us/library/ms181446.aspx)。太好了,所以文件比較不再會將代碼註釋作爲差異強調。在TFS中我們可以自定義合併算法(衝突解決方案)

然而,當簽入時,TFS合併算法仍然促使我們解決衝突。

有什麼辦法可以更好地告知合併衝突解決算法哪些變更對我們來說真的很重要?或者我們可以替換算法還是將其工作分包給第三方?

+0

僅供參考:我們現在有「TFS 11中的合併增強功能」,請參閱http://blogs.msdn.com/b/bharry/archive/2011/08/31/merge-enhancements-in-tfs-11.aspx – 2011-09-01 18:08:52

回答

3

不,但這實際上是您的方案的一個很好的答案。當TFS阻止簽入時,並不是因爲它運行了任何種類的差異:這是因爲您的本地版本#與最新版本#不匹配。換句話說,自從您上次運行您的自定義合併工具以來,運行了Get +已解決的文件衝突,因此其他人在此期間進行了檢查。識別這些情況是一項重要的服務器端功能,不能也不應該禁用,因爲任何合併工具(包括內置於TFS客戶端API中的工具)都無法可靠地檢測到這些情況。

回到爲什麼這是件好事:一旦衝突對話框再次出現,您就可以自由地解決定製工具中的其他衝突問題。在任何時候都不會調用內置的文本合併引擎。*該過程仍然完全在您的掌控之中。即使文件在語義上與您的工具相同,您仍然需要選擇「獲勝者」(或從可用輸入中生成一個新文件)。但是,這與其他解決方案沒有什麼不同,例如您已經明顯處理的情況。

*好的,我撒謊。它用於生成在對話框中看到的「X added,Y deleted ...」摘要。要點是,而不是涉及識別版本衝突,也不會修改任何文件,除非您要求它(「爲我合併更改」)。