clearcase1的内容

ClearCase在真实项目开发中如何使用啦?下面给大家一个大概的流程图:

clearcase1的内容_第1张图片




概念:

公司采用的代码管理工具是ClearCase,在使用过程中,经历了从最初的比较迷惑到基本熟悉的过程。说实话并不是怎么易用。里面的概念也比较难于理解。这里我就介绍一下ClearCase的一些基本概念,这些都是使用ClearCase所必需知道的:

1. VOB--Versioned Object Base, ClearCase将所有管理的文件的各种版本都存储在这个VOB中,VOB可以看作是整个ClearCase SCM(软件配置管理)系统的中心数据库

2. View--View分为SnapShot View和Dynamic View,Snapshot view是clearcase在服务器上存储的文件和目录的一个本地镜像,用户可以在本地进行修改,然后进行同步,要经常Update View保持最新的版本,Dynamic View是动态试图,他并不在本地存储任何文件,始终和服务器保持一致。

3. Reserved checkout vs unreserved checkout -- 一个文件可以被多个用户的多个view来unreserved checkout,但是同时只能有一个用户reserved checkout。当一个用户reserved checkout的时候,其他unreserved checkout的文件,不能checkin,只能等reserved checkout的文件被checkin之后才能够checkin。

4. hijacked文件--当用户创建Snapshot View的时候,本地的文件属性都是只读的,如果用户没有check out的情况下就对文件进行了修改,这个文件就为hijacked文件,此时这个文件已经脱离的ClearCase的控制,所以最好不要Hijacked 文件。

5. mastership--很多情况下,ClearCase都被部署为MultiSite的形式,特别是跨地域开发的时候,每个地方的开发人员都在本地的一个VOB副本上工作,叫做replica, ClearCase负责同步这些不同的VOB。为了避免冲突,ClearCase提供了一个排他修改的属性,叫做mastership。所有的VOB对象都有一个master replica。master replica 对这个对象有排他的修改操作权限,因此对于一个VOB对象只有master replica才能对他进行修改或删除。所以在你把新的文件或目录Add to source control的时候,最好要选择 “Make current replica the master of all newly created branches”。

6. merge文件--当一个用户check out一个文件进行了修改,在check in的时候如果clearcase发现这个文件和最新的版本有冲突的时候(可能是其他用户也对该文件进行了修改并已经check in),会提示要merge文件,这时候就可能需要手工的merge了。


ClearCase配置管理

  随着软件团队人员的增加,软件版本不断变化,时间的紧缺,多种平台的复杂环境,使得 ClearCase所拥有的特殊组件已成为当今软件开发人员(工程人员和管理者)所必须的工具。分布式操作使得基于Client/Server的运算结构跨越于网上客户机和服务器,ClearCase的先进功能直接解决了原来开发团队所面临的难以处理的问题。

  软件开发所面临的问题包括:对当前多种产品的开发和维护,保证产品版本的精确,重建先前发布的产品,加强开发政策的统一和对特殊版本需求的处理。通过解决这些问题,ClearCase用资源重用的方法帮助开发团队使他们所有的软件建立得更加可靠。 Rational公司的ClearCase是软件配置领域的先导,它主要基于Windows和UNIX的开发环境。它提供了全面的配置管理──包括版本控制、工作空间管理、建立管理和过程控制,而且无须软件开发者改变他们现有的环境、工具和工作方式。
 
ClearCase的四种功能

  ClearCase主要应用于复杂的产品发放、分布式团队合作、并行的开发和维护任务,包括支持当今流行软件开发环境Client/Server网络结构。在激烈的市场竞争中,ClearCase的特点直接响应了软件团队的需求,如:软件生产、发布、维护等。

  ClearCase在某些方式上和其它的软件配置管理系统有所不同,从本质上,ClearCase是无可比拟的,因为它包含了一套完整的软件配置管理工具而且结构透明、界面可亲。虽然ClearCase是一个可集成使用的环境,但实际上我们仍可以把ClearCase的所有特性划分为四个具体功能范畴。

Version Control

  ClearCase自动追踪每一个文件和目录的变更情况,通过分支和归并功能支持并行开发。在软件开发环境中,ClearCase可以对每一种对象类型(包括源代码、二进制文件、目录内容、可执行文件、文档、测试包、编译器、库文件等)实现版本控制。因而,ClearCase提供的能力远远超出资源控制,并且可以帮助团队,在开发软件时为他们所处理的每一种信息类型建立一个安全可靠的版本历史记录。

Workspace Management

  ClearCase给每一位开发者提供了一致性、灵活性和工作空间域(有时也称为"Sandboxes")可重用的功能。ClearCase采用一种称为View的创新技术,它可以选择所指定任务的每一个文件或目录的适当版本,并呈现它们。View可以让开发者在资源代码共享和私有代码独立的不断变更中达到平衡,从而使他们工作更有效。

Build Management

  ClearCase自动产生软件系统构造文档信息清单,而且可以完全、可靠的重建任何构造环境。ClearCase也可以通过共享二进制文件和并发执行多个建立脚本的方式支持有效的软件构造。

Process Control

  ClearCase有一个灵活、强大的功能,可以明确项目设计的流程。自动的常规日志可以监控软件被谁修改、修改了什么内容以及执行政策,如:可以通过对全体人员的不同授权来阻止某些修改的发生,无论任何时刻某一事件发生应立刻通知团队成员,对开发的进程建立一个永久记录并不断维护它。

