Team Foundation 和 Visual SourceSafe 之間的區(qū)別
您可以利用 Visual SourceSafe 和 Team Foundation 源代碼管理 完成下列同樣的基本任務(wù):同時(shí)開發(fā)產(chǎn)品的多個(gè)版本,在不影響其他版本的情況下對(duì)產(chǎn)品的一個(gè)已發(fā)布版本進(jìn)行更改,快速檢索一批相關(guān)文件,確定做出更改的用戶和時(shí)間,比較文件的版本以及將更改從一個(gè)版本移至其他版本。
Team Foundation 源代碼管理 客戶端界面旨在使 Visual SourceSafe 用戶所熟悉。這兩種產(chǎn)品都提供了命令行客戶端和 Visual Studio 2005 集成。Team Foundation 源代碼管理 沒有單獨(dú)的用戶界面,這一點(diǎn)與 Visual SourceSafe 相同。
盡管它們具有許多相似之處,但 Team Foundation 和 Visual SourceSafe 基本上是不同的。本主題分兩個(gè)主要部分來詳細(xì)描述這些不同之處:
結(jié)構(gòu)區(qū)別 部分描述了 Team Foundation 和 Visual SourceSafe 之間在技術(shù)和操作上的區(qū)別。
功能區(qū)別 部分列出了只存在于一種產(chǎn)品中的功能,描述了細(xì)微的功能更改,按產(chǎn)品標(biāo)識(shí)了不同的默認(rèn)設(shè)置,并解釋了這些更改對(duì)您的團(tuán)隊(duì)使用 Team Foundation 更有效地進(jìn)行開發(fā)有哪些幫助。
結(jié)構(gòu)區(qū)別
Visual SourceSafe 是僅包含客戶端的源代碼管理系統(tǒng)。它的客戶端(如 SourceSafe Explorer 和用于 Visual Studio 的插件)讀寫 Visual SourceSafe 數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)是通常存儲(chǔ)在共享網(wǎng)絡(luò)文件夾中的文件集合。
Team Foundation 是客戶端-服務(wù)器源代碼管理系統(tǒng),它使用 .NET Web 服務(wù)訪問存儲(chǔ)在 SQL Server 數(shù)據(jù)庫(kù)中的項(xiàng)。Team Foundation 源代碼管理的體系結(jié)構(gòu)提高了性能和可靠性。
安全和項(xiàng)目權(quán)限
在 Visual SourceSafe 管理器程序中設(shè)置的 Visual SourceSafe 用戶權(quán)限和分配與對(duì) Visual SourceSafe 數(shù)據(jù)庫(kù)文件夾的 Windows 共享權(quán)限無關(guān)。您可以為特定的 Visual SourceSafe 項(xiàng)目或個(gè)別 Visual SourceSafe 用戶設(shè)置權(quán)限和分配,但必須向所有 Visual SourceSafe 用戶授予對(duì) Visual SourceSafe 數(shù)據(jù)庫(kù)文件夾的相同權(quán)限。因此,對(duì)于所有 Visual SourceSafe 用戶,無論使用 Visual SourceSafe 管理器程序指定的其項(xiàng)目級(jí)別權(quán)限如何,他們都可以訪問這些共享文件夾并對(duì)所有 Visual SourceSafe 數(shù)據(jù)具有完全控制權(quán)。
在 Team Foundation 中,用戶特定的操作權(quán)限和項(xiàng)目級(jí)別訪問權(quán)限受 Windows 用戶帳戶的限制。由 Internet Information Server 安全地執(zhí)行用戶身份驗(yàn)證。單獨(dú)訪問 SQL Server 數(shù)據(jù)庫(kù)的權(quán)限無需賦予執(zhí)行源代碼管理操作的個(gè)別用戶。因此,這樣產(chǎn)生的 Team Foundation 安全結(jié)構(gòu)安全、可靠并易于管理。
可靠性
由于 Visual SourceSafe 沒有服務(wù)器組件,因此涉及將數(shù)據(jù)從客戶端傳輸?shù)綌?shù)據(jù)庫(kù)的操作是非事務(wù)性的。這意味著如果發(fā)生問題,操作就無法回滾。在極少數(shù)情況下,在寫入操作期間確實(shí)發(fā)生像網(wǎng)絡(luò)連接斷開這樣的問題,此時(shí)可能會(huì)破壞受影響文件的完整性并丟失信息。
Team Foundation 是客戶端-服務(wù)器應(yīng)用程序,該應(yīng)用程序利用不會(huì)受到網(wǎng)絡(luò)連接問題影響的存儲(chǔ)過程在數(shù)據(jù)庫(kù)中執(zhí)行寫入操作。此外,還使用事務(wù)執(zhí)行某些操作,以便在這些操作出錯(cuò)時(shí)可以回滾。這種體系結(jié)構(gòu)確保了您的源文件不會(huì)無意中遭到破壞。它還確保了包含相關(guān)更改的文件組可以作為可能測(cè)試良好的 變更集 同時(shí)全部提交給源代碼管理服務(wù)器。
可伸縮性
Team Foundation 最多可支持 2000 名用戶的團(tuán)隊(duì),而 Visual SourceSafe 建議的團(tuán)隊(duì)人數(shù)是二十或更少。Team Foundation 服務(wù)器包含的數(shù)據(jù)量可達(dá)到 SQL Server 數(shù)據(jù)庫(kù)允許(千兆字節(jié))且您的硬件可支持的最大數(shù)據(jù)量,而 Visual SourceSafe 數(shù)據(jù)庫(kù)建議的大小限制是 4 GB。
功能差異
變更集
從概念上來說,Visual SourceSafe 數(shù)據(jù)庫(kù)和 Team Foundation 源代碼管理服務(wù)器的內(nèi)部結(jié)構(gòu)類似。這些數(shù)據(jù)庫(kù)和服務(wù)器都按分層的形式進(jìn)行組織。文件夾包含文件,而文件包含由編號(hào)和創(chuàng)建日期/時(shí)間標(biāo)識(shí)的版本。
Team Foundation 引入了一個(gè) Visual SourceSafe 中沒有的概念:變更集。變更集是 Team Foundation 存儲(chǔ)與單個(gè)簽入操作相關(guān)的下列所有內(nèi)容的邏輯容器:文件和文件夾修訂、指向相關(guān)工作項(xiàng)的鏈接、簽入說明、簽入注釋以及提交更改的用戶等其他信息。有關(guān)更多信息,請(qǐng)參見 使用源代碼管理變更集 。
共享和固定
Team Foundation 沒有與 Visual SourceSafe 的共享或固定功能等效的命令。
在將 Visual SourceSafe 項(xiàng)目遷移到 Team Foundation 時(shí),用標(biāo)簽替換 Visual SourceSafe 數(shù)據(jù)庫(kù)中的插針。
Team Foundation 中存儲(chǔ)歷史記錄的方式的不同之處
Visual SourceSafe 和 Team Foundation 以不同的方式存儲(chǔ)下列操作的歷史記錄。
-
添加和創(chuàng)建 ???在 Visual SourceSafe 中,添加一個(gè)文件或文件夾時(shí),會(huì)創(chuàng)建該文件及其父級(jí)的一個(gè)版本。在該父級(jí)歷史記錄中,該操作被記錄為“添加”;而在該文件歷史記錄中,該操作被記錄為“創(chuàng)建”。在 Team Foundation 中,添加一個(gè)文件或文件夾時(shí),將只用“添加”操作創(chuàng)建該文件或文件夾自身的一個(gè)版本。不為此操作創(chuàng)建父級(jí)版本。
-
重命名、刪除和撤消刪除 ???在 Visual SourceSafe 中,這些操作會(huì)創(chuàng)建父級(jí)的新版本;而在 Team Foundation 中,這些操作創(chuàng)建該項(xiàng)自身的一個(gè)新版本。
-
移動(dòng) ???在 Visual SourceSafe 中,在移動(dòng)某一文件夾時(shí),將同時(shí)創(chuàng)建源和目標(biāo)父文件夾的新版本,并對(duì)每個(gè)父級(jí)記錄將該文件夾移入或移出父級(jí)的操作。不為文件夾 F 創(chuàng)建版本。例如,如果將文件夾 F 從源文件夾 S 移至目標(biāo)文件夾 D,則對(duì)“將 $F 移出 S”操作創(chuàng)建 D 的新版本,并對(duì)“已將 $F 移入 D”操作創(chuàng)建 S 的新版本。在 Team Foundation 中,“重命名”操作只創(chuàng)建 F 的新版本。
簽入和簽出的區(qū)別
在 Visual SourceSafe 中,只有在編輯文件時(shí)才需要執(zhí)行顯式簽出和簽入操作。在 Team Foundation 中,每個(gè)操作都需要執(zhí)行顯式簽出和簽入操作。
Team Foundation 中工作方式不同的功能
與 Visual SourceSafe 不同,Team Foundation 在您簽出文件時(shí)不執(zhí)行靜態(tài) Get 操作。
在 Team Foundation 中,多個(gè)用戶可以同時(shí)對(duì)同一項(xiàng)進(jìn)行簽出和更改。在 Visual SourceSafe 中,默認(rèn)情況下以獨(dú)占方式執(zhí)行簽出。但您可以在 Team Foundation 中鎖定某一文件,以防止其他用戶簽出該文件或簽入更改。有關(guān)更多信息,請(qǐng)參見 了解鎖定類型 。
分支和合并 ???由于 Visual SourceSafe 并不存儲(chǔ)文件或文件夾的兩個(gè)分支之間的合并歷史記錄,因此 Visual SourceSafe 只支持非常基本的分支和合并功能。但 Team Foundation 源代碼管理 確實(shí)支持合并歷史記錄。在 Visual SourceSafe 中,由于沒有合并歷史記錄,進(jìn)行的合并最終是無依據(jù)的。
簽出操作不對(duì)正在簽出的文件執(zhí)行 Get Latest 操作
當(dāng)您執(zhí)行 Get 操作以用一組文件填充工作區(qū)時(shí),將從源代碼管理創(chuàng)建一個(gè)一致的快照。通常,系統(tǒng)上源代碼的配置表示 Team Foundation 源代碼管理 服務(wù)器中已知一起運(yùn)行的文件的時(shí)間點(diǎn)快照,因此能夠進(jìn)行生成和測(cè)試。
作為在工作區(qū)中執(zhí)行操作的開發(fā)人員,您將被隔離,不受其他開發(fā)人員所做更改的影響。您可以根據(jù)需要執(zhí)行 Get 操作,以控制何時(shí)接受來自其他開發(fā)人員的更改。理論上說,當(dāng)您這么做時(shí),將更新源代碼的整個(gè)配置,而不僅僅是一兩個(gè)文件。其原因是一個(gè)文件的更改通常取決于其他文件的相應(yīng)更改,因此您必須確保您仍具有一個(gè)能夠進(jìn)行生成和測(cè)試的一致的源代碼快照。
這就是簽出操作不對(duì)正在簽出的文件執(zhí)行 Get Latest 操作的原因所在。更新正在簽出的那個(gè)文件將違反一致的快照邏輯,因此可能會(huì)導(dǎo)致無法生成或測(cè)試源代碼配置。作為一種備選方法,Team Foundation 會(huì)強(qiáng)制您在簽入更改之前的某一時(shí)間點(diǎn)執(zhí)行 Get Latest 操作,以便在您嘗試簽入更改且沒有最新副本的情況下,用解決沖突對(duì)話框向您提示。
Visual SourceSafe 中不存在的 Team Foundation 功能
-
通過 設(shè)置警報(bào) 執(zhí)行的電子郵件通知
Team Foundation 中不存在的 Visual SourceSafe 功能
-
共享
-
固定
-
存檔和還原
-
銷毀
-
關(guān)鍵字?jǐn)U展
-
回滾
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

