Visual Studio Team System
為 Visual SourceSafe 使用者提供的 Team Foundation 簡介

Visual SourceSafe 是為專業軟體開發人員所設計的原始檔控制工具。

Team Foundation 是一套變更管理系統,可針對開發小組提供整合式原始檔控制、問題追蹤以及流程管理等功能。

本主題將著重於 Visual SourceSafe 和 Team Foundation 中原始檔控制功能的主要差異。

Note注意事項

本主題不會討論如何從 Visual SourceSafe 移轉至 Team Foundation 原始檔控制環境。如需移轉的詳細資訊,請參閱移轉至 Team Foundation

Team Foundation 與 Visual SourceSafe 之間的差異

Visual SourceSafe 和 Team Foundation 原始檔控制 可讓您完成一些相同的基本工作:同時開發一個以上版本的產品、對發行版本的產品進行變更但不影響其他版本、快速擷取一批相關的檔案、判斷進行變更的人員以及時間、比較檔案的版本,以及將變更從某個版本移至另一個版本。

Team Foundation 原始檔控制用戶端介面是針對熟悉 Visual SourceSafe 的使用者所設計。這兩個產品都提供了命令列用戶端和 Visual Studio 2005 整合。Team Foundation 原始檔控制並沒有像 Visual SourceSafe 一樣,提供個別的使用者介面。

不過,儘管有許多相似之處,Team Foundation 和 Visual SourceSafe 仍有基本上的差異。本主題會分成兩個主要章節,以便詳述這些差異:

架構差異一節將說明 Team Foundation 與 Visual SourceSafe 之間在技術上和操作上的差異。

功能差異一節將列出一些某個產品提供而另一個產品不提供的功能、說明次要功能變更、識別因產品而異的預設設定,以及說明這些變更如何協助您的小組更有效使用 Team Foundation 進行開發。

架構差異

Visual SourceSafe 是僅限用戶端的原始檔控制系統。其用戶端 (例如 SourceSafe Explorer 和 Visual Studio 的外掛程式) 會讀取和寫入 Visual SourceSafe 資料庫,而這個資料庫是通常儲存在共用網路資料夾中的檔案集合。

Team Foundation 是一套主從式原始檔控制系統,這套系統會使用 .NET Web 服務來存取儲存在 SQL Server 資料庫中的項目。Team Foundation 原始檔控制的架構可提供強化的效能和可靠性。

安全性和專案權限

您在 Visual SourceSafe 系統管理員程式中設定的 Visual SourceSafe 使用者權限和指派與 Visual SourceSafe 資料庫資料夾的 Windows 共用權限無關。雖然您可以針對特定 Visual SourceSafe 專案或個別的 Visual SourceSafe 使用者設定權限和指派,不過必須針對 Visual SourceSafe 資料庫資料夾授與所有 Visual SourceSafe 使用者相同的使用權限。因此,所有 Visual SourceSafe 使用者 (不論其使用 Visual SourceSafe 系統管理員程式所指定的專案層級權限為何) 都可以存取共用資料夾而且可以完全控制所有 Visual SourceSafe 資料。

在 Team Foundation 中,特定使用者的操作權限和專案層級存取權限會繫結至 Windows 使用者帳戶。使用者驗證是由 Internet Information Server 安全地進行。SQL Server 資料庫的個別存取權不需要授與執行原始檔控制作業的個別使用者。因此,產生的 Team Foundation 安全性基礎結構不但強固、安全,而且容易管理。

可靠性

由於 Visual SourceSafe 沒有伺服器元件,因此將資料從用戶端傳輸至資料庫的相關作業都是不可交易的。這表示如果發生問題,就無法復原作業。在極少數的狀況下,萬一寫入作業中途發生網路連線中斷的問題,則受影響檔案的完整性就可能會遭受危害而且會遺失資訊。

Team Foundation 是一套主從應用程式,其中資料庫內的寫入作業都是經由不受網路連線問題影響的預存程序進行。此外,某些作業是使用交易進行,以便可以在發生錯誤時復原這些作業。這種架構可確保您的原始程式檔不會在渾然不知的情況下損毀。此外,它還可確保原始檔控制伺服器會同時認可所有含有相依變更的檔案群組,就如同幾乎已完整測試的變更集

延展性

Team Foundation 最多可以支援 2000 位使用者的小組,而 Visual SourceSafe 的建議人數則是二十人以下的小組。Team Foundation 伺服器可以包含如同 SQL Server 資料庫允許 (TB) 且硬體可支援的資料量,而 Visual SourceSafe 資料庫的建議大小限制則為 4 GB。

功能差異

變更集