优势 
    
  ClearCase帮助所有规模的开发组织进行更加有效的开发和维护、加强竞争力、增加收益、降低成本。独特的ClearCase带来的特殊利益:   增加团队效率――通过对并行开发的支持来实现,包括图形比较和归并、标签、版本目录 结构。

  增加个人效率 ――通过自动的工作空间管理来实现,如:直接的版本访问、消除了在拷贝文件上的时间的浪费。

  简单的维护和提高对客户的支持――通过快速准确的重建先前的版本来实现。

  快速准确的产品发布 ――通过保证构造的准确性和对软件的每一个元件进行版本控制来实现。

  减少错误发生 ――通过事件发生以后对每一个元件的变更进行追踪来实现。

  硬件资源的优化 ――通过分布式构造、减少文件拷贝、可用对象的共享等功能来实现。

  提高项目协调和编制 ――通过文件注释和开发周期阶段变更的自动关联来实现。

  提高产品质量 ――通过灵活的进程控制,和图形接口定制,使得软件开发在实际中保持 一致。

  更加有效的团队扩展――通过减少系统管理和维护的负担来实现。

  支持分布式结构使得团队成长――通过Client/Server结构进行多点复制和及时的对象版本的更新来实现。

  使用配置管理工具而降低风险――由于它不干扰软件程序员的工作,所以可以使用常用的工具和文件系统接口。

  增加了软件的安全性和保护性 ――通过使用分布式的存储结构,所有的软件资源会随时更新、在硬盘或网络出现错误时那些被ClearCase存储的版本信息会立刻恢复。

  减少培训和实现成本 ――ClearCase通过采用透明结构以及和标准开发工具进行集成来实现。

  强有力的开发和维护 ――通过和其它工具(如:缺陷追踪)、系统、结构进行集成。

  支持不同种类的开发 ――通过兼容不同平台的软件配置管理系统,如:Windows NT、UNIX、和一些Client端的软件,如:Windows 95、Windows NT、Windows 3.1和Windows for Workgroups。

连接UNIX 和Windows的桥梁 
  ClearCase全面支持软件配置管理,给那些经常跨越复杂环境(如:UNIX、Windows系统)进行复杂项目开发的团队带来巨大的效益。当UNIX和Windows的软件工程人员提出了平台的特性后,ClearCase for UNIX和ClearCase for Windows有高度互用性。

  对于它所支持的平台,ClearCase通过TCP/IP来连接客户端和服务器。另外,ClearCase拥有的浮动License可以跨越UNIX和Windows NT平台被共享。ClearCase for Windows NT对ClearCase UNIX VOBs的访问与浏览可以通过一个NFS for Windows NT的产品来实现。


ClearCase的核心功能是版本控制,它是对在软件开发进程中一个文件或一个目录发展过程进行追踪的手段。ClearCase对所有文件系统对象(包括文件、目录和链接)增强了版本控制系统功能。可定版本的文件包括源代码、可执行文件、位图文件、需求文档、设计说明、测试计划、和一些ASCII和非ASCII文件。目录的版本记录了整个组织基础资源的发展状况,包括源文件的建立、重新命名、重新构造和删除操作等。 这种版本控制系统提供了先进的版本分支和归并功能用于支持并行开发。

控制任何文件的版本

  ClearCase可以对每一个软件组件或元件的版本进行维护和控制。ClearCase也可以维护一个非文本文件、目录和工具的版本。正如:它可以管理库文件、编译器、需求文档、 测试包和数据库而不仅仅是源代码。
  ClearCase的元件类型可以管理版本内容。用户可以定义自己的元件类型,也可以使用ClearCase中的预定义类型:文本文件、压缩文本文件、文件、压缩文件和二进制增量文件。

  ClearCase可以利用增量算法将文本文件存储在一个特殊结构的文件容器中。ClearCase采用标准的压缩技术和增量算法存储一个压缩文本文件。(这比以往的存储形式节省了50%―70%的存储空间。)

  这种元件类型文件和压缩文件可以被用于控制任何操作系统文件──比如,可执行程序、程序资源库、结构数据库和结构文档文件。二进制增量文件类型可以随时被用于二进制文件格式。

在版本树中组织元件发展的过程

  在ClearCase中,元件版本的组织体现在版本树结构中。一个版本书的结构可以按目录结构定制, 还可以包含多层分支和子分支。
  在一个典型的开发环境中,很多元件的版本树结构最初仅包含一个分支,即, 元件的版本排列在同一条线型队列中。随着时间的发展,当用户做一些错误修复、代码的组织、一些实验性修改或指定平台的开发时,它们可以给一些相关元件定义子分支,从而脱离主干进行开发。ClearCase可以支持多级的分支操作,还可以给版本或分支命名。

对目录和子目录进行版本控制

  ClearCase可以对目录和子目录进行版本控制,允许开发者对他们数据的组织发展过程进行追踪。目录版本对一些改变进行控制,如:建立一个新文件、修改文件名、 建立新的子目录或在目录间移动文件等。
  ClearCase也支持对目录自动进行比较和归并的操作。

存储数据在一个可访问的版本对象类中(VOBS)

  ClearCase把所有版本控制的数据存放在一个永久、安全的存储区中,这个存储区被称为版本对象类(Version Object Bases),项目团队(或管理者)可以决定它们所需要的VOBs的数量,可以决定什么样的目录或文件需要被维护。VOBs不仅是一个可连接的文件系统而且也是网上的资源──主机可以连接任何数量的VOBs.

  ClearCase VOBs的组成模式跟UNIX、Windows NT的文件系统和分布式的数据库系统非常类似。ClearCase采用Raima数据管理机制区维护VOB数据库。当在ClearCase中连接和访问时,VOB象一个标准的软件作为目录树的形式出现在客户面前,包含标准的文件对象:目录、文件、符号链接和硬链接。但事实上,文件系统已经有广泛的版本控制组件:它包含目录元素、目录元素版本、文件元素、文件元素版本、VOB动态链接和VOB硬链接。开发者也可以查看和这些文件系统对象相关的数据。这些数据包括事件记录,建立审核以及用户定义的项如:版本标签和属性。

