2011-07-04 108 views
6

我試圖瞭解TFS 2008(和2010如果不同)存儲和傳輸變更集中一組變更的詳細信息。TFS 2008/TFS 2010如何以及在哪裏存儲變更集?

現在,當我提交Subversion託管項目時,客戶端將差異發送到服務器。所以如果我添加了一個文件並在另一個文件中改變了幾行,它會發送類似於「添加文件A.txt」,將兩行「A」「B」放入B.txt文件中。這意味着我可以退出修訂版,因爲差異很好地可逆 - 「刪除文件A.txt並從B.txt中取出兩行」。很確定它與git一樣。

我有一種感覺,TFS不以這種方式存儲變更集(基於謠言以及我不能輕易回滾修訂等事實)。

我相信的發生是這樣的: 如果我在變更集中更改了文件A,B和C,變更集中實際存儲的是文件A,B,C的全新副本。不僅僅是差異。

我在這個假設中正確嗎?作爲商業軟件,我完全可以相信這些信息是不可用的,但我想我會問,因爲谷歌搜索什麼都沒有產生!

作爲推論:TFS變更集在哪裏存儲?我知道SQL服務器用於某些存儲... changsets呢?

我們目前正在使用TFS 2008,但它也將有助於知道2010年的答案,因爲我認爲有計劃升級。

回答

11

TFS將所有變更集數據存儲在SQL Server數據庫中。它存儲最近一次更改集的代碼。然後它將差異存儲到以前的版本。將它全部存儲在SQL Server中的好處之一是它獲得了由事務提供的「全部或全部」保存功能。

至於它存儲在哪裏,你可以看看這個博客條目http://blogs.msdn.com/b/bharry/archive/2009/04/19/team-foundation-server-2010-key-concepts.aspx

+0

這很酷。這個問題不像我問的那樣可以谷歌搜索! – Jennifer

相關問題