第一次注意到 Subversion (簡稱 svn) 已經是兩年前的事了。我對於 CVS 一直是雖不滿意但能接受,只是當時的我深深地覺得 “Programmers deserve a better version control system.“。svn 經過兩年多的耕耘,已經實現了許多程式員渴望的功能,穩定度也相當不錯。

svn 最讓我驚訝的它絕妙的檔案系統設計,幾乎是讓你以零成本的代價進行程式碼的分支 (branching),而同時也提供方便的檔案更名及移動的版本控制,跟 Perforce 提供的 Inter-File Branching 有異曲同工之妙。如果你也注意到 svn 的 tag 跟 branch 居然是用同一套機制時,你就不禁會佩服設計者的巧思。

今天花了點時間,參考《Subversion Book 中文版》把 subversion 0.32.1 裝在我腳邊運作著 Debian Linux 的機器上,比較討厭的是不能跟 apache 1.x 相容,需要另外安裝 apache2。Windows client 則是使用 TortoiseSVN,跟檔案總管整合起來還蠻方便的。其他的 GUI client (RapidSVN, Svn-Up, Supervision) 試用的結果都不是很成熟, 我想現在缺的就是一個類似 WinCVS 的 WinSVN 了。

真的是該準備跟你的 Visual SourceSafe 跟 CVS 說再見了。