使用常见的检出/编辑/检入范例

  ClearCase的命令可以控制元素的变化,确保存储区有序的繁衍并使数据损坏的程度达到最小。ClearCase采用一种检出/编辑后检入的范例,类似于传统的版本控制工具如:RCS和SCCS。ClearCase除了可以进行检出、检入以及非检出操作外,它还可以通过命令设置另外的操作,如:删除版本、建立/删除分枝、可按时间顺序排列或结构排列顺序列出版本历史、比较版本间的差异,并且可以归并并行开发的版本。
  当开始对于一个指定的文件进行工作时,该文件具有只读属性──这意味着它不能被编辑或删除。而检出操作可以对该文件的最近版本形成一个可编辑的拷贝。它无须将文件拷贝到另一区域工作。检出的注释可以被提供。当编辑完成后,该文件被检入,于是在版本树中形成一个新的版本并且将可编辑的拷贝删除。为了检验文件的变化,在检入过程中可以填入注释信息。文件一旦被检入,即刻回复到只读状态成为共享数据,可被所有成员使用。

  ClearCase支持两种检出,保留以及非保留。保留检出可以保证版本历史形成的正确范围,并且同时只允许一个人做保留检出的操作。非保留检出无须保证建立一个成功的版本,如果多个用户同时对同一元素执行非保留检出,也企图进行检入操作,那么第一个检入操作被允许,而其他用户必须通过归并操作合并它们的结果。

丰富的注释信息和版本数据的报表

  ClearCase存储了和文件系统对象相关又截然不同的信息类。这些信息实际上并不包含在对象中,它是一些额外数据。这些数据可以由ClearCase产生,也可以由用户自己定义。在VOB数据库中存储了所有的数据。
  ClearCase产生的这种数据信息提供了可靠的、面向文件系统的版本注释信息。比如:这些数据可以验证在某一时刻,元素A建立了一个新的版本。用户定义的数据可以用来表达额外的功能──比如:该文件的版本曾被用于构造应用系统的4.31版。


建立管理:

使用ClearCase,构造软件的处理过程可以和传统的方法兼容。对于ClearCase控制的数据可以使用自制脚本或本机的make程序,但ClearCase的向上兼容建立工具clearmake和omake为构造提供了重要的特性:自动完成任务、保证重建的可靠性、存储时间和支持并行的分布式结构的建立。

支持UNIX和Windows型的makefile的建立

  ClearCase包括两种独立的建立程序,clearmake和omake。这两种程序合并了ClearCase的主要建立特点,包括配置lookup,二进制文件共享,和配置记录。Clearmake程序主要适用于使用UNIX型的makefile包含(gnumake)的用户。Omake主要适用于那些需要和Windows上的建立程序(包括:Borland Make、Microsoft NAMAKE、Intersolv Configuration Builder、和OpusMake)兼容的用户。

自动检测所关联的原文件,包括所关联的头文件

  clearmake和omake通过使用当前原文件(向一些被检入、检出文件)的配置,可以在视图中灵活的建立整个或部分软件系统。Clearmake和omake在makefile时无须描述所关联的头文件(或任何所关联的原文件)。

  在ClearCase开发环境中,原始对象扮演着决定性的角色。源对象是由clearmake和omake 建立的文件对象或目录对象。典型的源对象应该包括由文档系统产生的对象模块,可执行程序,库文档,规格文档,内容表。源对象组件包括:作为目标被建立的文件名;独立的源对象ID;数据容器指针(存储建立脚本所产生的数据的文件);配置记录指针(信息清单);和参考计算(指示源对象当前出现的视图号)。

自动的追踪建立,产生永久性的资料清单

  在执行建立脚本期间,clearmake和omake在ClearCase的多版本文件系统下执行一个建立追踪。这MVFS记录了在连接的VOB中每一个被读或执行的文件的版本;它也可以注释哪些文件被建立(或被覆盖)。在执行建立脚本之后,clearmake和omake将追踪的数据写入配置记录中,存储到VOB数据库中。VOB数据库指针将配置记录分配到每一个建立过程的源对象中。

  配置记录就是源对象信息清单,包含它的内容和建立时的有用信息:

  ■ 存储在VOB中,在重建时使用的文件元素的版本――包含ClearCase控制下的源文件和工具(比如:编译器)。

  ■ 在建立过程中使用的每一个私人视图文件。

  ■ 在makefile过程中使用的非ClearCase文件。

  ■ 建立脚本的文本及所有的可扩展宏。

  ■ 操作系统版本和CPU类型。

  ■ 执行建立过程的用户;执行建立脚本的主机;由clearmake设置的视图和建立过程开始的日期和时间。

  ClearCase的配置文件可以让源对象进行比较――不依靠对象数据,而依靠它们的建立配置信息。Diffcr(compare config rec)命令可以输出不同配置文件间的差异,包括:

  ■ 源文件的差异,非源文件修改的时间戳。

  ■ 建立过程中执行脚本的差异,包含makefile中不同的宏值。

  ■ 那些不影响clearmake或omake建立的非必要差异,包括建立时间/日期,主机名,视图名。

开发者间共享二进制代码,时间和存储空间的存储

  基于makefile一个很重要的方面,避免不必要的建立过程。Clearmake和omake的建立策略是非常优秀的,专为并行开发方案做的特殊设计。 Clearmake和omake可以通过配置文件检测现场情况,检测哪些源对象可以在多个视图中被共享。这个工具还可以进行磁盘存储和建立时间存储。Clearmake和omake提供了三种可供选择的建立方式:

  ■ 重用视图中现存的目标――clearmake和omake使用一种技术,它比比较时间戳更熟练。配置信息可进行源版本对照,建立脚本对照,建立选项对照。

  ■ 执行传送建立脚本――make、clearmake和omake以同样的方式执行目标建立。但是clearmake和omake可以对建立过程进行追踪,并将追踪信息分配到每一个重建过程相关的文件中。文件和它的配置信息组成了源对象。

  ■ 从某一视图中wink-in源对象――clearmake和omake可以了解到早先在其它视图建立的同一目标的多种实例。在验证后,正确的源版本,建立选项和建立脚本被用于建立其它的实例,clearmake和omake将对视图执行一个wink-in操作。一个源对象现在可以被其它视图所共享。

跨越不同机型进行并行分布式建立

  Clearmake支持分布式建立(使用其它主机上的执行脚本)和并行建立(执行一致的建立脚本)。比如:clearmake可以进行三方建立,所有的进程都在一个多处理器的计算机服务器上执行。在局域网中,它可以跨越所有工作站进行分布建立。

  Clearmake也支持跨多种开发环境的建立。

