您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 > SVN
使用Subversion進(jìn)行版本控制
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/3/20 14:47:00 ] 推薦標(biāo)簽:

  版本控制是管理數(shù)據(jù)變更的一種技術(shù)。對于程序員來說,它已經(jīng)成為不可或缺的工具,因為他們經(jīng)常修改軟件代碼,產(chǎn)生部分的變更,然后第二天再取消所有的變更。想象有一群程序員同時工作的情況你能理解,為什么需要一個良好的系統(tǒng)來管理可能出現(xiàn)的混亂。

  Subversion 是一個開源的版本控制系?, 也是說 Subversion 管理著隨時間改變的數(shù)據(jù)。 這些數(shù)據(jù)放置在一個中央資料檔案庫 (repository) 中。 這個檔案庫很像一個普通的文件服務(wù)器, 不過它會記住每一次文件的變動。 這樣你可以把檔案恢復(fù)到舊的版本, 或是瀏覽文件的變動歷史。 許多人會把版本控制系?想像成某種 “時光機器”。

  某些版本控制系?也是 SCM(software configuration management) 系統(tǒng)。 這些系?是特?設(shè)計來管理大量代碼的, 而且具有許多專門針對軟件開發(fā)的功能,像通俗易懂的程序語言, 或是提供編譯軟件的工作。 不過 Subversion 并不是這樣的系統(tǒng); 它是一個通用的系統(tǒng), 可用來管理任何類型的文件, 其中包括了程序源碼。

  早在2000年,CollabNet, Inc.(http://www.collab.net)開始召集開發(fā)人員開發(fā)CVS的替代品。CollabNet 提供一套名為SourceCast協(xié)同工作套件,其中的一部分組件是版本控制。雖然SourceCast使用CVS作為其初的版本控制系統(tǒng),但是CVS的種種限制從一開始處處可見,后CollabNet明白必須要找到一個更好的解決方案。不幸的是,至少在免費license中,因為沒有更好的選擇,CVS已經(jīng)廣泛成為了開源世界中事實上的標(biāo)準(zhǔn)。所以CollabNet決定開發(fā)一個新的版本控制系統(tǒng),保留CVS的基本特性但去處CVS的bug和不好的特性。

  在2000年2月,他們聯(lián)系《使用CVS開發(fā)開源項目》(Open Source Development with CVS)(Coriolis, 1999)的作者Karl Fogel,并征求了他是否愿意在這個新的項目中擔(dān)任一個角色。巧合的是,當(dāng)時Karl已經(jīng)和他的朋友Jim Blandy討論了一個關(guān)于新的版本控制系統(tǒng)的設(shè)計。在1995年,這兩人成立了Cyclic Software,一個提供CVS的商業(yè)支持的軟件公司。雖然他們經(jīng)營商業(yè)服務(wù),但是仍然在每天都在工作中使用CVS。使用CVS的挫折感使得Jim認(rèn)真思考更好的方法來管理數(shù)據(jù),不但確定名字為“Subversion”,而且完成了Subversion檔案庫的基礎(chǔ)設(shè)計。

  當(dāng)CollabNet的電話到來時,Karl立即答應(yīng)了加入項目中,而且Jim讓他的雇主RedHat Software同意讓他在這個項目中不定期工作。CollabNet雇用了Karl和Ben Collins-Sussman,并在5月開始了詳細(xì)設(shè)計工作。在得到了來自CollabNet的Brian Behlendorf、Jason Robbins和Greg Stein(當(dāng)時是一名活躍在WebDAV/DeltaV規(guī)范過程的自由程序員)很多創(chuàng)意的幫助下,Subversion很快地引起了一個活躍開發(fā)者社區(qū)的注意。它找出并歡迎很多同樣在CVS上受到挫折的社員能來為這個項目做點什么。

  Subversion 初的設(shè)計Team定下了幾個簡單的目標(biāo)。 它必須在功能上可取代 CVS,也是說, 所有 CVS 可做到的事, 它都要能夠作到。 在修正明顯的瑕疵的同時, 還要保留相同的開發(fā)模式。 還有, Subversion 應(yīng)該要和 CVS 很相像, 任何 CVS 使用者只要花費少許的力氣, 可以很快地上手。

  經(jīng)過十四個月的編碼后, Subversion 于2001年8月31日開始實現(xiàn) “自行管理”。 也是說, 開發(fā)人員不再使用 CVS 來管理 Subversion 的代碼, 而以 Subversion 自己來管理。

  從啟動這個項目到現(xiàn)在,雖然CollabNet提供了大部分的資金(它付出幾位全職 Subversion 開發(fā)人員的薪水), 但這還是個開源項目, 由一組松散透明的規(guī)則所約定。 CollabNet 擁有代碼的版權(quán)完全符合 Debian Free Software Guidelines。 換句話說, 每個人都可以隨意地免費下載、修改、以及重新發(fā)布 Subversion; 完全不需要經(jīng)過 CollabNet, 或是任何人的允許。

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