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