自动的跨多种主机(UNIX)的平衡加载,分布建立

  clearmake有一个尖端平衡加载技术,可以优化分布式建立的执行。用户指定功能等于分布式建立服务器的主机,并且设置变量,包括:时间、机器装载和控制每一台机器建立的用户id 。clearmake可以跨越这些主机自动平衡装载进行分布建立。


过程控制:

  ClearCase具有以下过程控制的优势

  ClearCase提供了过程和策略控制机制以提高软件质量,缩短产品投放市场时间,以及调控整个软件开发过程。ClearCase所具有的监测和控制开发过程的工具无需指定预定义方法学、政策、以及过程。它本身的灵活性、强有力性,为管理者实现现有策略的自动化和巩固以及创建其它新的过程管理系统成为可能。ClearCase中所包含的灵活机动的工具可以让开发人员实现:

  ■ 监控开发过程;

  ■ 组织、交叉查询开发中涉及到的所有数据,如:源代码、记录、设计初衷、技术手册等;

  ■ 在个人和团队之间实现自动化的通讯;

  ■ 自动处理冗长、有错误倾向的步骤。

  这些工具都是基于元数据操作的,所以过程管理所涉及到的数据结 构和程序都是独立于元素变量内容的。总而言之,主要的过程管理特征就是:以元数据抓取状态信息,策略增强工具、?quot;通知"特性。

利用元数据抓取状态信息

  ClearCase元数据(在VOB中与对象相关联的数据)抓取特定对象的状态信息。在过程控制中共有三种类型的ClearCase元数据可用:

  ■ 属性。一个属性是一对值: 名字=取值。开发者可对大多数对象赋予属性。属性可取多种类型的值,整型、字符串、日期等。取值被限制在特定的范围内,或限定于特定的枚举值。例如,Codequality属性可有A、B、C、D或F五个值。其强有力的查询工具允许用户查找,如一个叫John的用户在上个月创建的包含Codequality=A的所有版本文件。而增强机制则自动为对象分配了属性。

  ■ 超级链接。所谓超级链接是一个连接着两个对象的逻辑"箭头"。例如,一个超级链接可以连接设计文档和资源代码模块。超级链接可追溯到所有的元素变量、特定的版本(需求追踪也同样需要)、或者对象中的某一部分。它可跨越VOB并重命名、移动一个对象或这个对象所在VOB。利用超级链接浏览器,用户还可以显示、创建、访问、维护CLEARCASE超级链接的网络。

  ■ 历史事件。ClearCase自动记录下来重要的状态信息,当对象发生变更的时候,它会收集"谁、何时、为什么"、用户注释、以及其它的重要数据。系统也会保留创建、释放项目时的类似信息。

定制的策略增强工具

  ClearCase的策略增强工具支持管理者建立并加强一个好的软件开发策略。ClearCase的工具包括:

  ■ 事件预触发。事件预触发机制监视每一特定ClearCase操作(如:检入 check-in)或操作类(如:改变VOB的任一命令)的使用。在操作执行之前,触发开始,经历以下特定步骤:程序、批处理文件、脚本、其它内置动作之一。同时,一个触发还可要求在执行某个操作命令之前对它进行检查,并据此判断是继葱小⒒故侨∠僮鳌?/p>

  ■ 锁。针对于一个对象,锁禁止对象发生变更。锁可被划分的很细(例如,只锁住指定的元素变量),也可以笼统而论(例如,锁住整个VOB)。一个典型的应用就是:在软件集成阶段,锁住所有主干元素。而且,每个锁可定义"锁定例外表",允许特殊用户修改对象。

  ■ 访问控制。对所有元素采用类似UNIX的保护机制。这种保护机制控制读、写、以及基于传统标准上的对象执行:单个用户的、开发团队的、或其它。同时,它还对文件系统之下的物理存储施加保护,有效的制止那些试图逃避ClearCase或破坏原始操作系统存储的小动作。

  ■ 自动创建分支。当所有的变更动作是在分支上以同种模式进行时,最易于维护工作。而ClearCase恰恰增强了这一点,当元素检出的时候,ClearCase会为它自动创建分支,并指定一个名字。

“通知”特性能自动生成报表、交流信息

  ■ 事件后触发。事件后触发机制好象一个监视器,它在特定操作完成后运行。实际上,这一触发会在某个命令执行后、或给某个对象赋予属性后,把这些动作通知给用户。为了便于脚本和程序实施触发动作,ClearCase自动设置了一些环境变量。以一个"检入"的事件后触发为例,它会告之质量保证部门有一个用户已修改过某一特定的文件,并且,还会包括在 "检入"时那个用户输入的注释。

  ■ 查询功能。ClearCase中有一个 find(查询)命令,使得开发者迅速的获知当前项目的状态。实际上,find(查询)命令就是在一个或多个VOB数据库上实施查询操作。例如,查找不具有 Passed=QA属性且属于Release 2.0的所有版本文件。

  ■ 动态配置规格。配置规格的方法是根据标签、属性、超级链接、以及历史事件选择版本文件。和find(查询)命令一样,这些方法同样具备查询功能。如,配置规格可以选择“具有Passed=QA属性的最新版本,或者是由用户drp创建的最新版本。


工作空间管理:


快速、有效的工作空间建立对于提高个人和团队的效益是非常重要的。通过视图(VIEW)的使用,ClearCase提供了一套独立的工作空间管理设施,可以实现动态评估、选择指定用户版本和透明的访问多种配置的功能。

