一、SVN的簡(jiǎn)介:
SVN是一個(gè)開(kāi)放源代碼的版本控制系統(tǒng),如今成為Apache軟件的一個(gè)項(xiàng)目,同樣是一個(gè)豐富的開(kāi)發(fā)者和用戶社區(qū)的一部分。Subversion管理著隨時(shí)間改變的檔案,這些檔案放置在一個(gè)中央檔案庫(kù)(Repository)中。這個(gè)檔案庫(kù)很像一個(gè)尋常的檔案服務(wù)器,不過(guò)它會(huì)記住每一次檔案的變動(dòng)。這樣就可以把檔案恢復(fù)到舊的版本,或是瀏覽檔案的變動(dòng)歷程,并可以查看數(shù)據(jù)的更改細(xì)節(jié)。
二、SVN的主要功能:
1)目錄版本控制:SVN實(shí)作了一個(gè)“虛擬”的版本控管文件系統(tǒng),能夠隨時(shí)跟蹤整個(gè)目錄的變動(dòng)。目錄和文件都能進(jìn)行版本控制。
2)真實(shí)的版本歷史:在SVN中,你可以增加(add)、刪除(delete)、復(fù)制(copy)和重命名(rename),無(wú)論是文件還是目錄。所有的新加的文件都從一個(gè)新的、干凈的版本開(kāi)始。
3)自動(dòng)提交:一個(gè)提交動(dòng)作,不是全部更新到了檔案庫(kù)中,就是不完全更新。這允許開(kāi)發(fā)人員以邏輯區(qū)間建立并提交變動(dòng),以防止當(dāng)部分提交成功時(shí)出現(xiàn)的問(wèn)題。
4)納入版本控管的元數(shù)據(jù):每一個(gè)文件與目錄都附有一組屬性關(guān)鍵字并和屬性值相關(guān)聯(lián)。
5)選擇不同的網(wǎng)絡(luò)層:SVN有抽象的檔案庫(kù)存取概念,可以讓人很容易地實(shí)作新的網(wǎng)絡(luò)機(jī)制。SVN可以作為一個(gè)擴(kuò)展模塊嵌入到Apache HTTP服務(wù)器中。這個(gè)為Subversion提供了非常先進(jìn)的穩(wěn)定性和協(xié)同工作能力,除此之外還提供了許多重要功能:例如,有身份認(rèn)證,授權(quán),在線壓縮和文件庫(kù)瀏覽等。還有一個(gè)輕量級(jí)的獨(dú)立Subversion服務(wù)器,使用的是自定義的通信協(xié)議,可以很容易地通過(guò)ssh以tunnel方式去使用。
6)一致的數(shù)據(jù)處理方式:SVN使用二進(jìn)制差異算法來(lái)異表示文件的差異,它對(duì)文字(人類可理解的)與二進(jìn)制文件(人類無(wú)法理解的)兩類的文件都一視同仁。這兩類的文件都同樣地以壓縮形式儲(chǔ)存在檔案庫(kù)中,而且文件差異是以兩個(gè)方向在網(wǎng)絡(luò)上傳輸?shù)摹?/p>
7)有效的分支(branch)與標(biāo)簽(tag):在分支與標(biāo)簽上的消耗并不必一定要與項(xiàng)目大小成正比。SVN建立分支與標(biāo)簽的方法,就只是復(fù)制該項(xiàng)目,使用的方法就類似于硬連接。所以這些操作只會(huì)花費(fèi)很小,而且是固定的時(shí)間。
8)Hackability:SVN沒(méi)有任何的歷史包袱。它主要是一群共用的C程序庫(kù),具有定義完善的API。這使得SVN便于維護(hù),并且可被其它應(yīng)用程序與程序語(yǔ)言使用。
如果大家想了解更多軟件測(cè)試問(wèn)題以及行業(yè)資訊,可以關(guān)注我哦!(筆芯)






