共用方式為


記錄事件如何移轉

更新:2007 年 11 月

這個主題會討論 Visual SourceSafe 所記錄的記錄事件如何移轉至 Team Foundation。

記錄事件

記錄事件會移轉至 Team Foundation 的對等區域。這樣可讓您維護原始程式檔 (Source File) 的記錄。重新執行建立記錄的事件,即可建立檔案版本的歷程記錄。下表會詳細說明如何移轉每個記錄事件:

事件

移轉的方式

加入檔案或資料夾

檔案加入事件會在 Team Foundation 中建立檔案的初版。資料夾加入事件會在 Team Foundation 中建立資料夾的初版。如果在加入資料夾時其中已有檔案或資料夾,則會分別加入這些檔案和資料夾。 

編輯檔案

檔案編輯事件會在 Team Foundation 中建立檔案的新版本。

標記檔案

在 Team Foundation 中,會將標籤套用至檔案或資料夾的版本。在 Visual SourceSafe 中,可以明確或隱含標記檔案。在 Visual SourceSafe 中明確標記檔案時,就會建立新版本的檔案,如果您要取得該標籤,則會取得對應至檔案舊版的檔案內容。若要移轉明確標籤,轉換器會將標籤套用到對應至 Team Foundation 之 Visual SourceSafe 標記版本的版本。但是,它不會建立新版本。

當您在 Visual SourceSafe 中套用資料夾標籤時,標籤會隱含套用資料夾下的所有檔案和資料夾,而不會建立新版本。若是隱含標籤,轉換器不會執行任何動作,因為 Team Foundation 中對應的版本會在移轉資料夾上的明確標籤期間,自動加上標籤。

標記資料夾

在 Visual SourceSafe 中當您將標籤套用至資料夾時,會隱含標記該資料夾下的所有檔案和資料夾,而不會建立新版本。在移轉這些資料夾期間,轉換器會將標籤套用至 Team Foundation 中對應的資料夾版本。這樣會自動將標籤套用至已標記資料夾內的檔案和資料夾現行版本。

重新命名、刪除或取消刪除檔案或資料夾

在移轉檔案或資料夾的重新命名、刪除和取消刪除事件期間,轉換器會重新執行事件,以在 Team Foundation 中建立檔案和資料夾的新版本。

移動資料夾

移動資料夾事件會在 Team Foundation 中建立資料夾的新版本。在 Visual SourceSafe 中,移動命令不會變更資料夾的內容或記錄,而是會記錄在舊及新上層資料夾的記錄中。移動資料夾時,Visual SourceSafe 無法重新建構舊版本的上層資料夾。

移轉之後,由於移轉移動資料夾事件的方法,您將可以重新建構舊版本。例如,如果將標籤 "LABEL1" 套用至具有子資料夾 /B 的資料夾 $/A,而在稍後將 /B 移至另一個資料夾 $/C。在 Visual SourceSafe 中,如果在 $/A 上取得 "LABEL1",將不會得到 $/A/B;然而,移轉至 Team Foundation 之後,當您取得此標籤時,將會取得移動的資料夾 ($/A/B)。

移轉移動的資料夾時,視移轉的項目而定,會有三個各具有不同結果的可能案例:

  • 一起移轉來源和目的資料夾。沒有資料遺失。在前面的範例中,會一起移轉來源 $/A 和目的 $/C 資料夾。

  • 只移轉目的資料夾。移轉之後,移動的資料夾會出現在目的資料夾,就像是移動資料夾時所加入。移動資料夾的記錄以及移動事件之前所含的項目,不會移轉至 Team Foundation。使用上面的範例時,子資料夾 /B 的移動事件會出現在 $/C 中做為資料夾和事件。若要防止記錄遺失,請一起移轉移動資料夾的來源和目的資料夾。執行移轉分析時,報告中包含會警告您此資料遺失的區段。

  • 只移轉來源資料夾。在移轉期間,移動資料夾的記錄以及所含的項目不會移轉至 Team Foundation。若要防止記錄遺失,請一起移轉移動 Visual SourceSafe 資料夾的來源和目的資料夾。執行移轉分析時,報告中包含會警告您此資料遺失的區段。

注意事項:

如果此移動資料夾事件結合了還原事件,則可能不會適當移轉此記錄。

共用檔案

在 Visual SourceSafe 中,可以跨多個資料夾共用檔案。在共用檔案中進行的變更會在共用的跨資料夾中複寫。Visual SourceSafe 會在共用檔案之間,內部建立軟連結。技術上不會在 Visual SourceSafe 中共用資料夾。在 Visual SourceSafe 中共用資料夾時,會建立資料夾的複本,並會共用資料夾中的所有檔案。

Team Foundation 沒有共用的對等用法。在目的資料夾中建立與開始共用時的檔案版本相同內容的版本,即可移轉共用檔案。從那時此,對共用檔案進行的變更都會由轉換器複寫到兩個位置。

共用及刪除檔案

先共用然後刪除的檔案會當做共用檔案處理,不過會忽略刪除之後的所有動作。

如果稍後取消刪除已刪除的共用檔案,轉換器會在移轉期間對每個動作 (例如編輯或重新命名) 報告錯誤。不過,在移轉取消刪除動作期間,轉換器會對檔案執行取消刪除編輯,因此其內容會和 Visual SourceSafe 中取消刪除檔案的內容一樣。

如果稍後重新命名已刪除的共用檔案,轉換器會在移轉重新命名動作期間報告錯誤。將不會移轉重新命名之後的動作,而轉換器會報告每個動作的錯誤。

分支檔案

共用是預先條件分枝。轉換器無法將 Visual SourceSafe 分支對應至 Team Foundation 版本控制分支。共用檔案的移轉會產生目的資料夾中的檔案複本。分支事件移轉表示,對共用檔案所做的變更不會再覆寫至這兩個位置。因此,對任何分支所做的變更都會移轉至 Team Foundation 中適當的複本。移轉報告中會提供資料夾清單,其中包含在 Visual SourceSafe 中共用或進行分支的檔案。

封存

封存 Visual SourceSafe 中的檔案或資料夾時,可以完全移除檔案或資料夾的記錄,或從檔案或資料夾的記錄移除部分版本。如果已移除記錄,轉換器無法移轉已移除的版本。轉換器會忽略封存事件。

還原

在 Visual SourceSafe 中進行還原時,會還原已封存檔案或資料夾的記錄。轉換器會移轉檔案和資料夾的已還原記錄。轉換器會忽略還原事件。

PIN 和 UNPIN

Team Foundation 版本控制不支援固定,因此透過建立兩個標籤以移轉所有固定的檔案。PINNED_LATEST 標籤會套用至固定檔案的固定版本和未固定檔案的最新版本,而 PINNED 標籤則只會套用至固定檔案的固定版本。移轉之後,PINNED_LATEST 標籤會擷取相同檔案,如同在 Visual SourceSafe 中的 Get Latest 一樣。但是,如果在檔案固定之後發生簽入以外的事件 (例如重新命名或刪除檔案),則 PINNED_LATEST 標籤可能會傳回不同的檔案。

請參閱

概念

轉換器如何將變更集分組以改善效能

其他資源

規劃原始檔控制移轉