版本间的透明访问

  ClearCase提供了对版本进行透明访问的功能。通过VOB机制(包含文件或目录的多个版本),ClearCase可以让开发者和应用者以一种标准文件目录树的形式访问VOB。这个特性被成为透明――ClearCase的版本控制系统因而变得可视化。

  透明是一个非常重要的特性,它允许ClearCase在使用系统软件、商业应用和内部工具时进行平滑的工作。比如:象grep,more,ls,cc这种标准UNIX程序,在操作ClearCase版本控制数据时与操作一般的文件系统对象的方式一样。

  通过ClearCase的多版本文件系统可以(MVFS)在虚拟文件系统上实现透明操作。MVFS可中断标准的I/O调用,并且ClearCase的版本选择结构可以细化到从一个元素到另一个元素版本的目标调用。

  对于Windows NT,ClearCase的MVFS一般缺省作为"M:"驱动盘出现,活动视图作为"M:"盘的根目录出现。正常情况下,ClearCase可以为每一个活动视图分配更多的虚拟盘(从"Z:"以后工作―)。把VOB设置成每一个虚拟盘的子目录。这样就可以让开发者使用自己的工具透明的访问被ClearCase控制的数据,甚至是UNIX VOBs和视图。

通过规则视图选择并显示版本

  ClearCase的视图提供了强大的、独立的工作空间管理(也称作"环境管理"或"沙盒管理")。通过使用动态评估、用户指定版本选择规则,视图可以让开发者对任何元素的任何版本进行透明的、文件级的访问。ClearCase的视图具有灵活性、可调性、有效性并可随时自动更新。

  通过开发者对ClearCase控制的数据和程序的版本进行选择,视图可以对完整的文件系统配置进行动态管理。它也可以访问主机上的其它数据和程序。

  ClearCase支持规范的开发环境,它可以维护公有和私人两种数据存储类型。所有的ClearCase用户可以共享或公开在VOB中存储的数据,它们包括一些常规访问的计划信息。存储在视图中的私有数据一般包含属于开发者个人的文件,如:通过标准工具被检出的文件元素版本,在视图中由ClearCase建立的原始对象,和由视图用户在VOB目录中建立的文件和目录。视图在"虚拟工作空间"存储了这两种数据,开发者每天对其执行检入、检出、编辑原文件操作、建立软件和修复系统等操作。

  在视图中选择的版本可以称为视图配置。视图配置是动态的并可以在任何时候被开发者修改。视图配置在配置规格说明的一系列规章被定义。一般的,视图的配置在通配符和助记符的术语表中被定义,而不是通过指定具体的版本名称。 每个开发者都可以拥有多个视图,并且可以在任何视图中设置过程。此外,不同视图可以看同一路径名下的同一元素的不同版本。比如:一个视图可以浏览某一元素最近的版本;另一视图也可浏览该元素的某一版本,它可能曾经用于构造某一具体的发放版本;可能还有其它视图浏览该元素用于修复错误的版本。

  此外,那些不受ClearCase版本控制的所有的文件和目录(标准文件、本地的脚本和程序,等。),也都可以通过视图进行浏览。从而使得ClearCase成为开发者的好友,当他们使用视图浏览数据文件、修改框架脚本、编译程序时,通过使用扩展视图的路径名或扩展版本的路径名,开发者可以提高透明度。扩展视图路径名可以覆盖当前视图并且可以访问当前出现在其它视图中的元素的版本扩展版本路径名是一种独立的视图,它可以通过版本树的位置或版本标签定制一个特殊的版本,而不管该版本究竟出现在哪个视图中。

从没有安装ClearCase的主机平台进行视图访问

  在局域网中ClearCase所控制的数据对于未安装ClearCase的机器也可使用。比如:一个ClearCaseUNIX主机可以通过一种特殊的视图输出VOB;而网上的其他主机可以通过NFS机制连接它。这样它就让开发者在未安装ClearCase的主机平台上使用自己的工具对视图进行读写访问,编译并建立自己的应用。未安装ClearCase的主机必须重新注册或使用安装ClearCase的UNIX主机上的X-Windows系统做检入、检出操作。


clearcase的组件:Rational,高质量自动化软件的先锋,向全世界范围的组织提供软件开发基础结构的产品。Rational分散了Windows和UNIX开发团队的解答形式并能使他们自动运行,提高质量和增加生产力。
  Rational的软件开发基础结构产品-ClearCase,ClearCaseMultisite,ClearCaseAttache,ClearGuide和ClearDDTS-为软件开发团队提供必要支持。这些产品帮助团队有效管理软件配置,修改需求,开发进程,并测试复杂情况及实时压力。
一、ClearCaseMultisite
  ClearCaseMultisite是ClearCase的系列产品选项之一,他支持地理-分布的项目团队的并行软件开发和软件重用。Multisite可以创建和更新被复制的ClearCase VOB,允许分散项目团队使用熟悉的ClearCase命令进行访问,开发和软件的集成。
  Multisite这个产品扩展了ClearCase完整的软件配置管理功能,为开发者提供透明支持,为管理提供灵活性和安全性,为系统管理员提供熟悉的工具。ClearCaseMultisite的卓越特性和可靠性为有效的分布式开发作出承诺。另外,ClearCaseMultisite的对等体系结构为任何规模的软件团队提供了可调性和灵活性。
为分布式平行开发复制VOB
  ClearCaseMultisite通过克隆有的VOB的内容,为多个地点创建完整的VOB功能。multitool mkreplica命令可以为指定地点创建新的VOB,并可以被复制无限次。复制VOB可以从从本地到每个现场并用于每天的开发。
  Multisite组件为异地并行开发实现了ClearCase分支和合并模型的功能。在被复制的VOB中,每个站点都可以为其中的每个元素建立分支,正如作为维护团队可以在未被复制的VOB中建立自己的"bug_fix"分支。
  VOB对象元素支持有序的并行开发,这使得项目集成更加容易,还可防止复制信息的变更冲突。不同站点可以读取所有站点的所有分支的修改信息,但只能更改(写入)主分支。另外,任何站点都可以作为集成站点,使用ClearCase自动归并工具可以在不同位置对更改进行归并。
自动同步更新不同站点VOB的更改
  在不同站点的分支上进行修改操作会在复制VOB时暂时造成分歧。周期性的更新(同步)使得每个被复制的VOB在监控状态下被更新。在保证精确的情况下,ClearCaseMultisite自动更新复制VOB中的原文件和meta-数据(事件历史记录,超级联接,属性,和访问控制)。Multisite仅将变化量传送到每个复制品中,消除了"全部-拷贝"复制模型带来的无效性和高成本。
  需要时,项目领导和管理员可以计划Multisite VOB的更新,从多种更新结构中选择,包含Multisite建立和存储转发系统,标准文件传送设备或磁带。在更新期间开发工作在VOB中可以正常地继续,而没有必要"锁定"或使VOB "脱机"。
支持连续开发模式
  ClearCase Multsite也支持分布在多个站点的团队进行连续开发模式。每一个分支上的指令允许某一站点为另一个站点提供特殊开发控制以及细致的更改共享软件的控制。
ClearCase无缝集成
  ClearCase Multisite和ClearCase的紧密集成加快了合作速度并且简化了管理。对于项目队列成员,工作在被复制的VOB中就好象工作在自己的VOB中――无需改变现有的工具和工作规则。
  对被复制的VOB需要最小的可持续维护,并为管理员提供详细的同步报表。通过使用ClearCase的熟练语法, multitool的基于字符接口可提供访问Multisite的指令,包括创建,更新,及复制、管理VOB等。
系统需求
  ClearCase Multisite作为可选产品安装在ClearCase主机上,需要6-11MB磁盘空间(受硬件操作平台的影响)。每个用户在访问复制的VOB时需要一个ClearCase Multisite License和一个ClearCase License
二、ClearCase Attache
为客户端使用Windows的项目团队带来强大的ClearCase功能 
  ClearCaseAttache为以Microsoft Windows 95, Windows NT, Windows 3.1或Windows for Workgroups 3.11作为他们的桌面开发环境的软件开发者提供了扩展ClearCase软件的强大的功能。ClearCase Attache是Windows客户端的软件,它可以与在UNIX和Windows NT服务器上的ClearCase完好配合共同工作。
  ClearCase Attache可管理本地版本控制元素的工作空间,可以和ClearCase建立的视图进行关联;并且通过图形/字符接口提供直接访问ClearCase服务器命令。ClearCase Attache界面包含工具栏,下拉菜单,及滚动命令窗口。
  本地工作空间的图形界面和ClearCase丰富的命令操作允许开发者在Windows客户系统中执行所有的开发活动,并且可以通过先进的ClearCase工具系列对于基本团队的开发提供更高的支持。
管理本地工作空间中版本控制数据的功能
  通过ClearCase Attache,开发管理者可以管理多个地点版本控制数据的工作空间。本地的工作空间提供适当的原始开发版本;对日常的开发任务进行私人存储;隔离其他工作空间的活动等。本地的工作空间是私人的目录树,定位在Windows的客户端或可访问的文件服务器。
  任何工作空间都符合一个ClearCase视图,寄存在ClearCase UNIX或Windows NT的主机上。通过配置文件――一套为特殊任务选择合适版本的用户配置规则,视图可"过滤" 存储于VOB和ClearCase主机中软件元素(文件,目录,二进制等等)。开发者之后可以检出版本进行编辑(或"get"他们用于本地建立或浏览),拷贝版本到工作空间作为通常文件。当修改已经完成,文件通过视图被检入进VOB。
  ClearCase Attache通过ClearCase版本控制系统中的高级特性提供基于Windows的开发者:包括跟踪所有的软件开发对象,永久使用,安全数据储藏所,及对并行开发的功能支持。ClearCase Attache也包括Microsoft Visual C++与 Visual Basic的集成,提供对大众开发环境中版本控制的直接访问。
提供访问到cleartool命令
  除了普通工具条按钮和下拉菜单,ClearCase Attache提供一个基于字符接口到每一个ClearCase命令(和cleartool命令设置中的形式是一致的)。这些命令为Windows用户的并行开发、版本历史和报告提供了全面的支持。
  通过在UNIX或Windows NT主机上提供的ClearCase工具的直接访问,ClearCase Attache也实现了ClearCase强大的,灵活的过程控制。所有ClearCase结构―触发器,属性,超级连接,权限,加锁等等都可以在ClearCaseAttache中进行。允许管理员横跨Windows,Windows NT,UNIX平台定义增强功能。
与Microsoft Visual C++和Visual Basic进行集成
  ClearCase Attache包含与Microsoft Visual C++和Visual Basic的集成,允许从大众的开发环境中提供对版本控制功能的直接访问。该集成支持微软Source Control Code(SCC)接口设置,一个在IDE工具和原代码控制工具之间交流的API。ClearCase Attache函数被映射到SCC接口,从IDE中提供直接访问,使用标准(微软)SCC对话框。
  在Visual C++中,用户可以访问公共SCM操作,包括:增加新文件到源控制;检出/入文件及装载的ClearCaseAttache历史和属性的显示。近似地,在Visual Basic IDE中的用户可以增加Visual Basic项目到ClearCase Attache中;增加新文件;检入/出;及装载ClearCase Attache历史和属性的显示。
可选的建立工具
  ClearCase Attache用户建立软件象以前一样,使用同样的工具及makefiles。可选的建立器通过ClearCase在Windows NT中的omake 、Borland Make、Intersolv Configuration Builder(Polymake)、Microsoft NMAKE提供一致的makefile功能。
通过ClearCase Multisite支持分布的开发
  ClearCase Multisite组件提供对地理分布的开发团队使用ClearCase和ClearCase Attache的支持。ClearCase Multisite可以跨广域网和本地站点复制并更新的ClearCase VOB。该组件允许ClearCase Attache用户访问,修改,复制在分布项目上的软件元素。
系统需求及License
  ClearCase Attache需要386/486 Pentium PC、Windows 95、Windows NT、Windows 3.1、Windows for Workgroups 3.11、8MB内存10MB以上硬盘。磁盘空间的需求取决于本地工作空间的数量和大小。ClearCase Attache也需要运行在UNIX workstation(DEC、HP、IBM、SGI、Sun)上的ClearCase R.2.1或更高的版本;运行在Windows NT个人电脑上的ClearCase R.2.0。在www.Rational.com可获得更多当前的ClearCase Attache的系统需求。
  在实际中,站点上的每一个正式用户都需要ClearCase Attache的License。每一个ClearCase Attache的站点至少需要一个ClearCase系统管理员的License(UNIX或Windows NT)。近似地,任何使用ClearCase Multisite 的ClearCase Attache站点最少需要一个ClearCase Multisite License(UNIX或Windows NT)。
三、ClearCase 其它组件
ClearGuide
  ClearGuide是Rational's新的软件过程管理(SPM)产品,它组合了项目管理,工作流,和过程模块的关键特性。ClearGuide超越了传统的工程变更管理系统(包括:项目计划,定义和过程执行和有关软件生命周期的所有任务的管理)的能力。使用ClearGuide,软件开发团队可以从强大的时间线,可预见性的软件项目和定义能力中收益。通过一个灵活的过程框架,重复并提高他们的软件开发过程。他们也可以通过常规任务自动化提高软件开发生命周期中的活动精确度和效率。ClearGuide需要ClearCase3.x版本。
