最近这段时间一直在hack moto ROKR E2,前前后后修改了不少代码,放在硬盘上七零八落的,所以就想找个版本管理工具组织一下。我首先想到了CVS,在SLES9上配置好CVS以后,把kernel,qt,busybox等一股脑儿的都import到repository,一切和预先想象的一般顺利。
接下来我把kernel的source code给check out出来,满怀信心的开始重新编译,却发现怎么也编译不成功,一大堆奇怪的error和warnings。检查了老半天,最后发现居然所有的symbol links都不见了。。。我的天呀,其中有好多都是我费了老大力气才一个一个建起来的。于是google了一把cvs,发现cvs居然是会ignore掉所有的symbol links的。
早就听说过subversion设计的初衷就是要在开源世界替代cvs的,猜想它不应该会有这样的问题吧,也是时候该替换替换cvs了。google了一些subversion的资料,很快就把subversion给安好了,首先就试了一下subversion对symbol links的支持,果然和我的猜想一致。
几个小时的使用,对subversion的感觉大致如下:
1. 更加flexible和powerful的architecture,存储层支持BDB和FSFS,比起cvs简单的文件要先进多了;传输层支持local,http,ssh,svn,对http的支持使得它灵活许多;丰富的前端软件。
2. 支持更先进的基于branches的协同开发模式。
3. 更合理的利用存储空间,特别是对于binaray file,老土的cvs不支持diff,只能加一个版本就多一个拷贝。
4. 基本命令和cvs类似,使得老的cvs用户可以很容易就上手。
下面是一些subversion的治疗:
● 使用Subversion进行版本控制 ()
● Subversion客户端
-----------------
- SmartSVN
一个用java写的多平台svn图形界面客户端,具备免费版和付费专业版
- TortoiseSVN
windows系统下的著名的svn客户端,开源软件
- RapidSVN
一个用C++写的多平台svn图形界面客户端,开源软件
- Subclipse
一个将svn集成入Eclipse 的插件,开源软件
Subversion辅助工具
------------------
- ViewVC
一个可以让你通过web进行代码库文件浏览的工具,支持代码语法高亮、版本图、人性化文件对比
阅读(1380) | 评论(2) | 转发(0) |