subversion 1.5新特性

svn推出后很多cvs用户都没有选择升级,使用习惯是一大原因,1.4版本推出来后慢慢改变了这个局面,而1.5版本发布后则彻底改变了这个局面,Subversion 1.5是以前Subversion发布版本的超集,可以认为是svn 1.6之前"最好的"版本。包含所有1.0.x到1.4.x的,以及以前版本没有的修正和特性。

Merge Tracking [foundational] (issue #820)
这个版本大功能
merge tracking的功能是记录merge的历史,即记录从哪里merge到什么地方,merge了哪些版本,这些信息记录在properties中的svn:mergeinfo中,可以通过merge到的branch中右键通过show properties来查看,如图,可以看出merge的来源是trunk,版本是8-10和12



在show log的过程中有一个includ merged revisions的多选框,选择它之后可以看到merge来源的修改记录也会显示出来,这些修改记录会被灰色显示,如图,版本8-10,12是灰色的。


merge过的版本号将在tortoiseSVN merge的选择中变成灰色,表示这些版本已经merge过了,不要去重复merge,如下:


checkout支持 --depth操作 Sparse checkouts (see new '--depth' option) (issue #695)
即可以支持自定层次的checkout,这是很实用的功能.
在tortoiseSVN中checkout时使用了checkout depth功能,它会记录这个depth到所有的子目录下面,需要改变这个depth值通过update to revision中的下拉框进行修改。
命令行的修改方式是svn up --set-depth=infinity
Interactive conflict resolution (r25670 et al)
svn:externals handles relative URLs (issue #1336) and peg URLs
Changelist support
changelist功能一个客户端的功能,通过文件名来将修改归类做一个集合,如a.java和b.java都是为了实现用户管理功能,我们可以建立一个changelist叫做"用户管理",之后每次commit时客户端会自动根据将文件列表在changelist中。
新建一个changelist的方法是在commit窗口或者check for midifications窗口中选中一个修改过的文件-右键选择move to changelist-选择new changelist
changelist完全是客户端的功能,不会传到版本库中,也无法和别人共享,这只是一个方便使用的功能,我认为用处也有限

你可能感兴趣的:(SVN,UP,subversion,cvs)