共用方式為


了解 VSS 升級工具轉換資料的方式

Visual SourceSafe 升級工具是便利的一次性單向升級方法,可用來將程式碼庫從 Visual SourceSafe 升級至 Team Foundation Server (TFS)。只有在您準備好要在 Visual SourceSafe 中停止進行存取,並開始在 TFS 中進行維護時,才應該使用這個工具來升級資料。

TFS 和 Visual SourceSafe 在功能上有顯著的差異。因此,Visual SourceSafe 升級工具會在升級期間修改特定種類的資料。

本主題內容

  • 變更集的建立方式

  • 共用及釘選項目的升級方式

  • 記錄資料的移植方式

    • 如何移植有關使用者名稱和時間戳記的資料

    • 如何轉換特定類型的事件

  • 版本控制繫結的移植方式

變更集的建立方式

TFS 版本控制會在使用者簽入一組變更時,將多個檔案的變更分組成一個單位。這個單位稱為變更集

Visual SourceSafe 並沒有相當於變更集的功能。但是在轉換程序期間,只要下列條件成立,每一組變更都會分組為變更集:

  • 變更彼此不衝突。例如,不會有兩個動作影響同一個檔案或資料夾。

  • 彼此變更發生的時間不超過幾分鐘。

  • 變更是由相同的使用者簽入。

  • 變更有相同的簽入註解。

共用及釘選項目的升級方式

在 Visual SourceSafe 中,可以跨多個資料夾共用檔案。在共用檔案中進行的變更會橫跨共用檔案的資料夾進行複寫。TFS 版本控制沒有同等功能。在升級期間,Visual SourceSafe 專案中的共用檔案是藉由在您用於 TFS 版本控制的伺服器上建立項目的其他獨立複本來進行升級。

TFS 版本控制也沒有任何功能相當於 Visual SourceSafe 中的釘選功能。在升級期間,Visual SourceSafe 專案中的釘選項目會在您用於 TFS 版本控制的伺服器上轉換成加上標籤的項目。如需詳細資訊,請參閱下一章節。

記錄資料的移植方式

Visual SourceSafe 資料庫中項目歷程記錄內的每個事件都會當做變更集傳輸到 Team Foundation Server 上。升級完成之後,您可以在 [記錄] 視窗中檢視此資料。如需詳細資訊,請參閱取得項目的歷程記錄

資料的某些變更會在升級期間發生。

ms253166.collapse_all(zh-tw,VS.110).gif如何移植有關使用者名稱和時間戳記的資料

當 Visual SourceSafe 資料庫中項目歷程記錄內的每個項目升級至到 Team Foundation Server 上的變更集時,將會發生以下變更:

  • 變更集上的時間戳記會設定為升級項目時的日期和時間。

  • 原始時間戳記會儲存在變更集的 [註解] 欄位中。

  • 使用者名稱會儲存在變更集的 [使用者] 欄位或 [註解] 欄位中 (視使用者對應程序的結果而定)。

    注意事項注意事項

    如果您想要使用者名稱如何指派給記錄資料,則必須使用 VssUpgrade。請參閱指定如何升級使用者名稱

ms253166.collapse_all(zh-tw,VS.110).gif如何轉換特定類型的事件

事件 (例如編輯、重新命名和刪除) 會以直接的方式從您的 Visual SourceSafe 資料庫升級至 Team Foundation Server 上的變更集中。但是,升級工具轉換某些事件的方式可能不是您所預期的方式,如下表所示。

 Visual SourceSafe 事件

其升級至 TFS 版本控制的方式

加入檔案或資料夾

此變更集是每個升級檔案及資料夾記錄內的第一個事件。不會針對其所包含之每一個子項目的父代記錄任何事件,與 Visual SourceSafe 不同。

分支

共用是 Visual SourceSafe 中的分支前置條件,但是 TFS 版本控制不支援共用。因此,升級分支的檔案會在目的資料夾中建立檔案的複本。

Visual SourceSafe 資料庫中的共用檔案會升級到 TFS 版本控制,其方式是複製共用檔案時已存在之檔案的版本,並將該複本放在目的資料夾中。之後,每一個變更集都會在這兩個檔案複本中複寫,直到發生分支事件為止。

Label

隱含標籤的項目:在 Visual SourceSafe 中,當您為資料夾加上標籤時,其包含的項目也會隱含地加上標籤。升級程序會明確為 Team 專案中所有升級的項目加上標籤。

明確標記的檔案:Visual SourceSafe 會在您明確標記個別檔案時,建立檔案的新版本。升級程序會將標籤移植到 TFS 版本控制中的適用版本,但不會建立新的版本。

注意事項注意事項
如果您的 Visual SourceSafe 資料庫包含許多會套用到許多檔案的標籤,升級程序的作業時間可能會延長。如果您想要排除此資料,就必須使用 VssUpgrade,並將其設定為忽略標籤。請參閱 <Label migrate="false" />

移動資料夾

移動資料夾事件會在 TFS 版本控制中建立資料夾的新版本。

如果您使用的是 VssUpgrade,它只有在同時升級來源資料夾和目的資料夾時,才會升級已移動之資料夾內的完整項目記錄。請參閱檢閱及解決分析功能找到的問題

注意事項注意事項
如果移動資料夾事件與還原事件結合在一起,則可能不會正確升級記錄資料。

還原

沒有升級任何在還原事件之前產生的記錄資料。

PIN 和 UNPIN

TFS 版本控制不支援釘選功能。升級工具會建立兩個標籤以升級釘選的檔案。

PINNED_LATEST 標籤會套用至固定檔案的固定版本以及未固定檔案的最新版本。而 PINNED 標籤則只會套用至固定檔案的固定版本。升級之後,PINNED_LATEST 標籤會擷取與 Visual SourceSafe 中的 Get Latest 相同的檔案。但是有一個例外,如果在釘選檔案之後發生簽入以外的事件 (例如重新命名或刪除檔案),則 PINNED_LATEST 標籤可能會傳回不同的檔案。

共用

TFS 版本控制不支援共用功能。Visual SourceSafe 資料庫中的共用檔案會升級到 TFS 版本控制,其方式是複製共用檔案時已存在之檔案的版本,並將該複本放在目的資料夾中。之後,每一個變更集都會在這兩個檔案複本中複寫。

取消刪除檔案或資料夾

在升級檔案或資料夾的取消刪除事件期間,此工具會重新執行事件,以便在 TFS 版本控制中建立檔案和資料夾的新版本。

升級工具會建立變更集,其中包含檔案或資料夾名稱、取消刪除檔案或資料夾的日期與時間以及使用者名稱。

版本控制繫結的移植方式

升級工具會移植每個方案的版本控制繫結

下一個步驟

Visual SourceSafe 升級準備工作