ClearTool是我用过的最强大的SCM软件,很复杂,很强大,尤其是像我们这样的分布式、并行开发模式下,他的功能凸显尤其突出。公司逐步在向SVN转移,我不知道是不是出于Cost的考虑,如果单纯基于这个原因,我个人认为是不值得的。我个人认为ClearTools强悍的地方体现在:
1、多个VOBS(代码仓库)并行开发支持。可以拆分可以合并。
2、支持项目管理模式,虽然我们没怎么用,但是貌似很强大。
3、支持浮动Label,这种Label和SVN的TAG有本质的区别,浮动啊。
4、支持视图选择,最复杂也是最实用的功能,源代码版本之间随意组合,实在是强大,口水中…
5、支持分支,嘿嘿,这个分支和SVN的分支部分类似,但是SVN毕竟有些肉脚。
6、支持合并,自动合并,嘿嘿。
7、支持Stage,这个功能类似于把中间版本(.o, .so, .class)文件放到一共公共的地方,但是,这个是SCM自动处理的。Stage也是有版本的,很好,很强大。
缺点是,实在太复杂了,所有的源代码都来源于视图,视图配置由规则组成,复杂的地方也在这个地方,今天,我所感叹的,也就是这个视图。
中国联通代码是在V4的分支上进行开发,我们目前已经release了V5.1,10月份我们开始针对中国联通的代码进行Merge,把联通分支上的特殊之处合并到当前版本V5.1SP中,开始的时候是源代码路径没有选择正确,选择了错误的分支;11月份重新选择分支,确定基线,沸沸扬扬的弄了一场,大家加紧开发,弄完了,上周开始回归测试,发现部分PB存在问题,结果一查:日本人,IDL的版本没选择正确,也就是说我们疯狂的针对标准的3GPP版本进行了调整,而联通使用的是联通私有的3GPP,汗。
所有的视图定义出自于一个老员工,所以我才有标题的感叹。
如今,以前几个月的工作全部白费,重新来Merge,就当是上了一堂C++课。
当前我们的源代码统计:
不折不扣的一个大项目,呵呵。这里面不包含TAO,JACORB和其他第三方软件的源代码。
仙佛茫茫两未成,只知独夜不平鸣。
风蓬飘尽悲歌气,泥絮沾来薄幸名。
十有九人堪白眼,百无一用是书生。
莫因诗卷愁成识,春鸟秋虫白作声。
清.黄仲则