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