随着时间的发展Subversion已经更新了多个版本,最近Subversion1.6已经发布。Subversion1.6发布说明官方位置为:
本文根据原文r36726,由Subversion中文站的中文化翻译小组翻译,欢迎各位参与翻译工作,加入地址:http://code.google.com/p/svncndoc/,参与翻译的志愿者包括rocksun。
我们看一下Subversion1.6有哪些新的特性:
Subversion1.6的新东西
改进的认证数据处理
版本库根的相对URL
svn:externals的改进
目录树冲突的检测
文件系统存储改进
CtypesPython绑定
改进的交互式冲突解决
稀疏目录的排除选项
svnserve的日志支持
察看历史的新HTTPURI语法
命令行客户端改进
API变更、改进以及多种语言绑定
超过65项新的bug修正和提升
Subversion1.6是所有以前Subversion版本的超集,可以认为是当前***的版本。任何1.0.x到1.5.x的bug修正和特性,都存在于1.6中。新的特性最终会纪录在Subversion图书中(svnbook.red-bean.com)。
本文描述了主要的变更,完整的列表可以看CHANGES的1.6部分。
兼容性情况
以前的客户端和服务器可以直接与1.6的服务器和客户端交互,然而,如果服务器和客户端不全是1.6时,一些新的1.6特性将会不可用。而另外一些特性,在服务器是旧的,客户端是新的时,可以运行但是效率比较低。没有必要转储并重新加载版本库,subversion1.6可以读取以前创建的版本,升级只需用***的库和二进制程序覆盖原来的程序。
Subversion会维护与先前版本API/ABI的兼容,只会增加新的特性,而不会删除旧的特性。根据1.0,1.1,1.2,1.3,1.4或1.5的API编写的程序,可以使用1.6的库编译,为1.6编写的程序不一定能为旧库编译或运行。
新特性的兼容性表格
新特性MinimumClient1MinimumServerMinimumRepository说明
FSFSPackingany1.61.6
TreeConflicts1.61.6any可以用1.6以前的服务器,但是某些类的冲突将不能检测到。
1提醒:在使用file://访问方法时,Subversion程序同时是客户端和服务器。
工作拷贝和版本库文件系统格式变更,工作拷贝格式已经升级,这意味着1.5和更老的Subversion客户端不能在Subversion1.6的工作拷贝上工作,工作拷贝是自动升级的。类似的,版本库文件系统格式也已经改变,意味着那些直接访问库的1.5以及旧的版本的工具如svnserve,mod_dav_svn,svnadmin等不能读取Subversion1.6的版本库,但是版本库不是自动升级的。
工作拷贝升级
警告:如果一个Subversion1.6客户端遇到了一个1.6以前的工作拷贝,它会在接触到工作拷贝时自动升级工作拷贝格式,并使旧的Subversion客户端不能再读这些工作拷贝了。如果你在机器上使用多个版本的Subversion,请确认你对工作拷贝使用的subversion版本,防止意外升级工作拷贝。(但是这种“自动升级”行为不会发生在版本库上,只发生在工作拷贝。)
如果你意外的将工作拷贝从1.5升级到1.6,并希望降级到1.5,可以使用change-svn-wc-format.py,详情看这篇FAQ文章,也可以加--help运行来查看使用指导。
【编辑推荐】