名詞釋義:Svn(Subversion)簡介
Svn(Subversion)有些朋友可能以前接觸,它是近年來崛起的版本管理工具,是cvs的接班人。因?yàn)樗浅?shí)用,所以目前絕大多數(shù)開源軟件都使用svn作為代碼版本管理軟件。下面就讓我們來看看Svn(Subversion)具體內(nèi)容吧。
運(yùn)行方式
svn服務(wù)器有2種運(yùn)行方式:獨(dú)立服務(wù)器和借助apache。2種方式各有利弊。
svn存儲版本數(shù)據(jù)也有2種方式:BDB和FSFS。因?yàn)锽DB方式在服務(wù)器中斷時(shí),有可能鎖住數(shù)據(jù)(我在搞ldap時(shí)就深受其害,沒法根治),所以還是FSFS方式更安全一點(diǎn)。
安全領(lǐng)域的SVN
SVN站在更高層次上對現(xiàn)在的安全產(chǎn)品,從系統(tǒng)和控制的角度進(jìn)行了"有機(jī)"和"無隙"的整合。
SVN是一個(gè)安全虛擬網(wǎng)絡(luò)系統(tǒng),它將系統(tǒng)整體的信息安全功能均衡合理地分布在不同的子系統(tǒng)中,使各子系統(tǒng)的功能得到最大限度的發(fā)揮,子系統(tǒng)之間互相補(bǔ)充,系統(tǒng)整體性能大于各子系統(tǒng)功能之和,用均衡互補(bǔ)的原則解決了"木桶原理"的問題。
SVN能在跨接Internet,Intranet,Extranet間的網(wǎng)絡(luò)所有端點(diǎn)實(shí)現(xiàn)全面的安全,而且還能提供基于企業(yè)策略的信息管理機(jī)制以充分有效地利用有限的帶寬。SVN可以滿足各種企業(yè)VPN的要求,通過為公司內(nèi)部網(wǎng)絡(luò)、遠(yuǎn)程和移動用戶、分支機(jī)構(gòu)和合作伙伴提供基于Internet的安全連接。所以,我們可以將SVN看成是VPN、防火墻、基于企業(yè)策略的信息管理軟件集成在一起的Internet安全的綜合解決方案。在這樣一個(gè)網(wǎng)絡(luò)系統(tǒng)中,所有互聯(lián)網(wǎng)服務(wù)器端和客戶端都是安全的,并有一個(gè)信息管理機(jī)制以不斷地通過這個(gè)外部網(wǎng)絡(luò)環(huán)境動態(tài)地分析及滿足客戶的特定帶寬需求。
SVN提供了目前基于網(wǎng)絡(luò)實(shí)現(xiàn)的eBusiness應(yīng)用的安全服務(wù),它包含:
對多種應(yīng)用進(jìn)行全面的安全認(rèn)證;
支持多種認(rèn)證及PKI
功能強(qiáng)大并對用戶透明的通訊加密;
面向用戶的集中安全策略管理;
統(tǒng)一跨接Internet、Intranet、Extranet的通訊。
完整的SVN體系結(jié)構(gòu)應(yīng)包括以下部分:
帶有防火墻的VPN網(wǎng)關(guān),它是一個(gè)將防火墻和VPN技術(shù)緊密結(jié)合的網(wǎng)關(guān)產(chǎn)品;
SVN安全遠(yuǎn)程客戶端軟件包,一個(gè)功能強(qiáng)大的VPN客戶端軟件,支持臺式機(jī)用戶、遠(yuǎn)程用戶和移動用戶,具有集中化管理的個(gè)人防火墻功能和VPN用戶的安全認(rèn)證功能;
SVN證書管理模塊,一個(gè)用于SVN的完整PKI解決方案,它將完善的CA和LDAP目錄服務(wù)器技術(shù)集成在一起;
SVN硬件加密卡,可以通過硬件技術(shù)實(shí)現(xiàn)功能強(qiáng)大的各種算法以提高VPN的速度和性能;
SVN智能帶寬管理模塊,一個(gè)基于企業(yè)策略的帶寬管理解決方案,可以智能地管理有限的帶寬資源,以確保用于企業(yè)重要應(yīng)用的VPN性能可靠;
SVN冗余管理模塊,通過冗余網(wǎng)關(guān)集群和防火墻VPN內(nèi)的SVN冗余模塊,對執(zhí)行重要任務(wù)的VPN和防火墻應(yīng)用在出現(xiàn)故障時(shí)實(shí)現(xiàn)無縫切換。
自動地址轉(zhuǎn)換模塊,一個(gè)自動管理IP地址和命名的解決方案,通過提供IP地址服務(wù)的跟蹤和集中化管理,確保可靠地控制地址分配和提高TCP/IP管理效率;
SVN安全服務(wù)器軟件包,專門保護(hù)單個(gè)應(yīng)用服務(wù)器安全的VPN網(wǎng)關(guān)軟件,它可以保護(hù)進(jìn)行敏感操作的服務(wù)器免受攻擊和未授權(quán)的訪問,使客戶端建立與服務(wù)器間的安全認(rèn)證和支持交換加密數(shù)據(jù)的連接;SVN安全客戶端軟件包,它將基于狀態(tài)檢測的防火墻和基于IPSec的VPN客戶端軟件集成在客戶端機(jī)器上,通過提供集中管理的個(gè)人防火墻和對所有企業(yè)VPN用戶的安全認(rèn)證,增強(qiáng)客戶端機(jī)器的安全性。它與 SVN安全遠(yuǎn)程客戶端軟件功能相比,增強(qiáng)了客戶端的安全功能,如訪問控制和安全初始化控制等。#p#
Svn(Subversion)的發(fā)展歷史
早在2000年,CollabNet,Inc.就開始召集開發(fā)人員開發(fā)CVS的替代品。CollabNet提供一套名為SourceCast協(xié)同工作套件,其中的一部分組件是版本控制。雖然SourceCast使用CVS作為其最初的版本控制系統(tǒng),但是CVS的種種限制從一開始就處處可見,最后CollabNet明白必須要找到一個(gè)更好的解決方案。不幸的是,至少在免費(fèi)license中,因?yàn)闆]有更好的選擇,CVS已經(jīng)廣泛成為了開源世界中事實(shí)上的標(biāo)準(zhǔn)。所以CollabNet決定開發(fā)一個(gè)新的版本控制系統(tǒng),保留CVS的基本特性但去除CVS的bug和不好的特性。
在2000年2月,他們聯(lián)系《使用CVS開發(fā)開源項(xiàng)目》(OpenSourceDevelopmentwithCVS)(Coriolis,1999)的作者KarlFogel,并征求了他是否愿意在這個(gè)新的項(xiàng)目中擔(dān)任一個(gè)角色。巧合的是,當(dāng)時(shí)Karl已經(jīng)和他的朋友JimBlandy討論了一個(gè)關(guān)于新的版本控制系統(tǒng)的設(shè)計(jì)。在1995年,這兩人就成立了CyclicSoftware,一個(gè)提供CVS的商業(yè)支持的軟件公司。雖然他們經(jīng)營商業(yè)服務(wù),但是仍然在每天都在工作中使用CVS。使用CVS的挫折感使得Jim認(rèn)真思考更好的方法來管理數(shù)據(jù),不但確定名字為“Subversion”,而且完成了Subversion檔案庫的基礎(chǔ)設(shè)計(jì)。
當(dāng)CollabNet的電話到來時(shí),Karl立即答應(yīng)了加入項(xiàng)目中,而且Jim讓他的雇主RedHatSoftware同意讓他在這個(gè)項(xiàng)目中不定期工作。CollabNet雇用了Karl和BenCollins-Sussman,并在5月開始了詳細(xì)設(shè)計(jì)工作。在得到了來自CollabNet的BrianBehlendorf、JasonRobbins和GregStein(當(dāng)時(shí)是一名活躍在WebDAV/DeltaV規(guī)范過程的自由程序員)很多創(chuàng)意的幫助下,Subversion很快地引起了一個(gè)活躍開發(fā)者社區(qū)的注意。它找出并歡迎很多同樣在CVS上受到挫折的社員能來為這個(gè)項(xiàng)目做點(diǎn)什么。
Svn(Subversion)最初的設(shè)計(jì)Team定下了幾個(gè)簡單的目標(biāo)。它必須在功能上可取代CVS,也就是說,所有CVS可做到的事,它都要能夠作到。在修正最明顯的瑕疵的同時(shí),還要保留相同的開發(fā)模式。還有,Subversion應(yīng)該要和CVS很相像,任何CVS使用者只要花費(fèi)少許的力氣,就可以很快地上手。
經(jīng)過十四個(gè)月的編碼后,Subversion于2001年8月31日開始實(shí)現(xiàn)“自行管理”。也就是說,開發(fā)人員不再使用CVS來管理Subversion的代碼,而以Subversion自己來管理。
從啟動這個(gè)項(xiàng)目到現(xiàn)在,雖然CollabNet提供了大部分的資金(它付出幾位全職Subversion開發(fā)人員的薪水),但這還是個(gè)開源項(xiàng)目,由一組松散透明的規(guī)則所約定。CollabNet擁有代碼的版權(quán)完全符合DebianFreeSoftwareGuidelines。換句話說,每個(gè)人都可以隨意地免費(fèi)下載、修改、以及重新發(fā)布Svn完全不需要經(jīng)過CollabNet,或是任何人的允許。
【編輯推薦】
- 經(jīng)驗(yàn)總結(jié):如何讓Visual Studio 2008支持Subversion
- Subversion和TortoiseSVN如何在Windows下進(jìn)行構(gòu)建SVN版本控制
- 揭露MyEclipse Subversion環(huán)境建立的內(nèi)幕
- 經(jīng)驗(yàn)總結(jié):淺談Subversion安裝在Windows和Linux下的區(qū)別
- 學(xué)習(xí)筆記:剖析Collabnet Subversion集成