淺談Subversion設(shè)置及客戶端下載
Subversion的使用方法和CVS相似,相信大家都已經(jīng)有所了解了,在這里呢就不對(duì)Subversion的使用進(jìn)行詳細(xì)講解,我們只對(duì)Subversion的設(shè)置進(jìn)行介紹,另外在講解一下Subversion客戶端下載問(wèn)題。
1.Subversion簡(jiǎn)介
Subversion是一款非常流行的開(kāi)源版本控制系統(tǒng),將來(lái)會(huì)逐漸替代CVS,支持可在本地訪問(wèn)或通過(guò)網(wǎng)絡(luò)訪問(wèn)的數(shù)據(jù)庫(kù)和文件系統(tǒng)存儲(chǔ)庫(kù)。Subversion不但提供了常用的比較、修補(bǔ)、標(biāo)記、提交和分支等功能,其還增加了追蹤移動(dòng)和刪除等功能。此外,Subversion支持非ASCII文本和二進(jìn)制數(shù)據(jù),所有這一切都使Subversion不僅對(duì)傳統(tǒng)的編程任務(wù)非常有用,同時(shí)也適于Web開(kāi)發(fā)、圖書(shū)創(chuàng)作和其他在傳統(tǒng)方式下未采納版本控制功能的領(lǐng)域。Subversion具有如下特性。
保留大多數(shù)CVS特性。Subversion意味著比CVS更好,其擁有CVS的大多數(shù)特性,一般說(shuō)來(lái),Subversion的接口與CVS的十分相似,除了一些強(qiáng)制性因素而選擇其他方式。目錄、重命名和文件meta-data都已經(jīng)版本化。Subversion客戶端不僅僅對(duì)文件內(nèi)容和文件存放位置進(jìn)行版本控制,也對(duì)目錄、副本、重命名操作進(jìn)行版本控制。它也允許對(duì)附加在任意文件和目錄上的metadata進(jìn)行版本化,并提供一種機(jī)制對(duì)文件的執(zhí)行權(quán)限進(jìn)行控制。
提交成為真實(shí)的原子操作。在整體提交成功之前不會(huì)有部分提交起作用,修訂號(hào)對(duì)應(yīng)每次提交而不是對(duì)應(yīng)每個(gè)文件,log信息被到修訂號(hào)上,并還是像CVS那樣需要額外的位置存放??梢赃x擇Apache網(wǎng)絡(luò)服務(wù)器,使用WebDAV/DeltaV協(xié)議。Subversion可以使用基于HTTP的WebDAV/DeltaV協(xié)議來(lái)進(jìn)行網(wǎng)絡(luò)通信,由Apache網(wǎng)絡(luò)服務(wù)器提供源代碼庫(kù)端的網(wǎng)絡(luò)服務(wù)。這使得Subversion具有優(yōu)于CVS的協(xié)同性,同時(shí)也提供了許多關(guān)鍵特性:認(rèn)證、數(shù)據(jù)壓縮和基本的庫(kù)瀏覽。#p#
獨(dú)立服務(wù)器模式選項(xiàng)。Subversion通過(guò)使用自定義的協(xié)議也提供了獨(dú)立服務(wù)器選項(xiàng),獨(dú)立服務(wù)器模式可以作為inetd的一個(gè)服務(wù)運(yùn)行,或者以守護(hù)進(jìn)程模式運(yùn)行,并且提供了基本的認(rèn)證和授權(quán),也可以使用SSH作為通道。分支(Branching)和標(biāo)簽(Tagging)的開(kāi)銷更?。ň哂泄潭ǖ臅r(shí)間)。分支和標(biāo)簽都使用底層的“復(fù)制”操作來(lái)實(shí)現(xiàn)。復(fù)制操作使用很小的、固定大小的空間。任何復(fù)制都是一個(gè)標(biāo)簽;如果你開(kāi)始提交一個(gè)副本,那么它也就會(huì)成為一個(gè)分支。天然的客戶端/服務(wù)器,分層的庫(kù)設(shè)計(jì)。
Subversion從開(kāi)始就設(shè)計(jì)為客戶端/服務(wù)器模式,從而免去了許多維護(hù)問(wèn)題。代碼由一系列結(jié)構(gòu)化的模塊組成,有定義良好的接口,設(shè)計(jì)為能夠被其他程序調(diào)用。C/S協(xié)議在兩個(gè)方向上發(fā)送diff。網(wǎng)絡(luò)協(xié)議在兩個(gè)方向傳輸diff時(shí)能夠高效地使用帶寬(CVS發(fā)送diff從服務(wù)器到客戶端,而不是從客戶端到服務(wù)器)。消耗和修改部分的大小成比例,而不是數(shù)據(jù)的大小。通常情況下,Subversion操作所耗費(fèi)的時(shí)間與此次操作引起的變化成比例,而不是對(duì)這個(gè)項(xiàng)目改變的絕對(duì)值,這個(gè)是Subversion版本庫(kù)模型的特性之一。
可以選擇數(shù)據(jù)庫(kù)和純文件的源代碼庫(kù)實(shí)現(xiàn)。源代碼庫(kù)可以使用嵌入的數(shù)據(jù)庫(kù)后端創(chuàng)建,也可以使用定義格式的純文件的后端創(chuàng)建。對(duì)象鏈接的版本化。UNIX用戶可以在版本控制中放置對(duì)象鏈接。該鏈接會(huì)在UNIX的工作副本中重建,但不會(huì)在win32工作副本中重建。高效處理二進(jìn)制文件。Subversion對(duì)于二進(jìn)制文件的處理具有同處理文本文件一樣的高效性,這是因?yàn)槠湓趥鬏敽痛鎯?chǔ)連續(xù)的修訂版本中使用二進(jìn)制的文件交換算法??山馕龅妮敵?。所有的Subversion客戶端命令行輸出的內(nèi)容都經(jīng)過(guò)精心設(shè)計(jì)以達(dá)到易讀和自動(dòng)解析的目的。腳本化也具備較高的優(yōu)先級(jí)。本地化信息。Subversion會(huì)根據(jù)當(dāng)前本地設(shè)置使用gettext()來(lái)顯示傳輸錯(cuò)誤、報(bào)告和幫助信息。
2.下載并安裝Subversion客戶端
NetBeansIDE6.0提供對(duì)Subversion客戶端1.3.x或更高版本的支持。在使用NetBeans集成開(kāi)發(fā)環(huán)境中的Subversion支持之前,需要在系統(tǒng)中安裝有Subversion客戶端軟件。Subversion客戶端軟件可以在http://netbeans.open.collab.net/下載。根據(jù)計(jì)算機(jī)操作系統(tǒng)的不同,選擇相應(yīng)版本的命令行客戶端。
下載完畢后,打開(kāi)安裝文件啟動(dòng)安裝程序。默認(rèn)情況下,Subversion客戶端軟件可執(zhí)行程序被安裝在UNIX系統(tǒng)和MacOSX系統(tǒng)的/usr/local/bin/文件夾下,在WindowsXP系統(tǒng)中會(huì)安裝在C:\ProgramFiles\CollabNetSubversion\文件夾下。在選擇安裝位置時(shí),盡量使用默認(rèn)位置,安裝完成后單擊“Finish”按鈕關(guān)閉安裝程序。
【編輯推薦】