Subversion 1.7即将正式发布,有哪些新特性值得关注?
openkk 13年前
<p>Subversion 1.7即将正式发布,关键的新特性将包括以下几点:</p> <p>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 协议,性能会有很大提升) </p> <ul> <li>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是最优选择)</li> </ul> <ul> <li> <p>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 – <a href="/misc/goto?guid=4958190481551266505">Introducing Subversion 1.7</a> – detailed below. (合并分支细节的改进)</p> </li> <li> <p>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. (新添加的有效工具)</p> </li> </ul> <p>更多内容,请见<a href="/misc/goto?guid=4958190482302388400">http://www.wandisco.com/news/press-releases/whats-new-subversion-17</a> , 现任subversion project的release manager, Wandisco公司的Hyrum wright还会在webniar上详细介绍。</p> <p><strong><br /> Subversion</strong>是一个版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上免费的版本控制服务多基于Subversion。<a name=".E5.84.AA.E6.96.BCCVS.E4.B9.8B.E8.99.95"></a></p> <h2>优于CVS之处</h2> <ul> <li>原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。</li> <li>重命名、复制、删除文件等动作都保存在版本历史记录当中。</li> <li>对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处)</li> <li>目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。</li> <li>分支的开销非常小。</li> <li>优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。</li> </ul> <h2>使用情况</h2> <p>虽然在 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 作为官方的原码管理系统。<br /> <br /> 项目地址:<a href="/misc/goto?guid=4958184358267976870" target="_blank">http://subversion.apache.org/</a></p>