2012-04-25 138 views
5

來自SVN世界,這很容易: 1)合併併發生衝突。 SVN爲您提供工作副本中衝突的文件。 2)根據需要以任何方式解決它們(如果需要,使用任何外部工具)。 3)「svn resolved」將衝突標記爲已解決。 4)入住(或繼續工作等)。現在有了TFS和Visual Studio(2010),我們似乎有的唯一選項是: - - >在TFS合併工具中合併(僅限文本文件)。 - >對於非文本文件,採取源分支文件(覆蓋目標分支文件)或保留目標分支文件(忽略源分支文件)。如何在使用TFS時手動解決衝突並將其標記爲解決方案?

我需要能夠使用外部工具(例如Erwin)解決某些文件類型的衝突,然後將衝突標記爲已解決。

我已經嘗試解決衝突,將新文件放入目標分支文件系統工作區(即工作副本)並使用「tf resolve/auto:DeleteConflict」。這沒有幫助。當我最終檢查合併時,本地解析/合併文件完全被忽略。

當然TFS/VS可以做到這一點!

任何幫助將真正感謝!

謝謝。

+0

作爲tbergstedt的回答[本博客]的補充(http://blogs.msdn.com/b/jmanning/archive/2006/02/20/diff-merge-configuration-in-team-foundation-common- command-and-argument-values.aspx)全面介紹瞭如何從TFS調用第三方合併工具。如果你可以從命令行調用ERWIN,你將可以從TFS – 2012-04-25 20:34:53

+0

中調用它。謝謝你的領導,但是ERWE似乎不支持任何命令行參數。我需要使用的其他工具當然不會。請任何其他想法!? – 2012-04-25 21:33:36

回答

3

您可以在Visual Studio中設置比較和合並的特定規則。它位於Tools-> Options-> Source Control-> Visual Studio Team Foundation Server。選擇配置用戶工具...,從那裏您可以選擇任何外部工具用於您的操作。

您可以使用文件過濾器來定義任意數量的規則,並添加此作業「合併」任何自定義工具:
​​

+0

我嘗試設置的第一個工具(ERwin)不適用於此。我敢肯定,我也需要使用的其他工具也不適用於這種機制。 – 2012-04-25 17:30:08

+0

有沒有像SVN那樣手動解決衝突的方法,或者是通過合併衝突解決方案對話解決衝突的唯一方式(或稍後的「恢復衝突解決方案」)? – 2012-04-25 17:37:28

+0

它爲什麼不起作用?不支持命令行? – 2012-04-26 08:58:01

1

一旦你有你想在磁盤上的內容(使用合併工具手動後),而不是運行「tf resolve/auto:DeleteConflict」,運行「tf resolve/auto:AcceptMerge」。這告訴TFS接受磁盤上的內容作爲合併的分辨率。

+0

真的!?這在我看到的文檔中沒有記錄。你從哪裏找到那個?我會嘗試一下。 – 2012-04-26 20:32:03

+0

實際上,它在MSDN上的Visual Studio 2005頁面上列出,但不是2010年的頁面。我正在使用2010年。如果這項工作與否會讓你知道。 – 2012-04-27 06:25:19

+0

對,這個(「/ auto:AcceptMerge」)現在已經嘗試過了。它沒有工作!這是錯誤消息: 除非指定了編碼覆蓋,否則無法合併二進制文件。 然後有關源和目標都有更改的消息。即衝突(!!)。 任何想法的人? – 2012-05-11 10:23:59