ClearCase四大功能详述(版本控制)[2]
作者:不详 来源:不详
ClearCase支持两种检出,保留以及非保留。保留检出可以保证版本历史形成的正确范围,并且同时只允许一个人做保留检出的操作。非保留检出无须保证建立一个成功的版本,如果多个用户同时对同一元素执行非保留检出,也企图进行检入操作,那么第一个检入操作被允许,而其他用户必须通过归并操作合并它们的结果。
丰富的注释信息和版本数据的报表
ClearCase存储了和文件系统对象相关又截然不同的信息类。这些信息实际上并不包含在对象中,它是一些额外数据。这些数据可以由ClearCase产生,也可以由用户自己定义。在VOB数据库中存储了所有的数据。
ClearCase产生的这种数据信息提供了可靠的、面向文件系统的版本注释信息。比如:这些数据可以验证在某一时刻,元素A建立了一个新的版本。用户定义的数据可以用来表达额外的功能──比如:该文件的版本曾被用于构造应用系统的4.31版。
ClearCase的操作(如:检出、检入、和版本归并)可以建立时间记录,记录数据包含这些操作信息。这些记录被存储在VOB数据库中,主要描述了该操作的属性"谁做的、做什么、什么时候、在哪个地方及为什么",比如:敲入命令的人员的ID号,操作的种类,操作的时间,主机名称及用户填入的描述。可以通过"lshistory"的命令显示存储在VOB中的事件记录,并且可以通过历史信息浏览器提供的图形接口观察VOB中的事件记录。
用户可以针对多种目的定义数据,包含分支的名称、版本标签、元素任一版本的注释信息。
ClearCase数据的另一种应用是形成注释的文本文件。注释命令可以通过行显示的形式列出任何一个版本文本文件的内容,这使得我们可以更容易的看到什么时候在不同的地方做了添加或删除的操作。
ClearCase也可以针对文件系统对象建立客户报表。而报表的种类可以由用户自己定制输出格式。
通过分支功能支持并行开发
ClearCase支持并行(同时)开发,每一个元素都可以沿着不同的分枝同时发展,即新的版本加到独立的分支上。ClearCase可以很容易的产生分支,也可以很容易的将不同分支进行合并。这样一来,即便某一部分的工作被冻结或加锁,开发者仍然可以继续自己的工作(如:在软件集成期)。在这种情况,开发者可以在分支上工作,我们知道, ClearCase的自动化操作和图形归并工具可以让我们很容易的重新集成新的工作。
并行开发是非常重要的,因为:
(1)它允许不同的项目在同一时间使用同一资源树。
(2)它将目前不可和其他人员共享的修改成果进行隔离。
(3)它将绝对不可和其他人员共享的修改成果进行隔离(如:已发布版本中的错误修复)。
(4)它使得在软件集成期间开发工作无需停止,程序员可以先在分枝上开发,以后再集成。
为了支持并行开发,ClearCase允许进行分支建立,追踪分支的使用,文件比较,自动归并功能。
自动的比较和版本间的归并
并行开发的特点是对同一元素的不同版本进行定期比较,也需要对版本间内容进行归并。在ClearCase中,对于元素或文本文件进行比较和归并的操作有两种:基于字符型和图形界面型。其中,diff命令执行多文件比较,不执行归并。而归并命令可以处理32个"成员",并把它们生成一个独立的文件。 ClearCase可以自动辨认归并选项并实现归并。ClearCase也可以对需要归并的项目元素进行定位。如果所有的"成员"(归并元素)是同一元素的版本,系统会自动确定基础"成员",通常是最低版本。此外,ClearCase会记录基础版本和某一归并元素版本间的差异。如果,所有的"成员"间差异互不相同,ClearCase会自动建立归并版本。如果两个或多个归并"成员"文件内容部分不同,归并功能会提示开发者选择归并内容。ClearCase也可以实现反向归并――从主分支向子分支归并。
ClearCase的加归并功能可以在归并其它分支时选择指定的版本(那些在分支上自始至终进行变化的版本)。负归并操作可以删除部分版本差异,从而形成一个新的版本,该版本除了那些被删除的变更外包含所有的改变。