SubVersion:實現服務系統的軟件。
TortoiseSVN:是SVN客戶端程序,為windows外殼程序集成到windows資源管理器和
文件管理系統的Subversion客戶端。
SVNService.exe:是專為SubVersion開發的壹個用來作為Win32服務掛接的入口程序。
AnkhSVN:是壹個專為VisualStudio提供SVN的插件。
Subversion提供以下主要功能:
目錄SVN版本控制
CVS只能跟蹤單個文件的歷史,不過Subversion實作了壹個“虛擬”的版本控管文件系統,能夠依時間跟蹤整個目錄的變動。目錄和文件都能進行版本控制。
真實的版本歷史
自從CVS限制了文件的版本記錄,CVS並不支持那些可能發生在文件上,但會影響所在目錄內容的操作,如同復制和重命名。除此之外,在CVS裏妳不能用擁有同樣名字但是沒有繼承老版本歷史或者根本沒有關系的文件替換壹個已經納入系統的文件。在Subversion中,妳可以增加(add)、刪除(delete)、復制(copy)和重命名(rename),無論是文件還是目錄。所有的新加的文件都從壹個新的、幹凈的版本開始。
自動提交
壹個提交動作,不是全部更新到了檔案庫中,就是完全不更新。這允許開發人員以邏輯區間建立並提交變動,以防止當部分提交成功時出現的問題。
納入SVN版本控制的元數據
每壹個文件與目錄都附有壹組屬性關鍵字並和屬性值相關聯。妳可以創建,並儲存任何妳想要的Key/Value對。屬性是隨著時間來作版本控管的,就像文件內容壹樣。
選擇不同的網絡層
Subversion有抽象的檔案庫存取概念,可以讓人很容易地實作新的網絡機制。Subversion可以作為壹個擴展模塊嵌入到ApacheHTTP服務器中。這個為Subversion提供了非常先進的穩定性和協同工作能力,除此之外還提供了許多重要功能:舉例來說,有身份認證,授權,在線壓縮,以及文件庫瀏覽等等。還有壹個輕量級的獨立Subversion服務器,使用的是自定義的通信協議,可以很容易地通過ssh以tunnel方式使用。
壹致的數據處理方式
Subversion使用二進制差異算法來異表示文件的差異,它對文字(人類可理解的)與二進制文件(人類無法理解的)兩類的文件都壹視同仁。這兩類的文件都同樣地以壓縮形式儲存在檔案庫中,而且文件差異是以兩個方向在網絡上傳輸的。
有效的分支(branch)與標簽(tag)
在分支與標簽上的消耗並不必壹定要與項目大小成正比。Subversion建立分支與標簽的方法,就只是復制該項目,使用的方法就類似於硬連接(hard-link)。所以這些操作只會花費很小,而且是固定的時間。