1.SVN介紹
?????SVN是一個跨平臺的開源的版本控制系統,svn版本管理工具管理著隨時間改變的各種數據,這些數據放置在一個中央檔案庫(repository)中,svn會備份并記錄每個文件每一次的修改、更新、變動。這樣可以把任意一個時間點的檔案恢復到想要的某個舊的版本,可以查看指定文件的更新歷史記錄。
?????SVN通常用于管理程序代碼。但是它也可以管理任何類型的文件,如文本、視頻、圖片等。
SVN的優點:
????(1)管理方便,邏輯清晰明確,符合一般人的思維習慣
? ? (2)易于管理,集中式svn服務器更能保證數據的安全性
????(3)代碼的一致性非常高
????(4)普及度高
SVN的缺點:
當無法連接到中央版本庫的環境下,就無法提交代碼,將代碼加入到版本控制,也就說明基本上無法工作
????????由于每一次提交都保留一個原始副本,因此SVN數據庫容量可能會暴增。
由于代碼集中管理,存在單點故障,所以需要對svn中央版本庫的存儲進行備份,而且同時還要備份所有更改的版本記錄。
2.SVN的服務器運行模式與訪問方式
????2.1 SVN服務端的運行方式有3種:
????(1)獨立服務器訪問
????????????訪問地址如:svn://svn.xiaoyu.com/project;
????(2)借助Apache等http服務
????????????訪問地址如:http://svn://svn.xiaoyu.com/project;
????????????????a.單獨安裝Apache+svn
????????????????b.CSVN(Apache+svn)是一個單獨的整合的軟件,帶web界面管理的SVN軟件。
????(3)本地直接訪問
????? ?????? ?訪問地址如:file://application/svndata/project。
????
3.SVN客戶端的訪問方式
????SVN客戶端可以通過多種方式訪問服務器端?,本地磁盤訪問,或各種不同的網絡協議訪問,但一個版本庫地址都是一個URL。
訪問方式如下:
訪問方式 | 說明 |
file:// | 直接通過本地磁盤或者網絡磁盤訪問版本庫 |
http:// | 通過WebDAV協議訪問支持Subversion的Apache服務器 |
https:// | 與http://相似,但是用SSL加密訪問 |
svn:// | 通過TCP/IP自定義協議訪問svnserve服務器 |
svn+ssh:// | 通過認證并加密的TCP/IP自定義協議訪問svnserve服務器。 |
4.SVN檔案庫數據格式
????svn存儲版本數據有2種方式:BDB(一種事務安全型類型)和FSFS(一種不需要數據庫的存儲系統)。
????BDB:
????BDB數據格式的版本庫是一種經過充分測試的后臺數據庫實現的,不能通過在網絡共享的文件系統上使用,伯克利DB是Subversion 1.2版本以前缺省的版本庫格式。
????FSFS:
????FSFS是一個專用于Subversion版本庫的文件系統后端,可以使用網絡文件系統(例如NFS或SMBFS),是1.2版本及其后的缺省的版本庫格式。
????SVN是基于關系數據庫的(BerkleyDB)或一系列二進制文件的FS_FS。一方面解決了許多問題(例如:并行讀寫共享文件)以及添加了許多新功能(例如運行時的事務特性),另一方面,數據存儲由此變得不透明,不能像ftp,Samba,nfs等能看到實體文件了。
????
????
????
轉載于:https://blog.51cto.com/shayatou1990/2177195