Subversion 1.7即將正式發布,有哪些新特性值得關注?
Subversion 1.7即將正式發布,關鍵的新特性將包括以下幾點:
HTTPv2 - a protocol rewrite designed to enhance performance between Subversion clients and the server by reducing the number of round trips between the client and the server with every request. Early reviews indicate that performance improves significantly, particularly over high latency networks as a result of reducing the chattiness of this most widely used Subversion protocol. (異步多路復用的客戶端 HTTP 庫 serf 將取代 neon, 提速可能達到4倍,新的HTTPv2 協議,性能會有很大提升)
- WC-NG – a rewrite of the working copy library that enhances performance by centralizing metadata storage so that Subversion operations don’t have to walk the entire directory tree to gather the information about the working copy and apply changes to it. WC-NG also provides a foundation for supporting features such as shelving and offline commits in future releases. (這是1.7的主要亮點,WC-NG 是離線提交和其它DVCS 特性的基礎工作, 在未來的2.0 版本中, 這一功能的優勢會被放大,逐漸囊括git這些DVCS的優點,所以對于企業用戶來講,堅持Subversion是最優選擇)
-
Merge-tracking enhancements – Subversion 1.7 provides over 40 improvements to merge tracking, on top of the improvements that were added in the 1.5.x and 1.6.x series of releases. One of the most significant enhancements has been isolation of subtree mergeinfo updates to only the subtrees affected by a merge, rather than updating all subtree merge info. WANdisco will be sponsoring a number of additional enhancements to Subversion 1.7’s branching and merging capabilities, including the introduction of the “newmerge” command to be presented on September 28, during the free webinar – Introducing Subversion 1.7 – detailed below. (合并分支細節的改進)
-
svnrdump - a new client tool that provides the same functionality as svnadmin dump and svnadmin load, but on remote repositories. There’s no need for administrator access to the source or target repository on the remote server. (新添加的有效工具)
更多內容,請見http://www.wandisco.com/news/press-releases/whats-new-subversion-17 , 現任subversion project的release manager, Wandisco公司的Hyrum wright還會在webniar上詳細介紹。
Subversion是一個版本控制系統,相對于的RCS、CVS,采用了分支管理系統,它的設計目標就是取代CVS。互聯網上免費的版本控制服務多基于Subversion。
優于CVS之處
- 原子提交。一次提交不管是單個還是多個文件,都是作為一個整體提交的。在這當中發生的意外例如傳輸中斷,不會引起數據庫的不完整和數據損壞。
- 重命名、復制、刪除文件等動作都保存在版本歷史記錄當中。
- 對于二進制文件,使用了節省空間的保存方法。(簡單的理解,就是只保存和上一版本不同之處)
- 目錄也有版本歷史。整個目錄樹可以被移動或者復制,操作很簡單,而且能夠保留全部版本記錄。
- 分支的開銷非常小。
- 優化過的數據庫訪問,使得一些操作不必訪問數據庫就可以做到。這樣減少了很多不必要的和數據庫主機之間的網絡流量。
使用情況
雖然在 2006年 時 Subversion 的使用族群仍然遠少于傳統的 CVS,但已經有許多開放原碼團體決定將 CVS 轉換為 Subversion。已經轉換使用 Subversion 的包括了 FreeBSD、Apache Software Foundation、KDE、GNOME、GCC、Python、Samba、Mono 以及許多團體。有許多的團隊換用 Subversion 是因為 Trac 所提供的專案管理環境。除此之外,一些自由軟件開發的協作網如SourceForge除了提供 CVS 外,現在也提供專案開發者使用 Subversion 作為原碼管理系統, JavaForge、Google Code以及 BountySource 則以 Subversion 作為官方的原碼管理系統。
項目地址:http://subversion.apache.org/