首先先介紹一下 Subversion 是什麼 (節錄自《Subversion Book 中譯版》):

Subversion 是一個自由/開放源碼的版本控制系統,也就是說 Subversion 管理著隨時間改變的檔案。這些檔案放置在一個中央檔案庫 (repository) 中。這個檔案庫很像一個尋常的檔案伺服器,不過它會記住每一次檔案的變動。這樣你就可以把檔案回復到舊的版本,或是瀏覽檔案的變動歷程。許多人會把版本控制系統想像成某種「時光機器」。

某些版本控制系統也是 Software Configuration Management (SCM) 系統。這些系統是特別設計來管理大量程式碼的,而且具有許多功能,專門用在軟體發展之用:像是可完全了解程式語言,或是提供編譯軟體的工作。不過 Subversion 並不是這樣的系統;它是一個泛用系統,可用來管理任何類型的檔案,其中包括了程式源碼。

一般我們會簡稱 Subversion 為 SVN,簡單講,如果您用過 CVSVisual SourceSafe 的話,SVN 就是那樣的一個東西,而且功能更為強大,設計更為合理,使用更為簡便。就我個人的看法是,SVN 再搭配另外幾個 open source 的軟體,其功能就可以比得上百萬等級的 SCM 軟體;當然,前提是我們有時間搞懂它。

所以,為了節省大家的時間,也為了節省我自己的時間[1],以下整理 SVN 的相關資源。

Subversion 與相關工具之官方網站

Subversion 官方網站:http://subversion.tigris.org/
官方網站 hosting 在由 CollabNet 架設的 tigris.org,CollabNet 提供了 Karl Fogel 全職的工作,專職發展 CVS 的替代程式:Subversion。
Subversion Book (英):http://svnbook.red-bean.com/
最新、最完整、最標準的 Subversion 參考文件。
Subversion Book (中):http://svn.stu.edu.tw/svnbook/
由 Plasma 重新發願翻譯
Subversion FAQ (英):http://subversion.tigris.org/faq.html
如果您看得懂英文的話,有什麼關於 Subversion 的問題,先到這邊找找吧。
TortoiseSVN:http://www.tortoisesvn.net/
目前在 win32 上,實作最完整、方便、好用的 SVN GUI client[2],與 explorer 完美整合。
Trac:http://trac.edgewall.com/
與 SVN 完美整合,集 issue tracking、wiki、SVN browser 甚至是 scheduling 於一身的網頁軟體。
Subclipse:http://subclipse.tigris.org/
以 plug-in 的形式,與 Eclipse 整合,讓我們也可以在 Eclipse 上使用 Subversion。
SubTrain – Open Source Trainings for Subversion
Open Source 的 Subversion 教材:"The aim of the project is to provide a set of training materials that can be used for Subversion trainings."
Buildbot:http://buildbot.sourceforge.net/
自動編譯、測試軟體,可以與 CVS、SVN 整合。

關於 Subversion 的文章

如何结合使用 Subversion 和 Eclipse
介紹如何在 Eclipse 上使用 Subclipse 連結使用 Subversion。
用 Subversion 构建版本控制环境
介紹如何在 Windows 下安裝 Subversion,並介紹 Subclipse 與 TortoiseSVN 的使用方法。
Tip of Subversion - vendor branch
使用 rsync 取代 svn_load_dirs.pl 的小技巧。
實作 Subversion 檔案庫自動備份機制
Ada Hsu 的心得筆記
版本控制系統:svn(subversion)
簡單介紹 Subversion 使用方法。
轉戰 Subversion - cvs2svn 注意事項
尤其著重介紹如何與 cvsnt 搭配使用。
Subversion 與 Mantis 整合作法
介紹如何自動將 commit message 送入 Mantis 裡。
誰還在用 copy 呀!
底下討論蠻平實的。

各平台的 Subversion 安裝方法

用 Subversion 构建版本控制环境
介紹如何在 Windows 下安裝 Subversion,並介紹 Subclipse 與 TortoiseSVN 的使用方法。
在Ubuntu Linux中使用Apache2管理Subversion版本控制系统
Step by step 介紹如何在 Ubuntu Linux 上安裝 Subversion (with http)。
Debian Taiwan Wikisubversion 頁面
介紹如何使用 apt 在 debian 上安裝 subversion。

其他 Subversion 資源的集散地

Newszilla 的《Subversion 版本控制相關參考資料
備份自 plasma 以前收集的資料 (http://svn.ntcu.net/kwiki/)
JeffHung's SCM category:http://www.jeffhung.net/blog/categories/devel/scm/
我的 blog 裡,有關於 SCM 的相關文章,目前以有關於 SVN 的文章居多數。

基本上,這篇資源整理,我會持續更新。上面提到的相關軟體,也會陸續發表文章,整理我的使用心得,並載於本篇之中。


  1. 以及應學長的要求
  2. SVN 本身底層為 APR (Apache Run-Time),故只要 Apache 2 能夠跑的平台,SVN 都可以跑。SVN 本身即有附上一組 command-line 的程式,用以操作 SVN。不過,通常我們會希望能夠有好用的 GUI client,以代替比較難學的 command-line 介面。