資訊科技是不停前進的,因此「遷移」Migration 這個議題總是存在。對於開發人員來說,資產集中命脈所在的「版本控制系統」也逐漸從集中式走向分散式。本文首先嘗試探討不涉及具體應用系統的評估準則,後續將再輔以幾個案例以供佐證。
當我們準備將一個「舊版控」遷移至「新版控」時,可能要考慮幾個問題:
在展開之前,我們應該先對「技術」有所定義:由於每個人的技術不同,資源與成本的限制不同,事物的執行程度與完善與否總會有不一樣的結果,這樣會討論不完,因此我們只好將技術定義為「某個最廣泛使用的工具」,並假設此工具能百分之百地發揮。
「技術上可以遷移的」可能包括了以下的要素:
「技術上不可以遷移的」可能有:
「技術上可以遷移,但可能放棄的」,依可能性大到小排列下來:
「新版控的新特性」較常見的有:
依循以上所提的概念,接下來作者將著重在「遷移」,嘗試以幾個不同的情境(Subversion / CVS / TFVC to Git)實務上的作法,未來幾篇應該都會採用相同的說明流程: