<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jasmine214--love

    只有當你的內心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
    posts - 731, comments - 60, trackbacks - 0, articles - 0

    CVS和SVN的區別

    Posted on 2011-04-18 20:13 幻海藍夢 閱讀(2463) 評論(0)  編輯  收藏 所屬分類: 版本管理

    http://blog.csdn.net/sfdev/archive/2008/08/26/2835073.aspx

    前段時間部門內部PCM就SVN的代碼管理和大家進行了分享,中途提到一個問題,就是和CVS相比,到底SVN有何優勢,因為公司內部很早就開始用SVN了,所以很多同事都沒有經歷過CVS的時代;

    偶在前一家公司的時候曾經用過CVS,就從開發人員的使用角度來說差別并不明顯,我能想起來的也就是兩三點:1、CVS對目錄的管理非常不友好,無法跟蹤目錄的變動情況;2、文件無法重命名提交;3、對二進制文件(比如圖片)的管理不好,代碼合并時經常問題;

    那具體兩者間的差別有哪些呢?這幾天從網上搜羅了一些,貼在這里供大家參考:


    CVS SVN
    關于版本號 基于文件的自增序列號。 基于全局的自增序列號,而不僅僅針對文件,還包括目錄等。
    存儲類型格式 CVS是個基于RCS文件的版本控制系統。每個CVS文件都不過是普通的文件,加上一些額外信息。這些文件會簡單的重復本地文件的樹結構。因此,不必擔心有什么數據損失,如果必要的話你可以手工修改RCS文件。 SVN是基于關系數據庫的(BerkleyDB)或一系列二進制文件的(FS_FS)。一方面這解決了許多問題 (例如,并行讀寫共享文件)以及添加了許多新功能(例如運行時的事務特性。)。然而另一方面,數據存儲由此變得不透明,或是說并不那么用戶友好了。那就是 為什么工具軟件,對倉庫 (數據庫)變得那么重要了。
    訪問速度 比較慢;因為他基于單向(服務端-->客戶端)差異化文件傳輸 整體而言,由于架構實現的不同, SVN的確比CVS快很多;因為采用雙向差異化文件傳輸。
    在網絡上它只傳輸很少的信息并支持更多的離線模式的功能。但這也是有代價的。速度的代價就是巨大的存儲(完全備份所有的工作文件)。
    元數據 只允許存儲文件 允許一個文件有任意都的可命名屬性。功能十分完全,但不知到底有什么用
    文件類型 最初是為文本文件存儲而設計的。因此其他文件類型(二進制,統一碼)文件的支持幾乎沒有如需要的話則要有其他信息,并且客戶端服務器端都要調整。 SVN會關心所有的文件類型,不需要你來手工操作;因為他的存儲是基于二進制的
    滾回 CVS允許任意的滾回,在任意一個已遞交的版本上,盡管著要華些時間(所有的文件都要分別處理)。 SVN不允許遞交后滾回。我們建議把倉庫里好的狀態版本加到末尾,覆蓋掉損壞的版本。而損壞的版本無論如何也是會存在數據庫里的。
    事務 CVS中的 “零或一”事務原則根本沒有實現。如果檢入幾個文件的話(加到服務器上),很有可能部分文件完成了,而另幾個沒有。最為一個潛規則,手工糾正這些并且對余 下的文件 (而不是所有文件)一一重復檢入。這樣這些文件將在兩階段中被檢入。但至今為止,因為這個功能缺少而導致的數據倉庫損壞的案例還沒有出現過。 支持“零或一”事務原則,這是SVN的一大優勢
    架構、代碼、可擴展性 CVS是個古老的系統。起初CVS只是一些運用RCS的腳本文件。后來這些腳本被組成一個單個應用程序,但內部結構仍然有待改進。直到今天,仍有 人企圖從頭開始,重寫一遍CVS,但都不成功。我們曾經嘗試國重寫客戶端代碼以期更好的集成效果,但是,不成功。現在我們都不認為CVS在功能上能走到多 遠了。 Subversion的開發員的確花了許多時間在內部架構上。我們仍然不知道這些決策有多大的正確性等等。但有一點可以肯定,代碼有良好的可擴展性,增強工作也在進行著。
    網絡層 不能與Apache Web Server集成 有抽象的檔案庫存取概念, 可以讓人很容易地實作新的網絡機制. Subversion “先進” 的網絡服務器, 是 Apache 網頁服務器的一個模塊,它以稱為 WebDAV/DeltaV 的 HTTP 變體協議與外界溝通. 這對Subversion 的穩定性與互通性有很大的幫助, 而且額外提供了許多重要功能: 舉例來說, 有身份認證, 授權, 在線壓縮, 以及檔案庫瀏覽. 另外也有小而獨立的 Subversion 服務器程序, 使用的是自訂的通訊協議, 可以很容易地透過 ssh 以 tunnel 方式使用
    重命名、刪除操作 不支持本地文件重命名提交;
    刪除分remove和erase兩種前者把本地和庫中文件都刪除,后者只是刪除本地文件;
    不能刪除文件夾
    支持文件重命名提交系統會提示刪除舊文件,創建新文件
    刪除本地文件提交 庫中文件也被刪除
    用戶訪問權限 有read、write、creat、none這四種權限,任何人不能刪除文件夾(admin也只能跑到服務器上把相應文件夾殘忍刪除?我暫時只知道這個方法……) 只有read、write、none三種權限 creat和delete權限好象和write是捆綁在一起的
    創建分支與基線 CVS 在創建分支的時候,需要對所有進行分支的文件進行依次的操作,因此分支的建立成本(主要是建立分支所需的時間,或消耗的計算資源)與參與分支的文件數量成比例,項目越大,版本庫越大,文件越多,分支的建立成本越高;基線(tag)的建立與此類似。 SVN 的分支和基線是通過執行“拷貝”來建立的:回想一下在沒有引入版本管理工具的時候我們是如何進行所謂的“分支”和“基線”管理的?答案顯然是“拷貝” — 我們通過“拷貝”或“備份”來建立基線;同樣,為支持多個開發人員可以同時進行開發,我們為每個開發人員創建一份“拷貝”。
    主站蜘蛛池模板: 国产偷窥女洗浴在线观看亚洲| 日韩不卡免费视频| 免费一级毛片不卡不收费| 亚洲一级免费毛片| 国产免费一区二区三区| 久久精品国产亚洲AV无码娇色| 美女被cao网站免费看在线看| 国产a v无码专区亚洲av| 四虎国产精品永免费| 亚洲成a人片在线观看老师| 羞羞的视频在线免费观看| 五月婷婷亚洲综合| 日韩a毛片免费观看| 国产专区一va亚洲v天堂| 国产黄在线观看免费观看不卡| 国外亚洲成AV人片在线观看| 日韩精品无码免费专区午夜不卡| 亚洲大尺度无码专区尤物| 久久狠狠躁免费观看2020| 亚洲福利一区二区三区| 人妻视频一区二区三区免费| 亚洲变态另类一区二区三区| 亚洲Av无码乱码在线观看性色| 亚洲精品黄色视频在线观看免费资源| 激情综合色五月丁香六月亚洲| 国产在线观看免费视频软件| 亚洲精品自在线拍| 日本免费网站观看| 久久久WWW成人免费精品| 亚洲最新视频在线观看| 一个人免费观看www视频在线| 亚洲AV日韩综合一区| 亚洲欭美日韩颜射在线二| 无码精品一区二区三区免费视频 | 亚洲熟妇无码八V在线播放| 日韩免费电影在线观看| 四虎影视永久在线精品免费| 亚洲色图在线观看| 男女啪啪永久免费观看网站| 国产午夜精品理论片免费观看| 亚洲福利电影在线观看|