習慣版本控制後寫程式會大膽許多,反正比對修改之處很簡單,復原到特定版本也只是舉手之勞。不過這僅限於納入追蹤控管的內容。大部份的版本控制系統能控管的項目還是有限 (我沒用過商業版,不曉得有沒有比較厲害),例如目錄與更名 (rename) 的控管。
習慣版本控制後寫程式會大膽許多,反正比對修改之處很簡單,復原到特定版本也只是舉手之勞。不過這僅限於納入追蹤控管的內容。大部份的版本控制系統能控管的項目還是有限 (我沒用過商業版,不曉得有沒有比較厲害),例如目錄與更名 (rename) 的控管。
有時在開發初期隨手寫幾個測試用的程式,隨後越來越龐大後開始整理並組織現有的程式碼,先不管開發流程的好壞,應該很多人都有類似經驗。不過若是一開始有導入版本控管,接下來就是頭大的問題了。以 cvs 來說,檔案一改名字或改路徑 (整理到特定目錄),history 就會中斷,日後要 diff 也不容易。
後起之秀 svn 雖然可以記錄 snapshot,checkout 特定版本不會掉檔案,印象中一樣不會有 rename 的記錄,只能人眼觀察前後幾個 revision 的檔案變化,但總是比 cvs 方便多了。
Wikipedia 上有一張 比較表 ,其中就包含 rename 項目。我目前有在使用的 svn、hg 和 git 都有支援 rename,但只有 hg 和 git 的記錄上看得到 reanme 的資訊 (svn 很久沒用了,要再確認看看)。rename 時需要用內建指令才會加入記錄:(-n 為測試指令用,不會真的執行動作)
$ hg -v mv -n a.c b.c
copying a.c to b.c
removing a.c
或是
$ git mv -n a.c b.c
Checking [...]







