SVN版本控制系統(tǒng)
Subversion (SVN)是一個(gè)版本控制系統(tǒng),相對(duì)于的RCS、CVS,采用了分支管理系統(tǒng),它的設(shè)計(jì)目標(biāo)就是取代CVS。互聯(lián)網(wǎng)上免費(fèi)的版本控制服務(wù)多基于Subversion。
開(kāi)源中國(guó)的碼云 gitee.com 支持 Git 和 SVN 同步,可用來(lái)托管 SVN 項(xiàng)目。
優(yōu)于CVS之處
原子提交。一次提交不管是單個(gè)還是多個(gè)文件,都是作為一個(gè)整體提交的。在這當(dāng)中發(fā)生的意外例如傳輸中斷,不會(huì)引起數(shù)據(jù)庫(kù)的不完整和數(shù)據(jù)損壞。
重命名、復(fù)制、刪除文件等動(dòng)作都保存在版本歷史記錄當(dāng)中。
對(duì)于二進(jìn)制文件,使用了節(jié)省空間的保存方法。(簡(jiǎn)單的理解,就是只保存和上一版本不同之處)
目錄也有版本歷史。整個(gè)目錄樹(shù)可以被移動(dòng)或者復(fù)制,操作很簡(jiǎn)單,而且能夠保留全部版本記錄。
分支的開(kāi)銷(xiāo)非常小。
優(yōu)化過(guò)的數(shù)據(jù)庫(kù)訪問(wèn),使得一些操作不必訪問(wèn)數(shù)據(jù)庫(kù)就可以做到。這樣減少了很多不必要的和數(shù)據(jù)庫(kù)主機(jī)之間的網(wǎng)絡(luò)流量。
使用情況
雖然在 2006年 時(shí) Subversion 的使用族群仍然遠(yuǎn)少于傳統(tǒng)的 CVS,但已經(jīng)有許多開(kāi)放原碼團(tuán)體決定將 CVS 轉(zhuǎn)換為 Subversion。已經(jīng)轉(zhuǎn)換使用 Subversion 的包括了 FreeBSD、Apache Software Foundation、KDE、GNOME、GCC、Python、Samba、Mono 以及許多團(tuán)體。有許多的團(tuán)隊(duì)換用 Subversion 是因?yàn)?Trac 所提供的專(zhuān)案管理環(huán)境。除此之外,一些自由軟件開(kāi)發(fā)的協(xié)作網(wǎng)如SourceForge除了提供 CVS 外,現(xiàn)在也提供專(zhuān)案開(kāi)發(fā)者使用 Subversion 作為源碼管理系統(tǒng), JavaForge、Google Code以及 BountySource 則以 Subversion 作為官方的源碼管理系統(tǒng)。
Subversion中文網(wǎng):http://www.subversion.org.cn/
