【永恒的瞬間】
          ?Give me hapy ?

          1. 技術內幕

          • Subversion
            • 集中式版本控制的典型代表。CVS 的最佳替代者,是開源軟件安裝量最大的版本控制系統。是開源軟件自身生存和繼續發展的基礎軟件。
          • Bazaar
            • 與 Ubuntu 一起成長的分布式版本控制系統。實現賣主分支另外的方法,下一代個人版本控制系統。
          • SVK
            • 用SVK這一在 SVN 上實現的分布式管理系統,曾經作為 Subversion 分布部署的最佳選擇,今天已經顯得過時了。我們有更好的跨地域版本控制的方案。
          • Eclipse + Subclipse
            • 在最流行的集成開發工具上使用最流行的版本控制工具。
          • TortoiseSVN
            • 如果你使用 Windows 平臺的話。
          • 命令行
            • 解除 Windows 程序員對命令行的恐懼。

          2. 分布式還是集中式版本控制

          分布式版本控制系統已成爆發之勢,越來越多的開源軟件使用諸如 GNU arch, Bazaar, Mercurial, Git, SVK等分布式版本控制系統。 這一方面是開源軟件開發的本質(全部源碼公開,跨地域的開發團隊)決定的,另一方面是管理角度(服務器擴展性,基于信任鏈的代碼提交)。

          我們認為了解分布式版本控制系統,對于程序員是必要的,因為:

          • 從開源社區汲取營養的需要;
          • 對第三方只讀源碼庫維護的需要;
          • 下一代個人版本控制工具;

          我們認為“集中式”版本控制系統,仍然是商業企業軟件開發中的首選,因為是企業對授權和集中管理的需要。 即使有跨地域開發的需要,我們也可以通過鏡像、代理等方式實現 Subversion 的高效運行。

          比較項目

          分布式(bzr)

          集中式(svn)

          性能

          服務器擴展能力

          ★★★

          網絡帶寬占用

          ☆☆☆

          本地保存的完整版本歷史

          ★★★

          -

          安全

          歷史版本的安全驗證

          ★★★

          -

          數據安全(BCP)

          ★★★

          分支操作

          代碼合并(merge)能力

          ★★★

          ★★

          分支管理

          ★★★

          ★★★

          分支建立速度

          ★★★

          用戶界面

          使用平臺廣泛性

          ★★★

          ★★★

          命令行可用性

          ★★★

          ★★★

          Windows圖形界面

          ★★★

          權限管理

          統一的用戶帳號

          -

          ★★★

          針對目錄的 Checkout

          -

          ★★★

          目錄授權

          -

          ★★★

          分支授權

          ★★★

          其他

          遠程版本庫復制

          ★★★

          ★★★

          離線提交

          ★★★

          -

          3. SVN 和 CVS 的對照

          我們選擇 Subversion(SVN) 作為企業版本控制工具的首選,而不是 CVS。不是因為我們使用 Subversion 時間更久,也不是因為我們對 Subversion 更有感情。恰恰相反,CVS 很早就已經滲透到我們的血液中。關于 CVS 可以參考我們這個文檔: 《CVS 版本控制》

          多年的使用 CVS 的開發經驗,我們深感 CVS 在使用和管理上的不足。下面是 SVN 和 CVS 的對照。

          比較項目

          CVS

          SVN

          權限控制

          是否依賴系統帳號

          依賴

          不依賴

          可否對分支授權

          是否支持LDAP認證

          圖形化帳號管理

          是(集中管理平臺)

          用戶可否獲取忘記口令,修改口令

          是(集中管理平臺)

          目錄,文件名變更

          分支管理

          創建分支時間

          耗時*

          分支可見、查詢

          二進制文件

          二進制優化

          二進制文件標識

          手工

          自動

          二進制文件(圖形文件)被破壞

          易破壞

          不易破壞

          事物處理

          量子提交

          修改提交說明

          單個文件

          換行符

          可否指定換行符類型

          檢查換行符設定,避免跨平臺開發帶來的混亂

          功能擴展

          CVSROOT

          hooks 腳本

          網絡帶寬

          網絡帶寬占用

          脫機命令

          部分

          4. SVN 和 商業版本控制系統的對照

          那么商業的版本控制工具如何呢?我們要大聲告訴你,不要!不要把您的核心資產——“代碼”讓他人綁架!

          比較項目

          某商業軟件

          SVN

          服務器端存儲

          是否依賴數據庫(額外的管理負擔)

          依賴

          不依賴

          數據存儲格式是否開放

          是否可以將版本庫導出?以便重建、導入其他項目、分發給第三方或者配置管理軟件切換。

          是否可以對服務器端存儲進行整理

          是否可以徹底刪除配置項

          是*

          可否通過插件進行功能擴展?

          命令行

          命令行功能是否完備?以便實現工作自動化

          是否可以集成到自動編譯(nightly build)系統?

          文件狀態保持

          客戶端本地是否有配置文件以保持狀態?

          是否依靠服務器端進行狀態保持?

          客戶端是否可以脫機運行?

          工具整合

          是否可以和資源管理器整合?

          是否有 Eclipse 插件?

          成本

          軟件本身成本

          培訓成本

          5. 群英匯:功能擴展

          • 與“開源速遞·集中管理”平臺整合;

          • Hooks 插件擴展;
          • 改進的二進制文件和文件換行符屬性沖突檢查;
          • Subversion 管理員命令行;
          • 其他 bugfix ...

          6. 為什么選擇群英匯

          7. 相關文檔

          posted on 2008-05-29 11:27 ???MengChuChen 閱讀(511) 評論(0)  編輯  收藏 所屬分類: VSS

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 洛扎县| 彭泽县| 宁明县| 永丰县| 乳山市| 芒康县| 阜平县| 桂东县| 巴林右旗| 清水县| 利辛县| 万盛区| 哈密市| 龙州县| 治县。| 长宁县| 会泽县| 和政县| 阿合奇县| 休宁县| 平阴县| 蒙城县| 东城区| 和政县| 盐亭县| 遂宁市| 扎鲁特旗| 西充县| 玉田县| 双桥区| 大宁县| 名山县| 隆林| 蕉岭县| 涿州市| 宝丰县| 宜宾市| 定西市| 濉溪县| 邵阳市| 平昌县|