您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 > SVN
Subversion使用手記
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2012/12/4 17:15:02 ] 推薦標簽:

一直以來對于自己的項目都是使用CVS進行管理,聽說Subversion很久了,但是都沒有時間去嘗試。想想時間都是省出來的,于是決定,學一點,不多,積累成河嘛。
Subversion和CVS相比,除了包含了CVS的全部特性之外,也加入了新的理念。

新理念

  1、路徑、改名、以及文件meta-data也可進入版本控制范圍。
  缺少這些特性是CVS被抱怨多的方面之一,subversion不止對文件內(nèi)容和文件存放位置加入控制,也對目錄,拷貝,重命名操作加入版本控制。它也允許文件/目錄的相關(guān)元數(shù)據(jù)meta-data和文件/目錄本身一起被版本控制起來,并提供一種機制對文件的執(zhí)行權(quán)限進行控制。
  2、Commit動作真正成為原子級的操作了。
直到整個commit動作都成功前不會有任何部分的commit會生效。版本修訂號只是預(yù)確認,而不是對文件預(yù)確認。(翻譯不出來 -_-;)日志信息將綁定到修訂信息,而不是象CVS那樣冗余的存儲下來。
 3、提供Apache網(wǎng)絡(luò)服務(wù)器∠睿?С�WebDAV/DeltaV協(xié)議。
Subversion可以使用基于http協(xié)議的WebDAV/DeltaV協(xié)議進行網(wǎng)絡(luò)通訊,并由Apache服務(wù)器提供源碼倉庫方的網(wǎng)絡(luò)瀏覽服務(wù)。這為Subversion提供了比CVS更好的協(xié)同工作能力,并提供了各式各樣的自由的關(guān)鍵特性:授權(quán),基于路徑的授權(quán),線性壓縮,以及基本源碼倉庫瀏覽。
4、獨立服務(wù)器選項
Subversion也能提供獨立服務(wù)器選項,使用自定的協(xié)議(不是每個人都想運行Apache2.x)獨立服務(wù)器可以作為系統(tǒng)的inetd服務(wù)運行,并提供基本的授權(quán)。它也能使用ssh進行加密。
 5、建立分支和標簽操作成為不耗時的操作。
這些動作沒理由耗時,所以我們不再讓它們耗時。
6、分支與標簽的實現(xiàn)都是基于底層的拷貝操作,一個拷貝占用一塊固定大小的空間。任何拷貝都可以作為一份標簽;假如你開始對某個版本的拷貝進行commit動作,那它也成為一個分支。(這與CVS的"分支節(jié)點做標簽"方式不同)
7、天然的client/server結(jié)構(gòu),層次化庫設(shè)計。
Subversion從設(shè)計之初即采用client/server機構(gòu);因此避免了困擾CVS了許久的一些維護性難題。
代碼被構(gòu)建為一組帶有詳細接口說明的模塊,用以方便的由其他應(yīng)用程序進行調(diào)用。
8、Client/server協(xié)議向雙方發(fā)送對比差異。
網(wǎng)絡(luò)協(xié)議利用寬帶有效地發(fā)送對比差異給客戶端和服務(wù)器端雙方。( CVS只是 server->client,?沒有client->server )
 9、資源消耗與數(shù)據(jù)改變的大小成正比,而不是與數(shù)據(jù)本身大小成正比一般來說,一項Subversion操作所需時間與操作終變化的大小成正比。而不是與操作所觸及的整個項目的大小成正比,這是Subversion源代碼倉庫模型的一個特性。
 10、有效的處理二進制文件
Subversion對于二進制文件和文本文件的處理同樣有效,因為subversion使用一種二進制差異比較算法來增量存儲那些連續(xù)的修訂本。
 11、易于語法分析的輸出。
所有Subversion命令行客戶端的輸出都是仔細設(shè)計的,可輕松為人所理解,也適于程序自動解析?蛇M行腳本語言處理將是下一步優(yōu)先考慮的特性。
 好了,開始使用吧。
Subversion到目前的安裝已經(jīng)非常簡單了。到Subversion網(wǎng)站下載Windows下的安裝文件,簡單的步驟可以完成安裝,而且安裝程序已經(jīng)自動注冊Path,直接在命令行模式可以使用了。
  首先初始化Repository,輸入命令:
 svnadmin create D:TestRepository
然后,把現(xiàn)有的項目的目錄結(jié)構(gòu)以及文件導入到Repository中:
 svn import D:ProjectsProject1 file:///D:TestRepositoryProject1 -m “初始化“
 用啟動服務(wù)
 svnserve -d -r D:TestRepository
 客戶端Checkout
 svn checkout svn://主機名/Project1?? (即獲取Project1的項目)
 以上都是很簡單的命令。而且上面只用到了一種服務(wù)模式,Apache的還在嘗試中。
 目前只用到了Subversion的基本功能,已經(jīng)感覺不錯了,覺得入門很輕松,幫助文檔也比CVS要好的多。
 Subversion也有圖形的客戶端,可以在 TortoiseSVN 找到。
 Subversion也VS.Net的插件,可以在AnkhSVN 找到。
 TortoiseSVN相信不錯,因為以前用過它的另一個For CVS的工具,可以和瀏覽器結(jié)合在一起,非常方便和美觀。
服務(wù)
    Subversion具有兩種服務(wù)模式,一個是作為Apache的模塊,另一個是自定義協(xié)議的Subserve服務(wù)。作為Apache的模塊,客戶端可以通過WebDAV/DeltaV協(xié)議訪問Repository,而使用Subserve則使用
Subversion的自定義協(xié)議。
下表是兩種服務(wù)模式的比較:

功能
Apache + mod_dav_sub
Svnserve
驗證方式
基于HTTPS的X.509、LDAP、NTLM或其他Apache支持的驗證
CRAM-MD5或者SSH
用戶帳戶管理
私有的用戶文件
私有的用戶文件或已有的系統(tǒng)帳戶
授權(quán)管理
blanket read/write aclearcase/" target="_blank" >ccess或單一目錄的訪問控制
blanket read/write access
加密
可選的SSL
可選的SSH隧道
交互性
可通過支持WebDAV的客戶端訪問
無交互性
Web訪問
有限的內(nèi)置支持,或通過第三方的工具,例如ViewCVS
通過第三方的支持,如ViewCVS
速度
稍慢
稍快
初始安裝
稍復(fù)雜
相當簡單

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd