2012-09-26 24 views
5

在另一個實例上應用來自一個TFS實例的特定變更集的更改的最簡單方法是什麼?從一個TFS實例應用到另一個TFS實例的特定變更集

我想要的是得到某種從實例補丁文件的,我可以適用於例如B.由於有兩種不同的情況下,傳統的分支/合併方法不能使用。據我所知,TFS在傳統的Unix意義上對補丁文件的支持很差。

我真的需要去檢查實例的一個變更和手動壓縮相關的文件,我可以再提取到實例B的源代碼樹?

+0

如果你解釋爲什麼你有兩個不同的TFS實例可能會有所幫助。 –

+0

客戶C已決定從供應商A切換到供應商B以維護他們的企業軟件解決方案。在幾個月的時間內,A仍將負責修復錯誤,而B將負責更改請求。正如問題所述,A和B不共享TFS服務器,並且修復了在源代碼樹中A make所需的錯誤,以便找到B的服務器。 –

回答

3

原來,由於缺乏TFS支持,「修補程序」路線是死路一條。我們最終的解決方案是執行基本上如下的夜間工作:

  1. 從只讀用戶獲得遠程回購的所有代碼。
  2. 用另一個分支的內容覆蓋我們的回購單獨分支的所有內容。
  3. 無論何時我們希望將其更改帶入主分支,執行從該單獨分支到主分支的合併。
1

This answer說明如何使用tf diff命令創建一個補丁文件。但是,沒有將該修補程序文件應用於其他實例或分支的內置方法。我還沒有看到任何第三方工具。

+0

我已經看過了'tf diff'命令,但是我發現要區分特定變更集N的唯一方法是使用versionspec CN-1〜CN在源根目錄上運行它,這需要永遠也不會處理添加或刪除的文件,只修改文件。 –

1

我寫了一篇關於類似問題的博文,其中我使用TF.exe命令和7Zip到create a TFS patch file,然後可以將其應用到另一個TFS服務器或工作區。我發佈了Powershell腳本Github,可用於壓縮一個工作區中的任何掛起的更改,然後將它們應用於不同的服務器。必須修改它才能使用變更集而不是掛起的更改,但這不應太難完成。

相關問題