CC和SVN不得不说的区别——ClearCase札记3

原创 2007年09月25日 18:23:00

SVN已经用了1年多了,CC也终于搞懂了一些,自然而然的有了这样一些文字。

CC:开发人员看到的CC上的文件没有checkout之前是只读的,能拷贝到本地一份(我们称之为“本地拷贝”),去掉只读属性后就可以修改了。如果想合入CC,只有先 checkout 一下(只能算是打个标记),才能修改,然后 checkin(也只能算是把先前的标记去掉了)。

SVN:也是先checkout出来(并不在服务器上打标签,所以别人也不知道有谁checkout过什么文件,而是真实的在本地下载了一份,我们称之为“本地工作拷贝”,多了工作两个字,多了很多微妙的含义),然后在本地修改,SVN会在本地记录你所作的修改,然后commit的时候帮你找到哪些都被修改了。用commit而没有用checkin,也是很微妙的,因为checkin在CC和其他很多SCM软件中只是“去掉checkout标记”而已,表示我已经改完了,别人可以修改了。而commit是真实的将文件提交到服务器上,并处理“冲突”、“并发”、“断链”、“原子性提交”……等问题,这些在CC中有些可以靠手工完成,有些是没有办法完成的。——CC的checkin面对SVN的commit真的应该感到很自卑的!

“你的缺点就是我的优点”SVN自豪地说道。

总结一下CC的缺点是什么呢?
1)“本地拷贝”而没有SVN中“本地工作拷贝”的模式:导致本地修改无法记录,合入服务器的时候需要手工对比,极其耗费时间和精力。
2)先前拷贝出的“本地拷贝”经过你的修改、调试、验证……一段时间后需要checkin的时候,服务器上版本可能已经不是最新的了,可能已经被别人修改过了,CC中没有更新的概念和操作,所以你不知道服务器上哪些被别人更新过了,当你checkin的时候,非常容易产生“覆盖别人劳动成果”的情况。——这通常是很致命的:自己拷贝了一份到本地但没有checkout,修改了一个礼拜,但别人在这一个礼拜中checkout了这个文件,修改并checkin了,当你一周后带着胜利的喜悦checkout并合入代码,然后checkin的时候,你却不知道已经犯下了重大的错误,别人的修改被你覆盖而丢失了。——SVN加入了“更新Updata”操作,完美并方便解决这个问题。
3)CC的提交修改——对应着SVN的commit,CC的checkin在SVN中没有对应。所以CC中人工的提交修改——SVN中自动的commit 是没有办法同日而语的,SVN的commit只需要点几下鼠标,几秒中解决的事情,CC的提交、合入修改需要数个小时(不要惊讶,真的是hours)才能解决。

可能你不相信:CC比SVN在SCM软件配置理念、和操作方式等方面落后了SVN一代(5-10年)!

你可能马上就会追问,为什么公司不用SVN,而用CC。——这个问题很难回答,但也很好回答,我问你三个问题,你从你自己的回答中就能找到答案
1。AccuRev 是去年获得计算机界诺贝尔大奖的SCM软件,你听说过么?
2。CC是IBM的产品,公司花巨资买来的,SVN是一个开源软件,你不需要花一分钱,你相信哪个?
3。IBM的服务电话800***,SVN却只有几个开发人员的邮箱,你敢用么?

CC Fans 看到这里笑了,呵呵,说来说去还是CC强!——我只能哑然而笑……

最后严正声明:这并不是对CC的一篇檄文,恰恰相反,今天写这些文字的时候正式我开始喜欢CC的时候,我只是有这样一个“总想理下思路”的坏毛病而已。 

VSS、CVS、SVN和ClearCase等配置工具的评估和比较

VSS、CVS、SVN和ClearCase等配置工具的评估和比较 VSS、CVS、SVN和ClearCase等软件测试配置工具的评估和比较1概述 Visual SourceSa...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

从ClearCase到TortoiseSVN

从ClearCase到TortoiseSVN习惯了使用ClearCase之后,原本以为转换到SVN会有很大的不方便。没想到TortoiseSVN带给我的却是比ClearCase更灵活的功能。感觉SVN...
  • beejoy
  • beejoy
  • 2008年07月18日 15:30
  • 4333

clearcase、Git之我见

软件配置管理一直以来是软件工程的基础。而配置管理本身对于开发者及软件工程生命周期管理来说,不但具备其基本的 版本控制功能,还需要具备工作空间管理、构建管理、流程管理等。其中各家的实现均有特点。而以Cl...
  • jaminwm
  • jaminwm
  • 2012年02月07日 17:48
  • 10783

clearcase 常用命令参考

Configure user aliases: File: $HOME/.bashrc alias ct=/usr/atria/bin/cleartool alias ...

ClearCase 基本操作介绍

1.      新增视图(View) 1.Path: a 。Start >Program files>  Rational >ClearCase > ClearCase  Explorer>To...

常用ClearCase命令 <持续更新>

1.最基本的操作 cleartool co -nc xxx.cpp 检出文件xxx.cpp cleartool ci -nc xxx.cpp 检入文件 xxx.cpp //checkin当前目录...
  • ace_fei
  • ace_fei
  • 2011年03月21日 12:38
  • 10325

[转]各种配置管理工具的比较

CC: 价高,狂大,安全性不好,功能不错,管理复杂CVS:免费,功能不全VSS:不安全,功能太少JBCM:低价,功能很弱,性能不好,管理、使用简单Firefly:价稍高,功能不错,安全性好,管理方便,...

Jmeter连接SqlServer数据库进行压力测试

Jmeter连接SqlServer数据库进行压力测试 前提准备:先安装jdbc驱动 驱动下载链接地址:http://pan.baidu.com/s/1bpDpjSr 密码:v6tn     下...

Java学习札记3:Comparator和Comparable的区别

当需要排序的集合或数组不是单纯的数字类型的时候,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。 Comparator和Comparable的区...
  • L_YQing
  • L_YQing
  • 2012年07月18日 16:13
  • 649
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CC和SVN不得不说的区别——ClearCase札记3
举报原因:
原因补充:

(最多只允许输入30个字)