就概念而言,Visual SourceSafe 資料庫和 Team Foundation 原始檔控制伺服器的內部結構很類似。其資料庫和伺服器的組織方式都是採用階層結構。也就是說,資料夾會包含檔案。檔案則包含按照編號和建立日期/時間所識別的版本。

不過,Team Foundation 提出一項 Visual SourceSafe 中不存在的概念:變更集。變更集是指邏輯容器,其中 Team Foundation 會儲存與單一簽入作業相關的所有項目:檔案和資料夾修訂、相關工作項目的連結、簽入提示、簽入註解以及其他資訊,例如送出變更的人員。如需詳細資訊,請參閱使用原始檔控制變更集

共用和固定

對於 Visual SourceSafe 的共用和固定功能,Team Foundation 並沒有對等的命令。

當您將 Visual SourceSafe 專案移轉至 Team Foundation 時,Visual SourceSafe 資料庫中的固定功能就會以標籤來取代。

Team Foundation 中儲存記錄之方式的差異

Visual SourceSafe 和 Team Foundation 會以不同的方式來儲存下列動作的記錄。

  • 加入和建立:在 Visual SourceSafe 中,只要加入檔案或資料夾就會建立父代版本和檔案。在父代記錄中,此動作會記錄成「加入」,而在檔案記錄中,此動作會記錄成「建立」。在 Team Foundation 中,加入檔案或資料夾只會以「加入」動作來建立檔案或資料夾本身的版本。系統並不會針對此動作建立父代版本。

  • 重新命名、刪除和取消刪除:在 Visual SourceSafe 中,這些動作都會建立父代的新版本,而在 Team Foundation 中,這些動作則會建立項目本身的新版本。

  • 移動:在 Visual SourceSafe 中,當您移動資料夾時,就會同時建立來源和目的父代資料夾的新版本,並針對將資料夾移入或移出父代的每個父代記錄動作。系統不會針對資料夾 F 建立任何版本。例如,如果您將資料夾 F 從來源 S 移至目的 D,就會以「從 S 移動 $F」的動作建立 D 的新版本,而且會以「將 $F 移至 D」的動作建立 S 的新版本。在 Team Foundation 中,系統只會以「重新命名」的動作建立 F 的新版本。

簽入和簽出的差異

在 Visual SourceSafe 中,只有當您要編輯檔案時,才需要明確簽出和簽入。在 Team Foundation 中,每個動作都需要明確簽出和簽入。

在 Team Foundation 中以不同方式運作的功能

與 Visual SourceSafe 不同的是,Team Foundation 並不會在您簽出檔案時執行無訊息的 Get 作業。

在 Team Foundation 中,多位使用者可以同時簽出並變更相同的項目。在 Visual SourceSafe 中,簽出預設是獨佔的。不過,您可以在 Team Foundation 中鎖定檔案,以防止其他使用者簽出此檔案或簽入變更。如需詳細資訊,請參閱瞭解鎖定類型

分支和合併:Visual SourceSafe 對於分支和合併提供非常基本的支援,因為 Visual SourceSafe 並不會儲存兩個檔案或資料夾分支的合併記錄。不過,Team Foundation 原始檔控制則支援合併記錄。如果沒有合併記錄,您就如同在 Visual SourceSafe 中進行無基底的合併一樣。

簽出作業不會針對簽出的檔案進行取得最新版本的作業

當您執行取得作業,以便將一組檔案填入工作區時,實際上是從原始檔控制建立一致的快照集 (Snapshot)。一般而言,伺服器上原始檔的組態是代表 Team Foundation 原始檔控制伺服器中已知要共同運作之檔案的時間點快照集,因此能夠進行建置和測試。

身為在工作區中工作的程式開發人員,您與其他程式開發人員所做的變更會相互隔離。您可以控制想要接受其他程式開發人員所做變更的時機,只要視需要執行取得作業即可。最理想的狀況是,當您進行此作業時,就會更新整個原始檔的組態,而不是只有一兩個檔案。原因是,某個檔案中的變更通常會相依於其他檔案中對應的變更,而且您必須確保仍然保有原始檔的一致快照集,以便能夠進行建置和測試。

這就是簽出作業不會針對簽出的檔案進行取得最新版本作業的原因。更新簽出的檔案會違反一致快照集的原則,而且可能會導致原始檔組態無法進行建置或測試。為了提供替代方法,Team Foundation 會強制您在簽入變更以前的某個時間點執行取得最新版本的作業,如此當您嘗試簽入變更,但卻沒有最新的複本時,您就會收到 [解決衝突] 對話方塊的提示。

Visual SourceSafe 中不存在的 Team Foundation 功能

Team Foundation 中不存在的 Visual SourceSafe 功能

請參閱

標記 :


Page view tracker