ClearDDTS
  ClearDDTS是分布式的变更管理系统,它可以帮助开发者和质量保证组织测量产品质量和管理变更需求。
  ClearDDTS广泛的缺陷管理能力记录并追踪所有信息(关于缺陷报告,提供项目查询,报告,图表,为缺陷提交提供分布支持。ClearDDTS'强大的变更管理工具可以和ClearCase集成,并且存储信息(关于被检入或检出的文件)在预检的基础上确保完整的追踪。

ClearCase结构及设置

一、客户/服务器结构

  ClearCase是运行在分布式Client/Server结构中的"组件"产品,。 ClearCase函数和开发数据的程序可以被分配到整个本地网络。这使得ClearCase的工作范围――从工作站上被加到网络中以便更多的开发者可共享,ClearCase的数据存储和数据处理资源的能力大大提高。

  数据仓库组成如下:

  永久性,共享数据存储库是一种VOB的集合。多种VOB也可以存放在同一主机中(要有充足的磁盘空间和处理资源的能力)。

  开发者使用单独的(或共享的)工作区域称为视图――任何人都有一个小的私人库区域。视图的存储区域一般位于独立的工作站或PC上。主控服务器可作为为共享视图或为那些将被重建或发布应用程序建立视图。

  增加灵活性,可以跨两个或更多的主机,为单独的 VOB或视图进行数据存储。

  开发者使用ClearCase客户端程序访问这些数据(例如,clearmake建立工具),以及标准的操作系统工具及第三方应用程序。ClearCase服务器的程序可间接访问在VOB和视图中的数据。客户端和服务器通过使用远程调用过程(RPC)互相进行进程通讯。这使得开发者不必涉及数据存储的物理定位而进行ClearCase网络通讯;ClearCase服务器使数据完全有效。

二、图形用户界面

  ClearCase包含传统的命令行界面和Motif及Windows点击图形用户界面(GUIs)包括任务设置GUI组件。UNIX和Windows NT的ClearCase的GUIs提供下拉和弹出菜单,工具条,context-sensitive帮助显示来简化公共用户级的命令。另外,界面包含文件浏览器,视图,VOB,版本树,超级联接,可选择的数据,及更多的可以简化在ClearCase中的公共数据对象的查询和选择。

  GUI也提供直观比较和归并功能,用高亮度颜色来描述插入,删除,修改。GUI可以通过扩展脚本语言被定制,使用户能创建自己的按钮,工具条,和多水平菜单。定制的组织政策和脚本能在GUI中被访问,而且外部命令也能与GUI进行集成。

  另外,ClearCase具有图形事件和属性显示的功能。事件显示可提供相关ClearCase控制元素的历史记录信息,可以被定制成当前全部元素的历史。关于当前元素或设置版本的属性信息,使用制表键显示命令信息,标签,属性,超级联接,触发器,安全性,加锁。

三、ClearCase for Windows NT

  ClearCase for Windows NT包含附加的GUI功能可以增强NT 4.0用户界面的功能。ClearCase扩展的context-sensitive菜单的使用提供给用户快速访问公共ClearCase操作和工具。

四、Windows资源管理器的集成

  ClearCase for Windows NT包含和Windows资源管理器的集成,使得公共的ClearCase操作对于用户简单有效。此集成允许用户打开视图,mount VOB,检出/入元素,激活版本树浏览器,检查元素历史和属性,寻找检出元素,比较新老版本,及激活ClearCase详细应用,在线帮助也包括在内。

五、ClearCase Details工具

  ClearCase Details工具显示与ClearCase相关连的文件和目录的信息,比如检出状态,用户视图选择的元素版本,及用户选择的版本的配置设置。ClearCase Details工具允许用户去修改显示的属性,访问到其他目录,去调用更多的ClearCase命令和工具。

六、视图描述工具

  ClearCase视图描述工具打包了被开发团队共享的ClearCase配置信息。视图描述包含以下信息:

  选择版本属性到团队工作的配置设置。
  识别团队基线的检查标签列表。
  团队计划工作的VOB。
  团队正在使用的系统管理的VOB。
  一队并行工作的开发者可以在ClearCase视图描述上奠定他们的视图。在这种自动格式大部分工作需要设置和保持团队共享的ClearCase配置。

  视图描述浏览器允许项目管理者创建和修改ClearCase视图描述。视图创建程序提示用户通过需求来创建视图,并且也可以让用户基于存在的视图描述中选择视图。

七、归并管理器

  归并管理器是管理归并元素过程的图形工具。他自动为归并、开始归并,及跟踪归并收集信息。他同时可以结合使用ClearCase Diff归并工具来比较版本并完成归并操作。

八、与Visual C++和Visual Basic的集成

  在Windows NT中,ClearCase支持Microsoft公共源代码控制(SCC)接口配置,支持在Visual C++,Visual Basic工具和源代码控制工具之间关联的-API。ClearCase函数被映射到SCC接口,提供从Visual C++和Visual Basic的IDE到ClearCase的直接访问,使用标准(微软)SCC对话框。

  在Visual C++中,用户能访问公共ClearCase操作,包括:增加新文件到源控制;检出/入文件和激活ClearCase历史和属性的显示。

  类似地,从Visaul Basic IDE中用户可以开始视图;mount VOBs;增加Visual Basic项目到ClearCase;增加新文件;检入/出;激活ClearCase历史和属性的显示。

九、系统管理员

  ClearCase包含一套工具,命令,和GUI应用以便建立、扩展及管理VOB,视图,和跨越站点的策略。系统管理员能管理物理磁盘存储,网络间的系统转换,确信VOB保密性,管理用户的License,限制对软件元素的访问。状况和错误记录信息被送入记录浏览器。必要的系统管理信息和命令在VOB属性框架中,其他context-sensitive菜单,和在ClearVobAdmintool(UNIX)中被设置。管理员使用他们现有的备份工具备份ClearCase VOB。

十、视图和VOB的储存注册

  在每天的工作中,一般地,ClearCase用户会涉及配置VOB和视图使用名称("tags")。例如,项目团队可以在mount为"/vobs/gui"(UNIX)或"\vobs\gui"(Windows NT)的VOB中使用共享的"bug_fix"视图来访问项目。系统管理员通过ClearCase储存注册管理这些相应的视图和VOB库区域中完整的名称和物理定位(路径名称)。储存注册是广域网资源,定位在指定的服务器主机中,他映射一般使用的视图和VOB名称到属性存储区。系统管理员能定义多个网络区,在客户端使用不同?quot;完整"路径名来访问相同的储存目录。它可以登记结构以便支持(比如)不同主机空间的多个子网。



正常安装ClearCase的前提为:1. 不使用非Symantec的防火墙,2. 客户端所在电脑必须在公司网域内。

安装是否正常的判别方法:点击Control Panel中的ClearCase图标,检查四个Services是否均为正常运行。如果服务没有启动不是因为错误方法安装软件所致,则很有可能是默认的连接License的密码失效,需要到管理工具中的服务里重新设置Atria Location Broker服务的连接密码。

ClearCase的弱点:如果连接到License服务器的网络出问题的话,则所有的ClearCase客户端均无法操作。



下午得到了ClearCase Management的培训:

管理员登陆的流程为,在本机添加vob用户,切换至此用户并添加全局变量,随后打开ClearCase客户端即可。

管理员Import Project的方法为,先create一个view,然后mount一个vob并映射到一个盘符中的目录下,然后在cmd中输入:clearfsimport -r [Source] [Destination VOB]

ClearCase的实践

今天反复试验了ClearCase的所有命令,import、create view、check out、check in、create label、paste label、create branch with/without label、merge。并对管理过程做了个总结:管理员先import项目,让同事create snapshot view,然后同事就可以通过check out和check in工作了。如果要让同事工作的branch上,通常做法是管理员先create label,然后paste label,随后通过label来create branch,编辑好相应的config spec之后,将config spec mail给同事,这样当其check out文件时,该文件就create了一个需要的branch。当branch上的工作完成之后,管理员要将branch上的文件merge回main版本上。

工作在branch上的方法:(假设branch名为test)

element * CHECKEDOUT

element * /main/test/LATEST

element * /main/LATEST -mkbranch test

element * /main/LATEST

Checkout后即可工作在test的branch下了。

工作在某个tag上创建的branch的方法:(假设branch名为test,tag为TEST)

element * CHECKEDOUT

element * /main/test/LATEST

element * TEST -mkbranch test

element * /main/LATEST


ClearCase的核心功能是版本控制,它可以对软件开发过程中的一个目录或一个文件的发展过程进行追踪。采用的是元素级的版本管理机制,系统中的各种文件和目录都可以视为元素,所以CC可以对文件系统的所有对象进行版本控制,其中文件主要包括源代码、可执行文件、位图文件、word文档和一些二进制文件。目录版本记录整个目录的发展状况,包括目录内文件的建立、删除等操作。

ClearCase所有的版本控制信息都存储在一个永久安全被称为版本对象类的存储区中(Version Object Bases),就是通常说的VOBClearCase的管理者或者项目的管理者可以决定什么文件需要被放在VOB内被维护。VOB的组成模式和文件系统非常类似。CC采用Raima数据管理机制来维护Vob数据库。对文本文件来讲采用增量式存储的方式,对其他非文本文件采用压缩技术存储,节省空间。

ClearCase是基于CS模式的,安装过程分为客户端和服务器端,一般服务器端的安装我们不需要,公司CC管理人员会提前设置好,客户端的安装也比较简单。关键就是常用的几个功能:

新建Vob,在命令行键入cmd->cleartool->mkvob –tag<vobname>输入vob的名字。

新建视图(create view):视图分为两种,动态和静态的,一般大型项目都采用静态视图,在自己本地的客户端机器上保留一份拷贝,当进行check out时,在本机硬盘上建立一个文件备份,修改完成后check in,另外需要每天update snapshot view来获得最新的vob信息。通过动态视图访问vob时候,vob必须是准备好的,在建动态视图的时候会提示mount一个vob,建静态视图的时候,vob必须已经被夹在到静态视图里。

将文件汇入vob,把文件拷贝进入本地共享视图文件夹中,右键选择add to source control,可以选择keep check out或者不选。

Check outcheck in。一般check out后,如果不进行修改可以选择undo checkout,否则会提示出错,如果修改错了,想再改回来,可以进行版本比对,查看源代码,然后把之前版本源代码拷贝到新版本后再选择check in,或者直接delete 掉这个版本。

对于vob中的每一个元素,都可以通过右键选择version treehistory来查看版本信息和历史check out信息。

Merge Manager功能,一般用不到的,如果确认自己开发分支上的代码、文档没有问题了,可以merge到上一个分支。










你可能感兴趣的:(windows,工作,unix,Microsoft,存储,工具)