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的时候,我只是有这样一个“总想理下思路”的坏毛病而已。
分享到:
相关推荐
常见的版本控制工具包括ClearCase、SVN(Subversion)和GIT。每种工具都有其特点和优势,本文将对这三种工具进行比较,帮助开发者和管理员更好地选择和使用这些工具。 多站点支持 ClearCase支持多站点复制和同步,...
本文将深入探讨四种常见的版本控制系统:Visual SourceSafe(VSS)、Concurrent Versions System(CVS)、Subversion(SVN)和Rational ClearCase。我们将分析它们的主要特性、优缺点,以及适用场景。 **Visual ...
本文将详细讲解如何在Eclipse集成开发环境中使用四种常见的代码管理工具:Subversion (SVN),ClearCase (CC),Git,以及Visual SourceSafe (VSS)。这些工具各有特点,适应不同的开发需求。 1. Subversion (SVN) SVN...
4. 创建分支和标签:ClearCase支持分支和标签管理,允许开发团队并行开发和维护不同版本。`cleartool mkbranch`用于创建分支,`cleartool mklbtype`用于创建标签,以便标记特定版本。 5. 查看历史和差异:`...
本文将基于标题“在Eclipse下使用SVN-CC-GIT-VSS-CVS代码管理工具说明书”,以及其描述和部分内容,深入探讨几种主流代码管理工具——Subversion (SVN),ClearCase,Concurrent Versions System (CVS),Git,和...
《Clearcase中文配置使用说明》 ClearCase是IBM推出的一款强大的版本控制系统,广泛应用于软件配置管理领域。本文将深入解析ClearCase的配置与使用,帮助读者掌握这一专业工具的精髓。 一、Clearcase基础概念 1. ...
总的来说,ClearCase 2013的Eclipse插件是版本控制与开发环境融合的典范,它使得开发者可以在不离开Eclipse的情况下充分利用ClearCase的强大功能,提高了开发的便捷性和效率。通过深入了解和熟练掌握这个插件,...
及其详细的IBM rational clearcase 入门级操作大全
本专题资料详细评估了四种常见的配置管理工具:Visual SourceSafe (VSS)、Concurrent Versions System (CVS)、Subversion (SVN) 和 IBM Rational ClearCase。这四种工具各有其特点和适用场景,通过对比分析,可以...
《ClearCase for Eclipse 插件详解》 在软件开发领域,版本控制系统对于团队协作和...通过熟练掌握这个插件,开发者可以在不脱离熟悉的开发环境的前提下,充分利用 ClearCase 的优势,实现高质量的软件开发和管理。
本篇文章将深入探讨ClearCase的核心——命令行工具cleartool及其多工具(multitool)的部分命令,旨在帮助用户更有效地掌握和运用这个系统。 一、cleartool概述 `cleartool`是ClearCase的主要命令行工具,通过它,...
3. `cc_admin.pdf`:这份文档专注于ClearCase的管理指南,内容可能涉及如何设置和管理Vob(版本库)、创建视图、配置权限以及解决系统问题等,是系统管理员的核心教程。 4. `cc_proj.pdf`:项目管理手册,可能会...
与常见的版本控制系统如SVN不同,Clearcase提供了更为复杂的特性,例如动态视图、静态视图以及多级分支等,这使得它非常适合大型项目和复杂的工作流管理。本文档旨在详细介绍Clearcase服务器端和客户端的安装过程及...
本文将详细介绍五种常用的代码管理工具:SVN (Subversion)、CVS (Concurrent Versions System)、CC (ClearCase)、VSS (Visual SourceSafe) 和 GIT,以及如何在 Eclipse 中集成这些工具进行日常开发工作。 ### 1. ...
- 培训材料通常覆盖基本概念,如静态视图和动态视图的区别,以及如何使用Checkin、Checkout、Merge等核心命令。 7. **软件配置管理资料**: - 该文档可能涵盖SCM的基本原则和最佳实践,包括版本控制、基线管理、...
配置管理是软件开发中不可或缺的一环,它确保了代码的统一性和可追溯性。ClearCase,作为Rational公司的主要配置管理工具,因其强大的功能和广泛的应用而备受推崇。本文将深入探讨ClearCase的概念、工作流程、日常...
VSS、CVS、SVN和ClearCase几种配置管理工具的评估和比较.doc
git-cc, Git和Clearcase的桥接 cc基本的ClearCase或者UCM与Git之间的桥梁。警告警告我写这个纯粹是为了有趣,看看能否在工作中停止使用 ClearCase 。我可以能会继续在 hack 上找到我的需求,但是我很愿意看到一些...