• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    使用Subversion進行版本控制

    發布: 2008-2-03 11:37 | 作者: 不詳 | 來源: 網絡 | 查看: 69次 | 進入軟件測試論壇討論

    領測軟件測試網

     

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

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

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

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

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

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 版本控制

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>