文章标题

原创 2015年07月07日 21:11:06

ClearCase的基本概念

VOB(Versioned Object Base):
是文件,文件夹和元数据(ClearCase控制下的文件和文件夹叫做元素(Element),每个元素Check In形成的修改叫做一个版本(Version))的永久存储仓库。以下是关VOB的基本概念:

1.  一般来说一个VOB中包含了每个元素的所有版本(Version)以及诸如用来描述每个版本的标签和CheckOut注释等元数据
2.  对一个既定的项目,依赖于管理员对项目数据的安排,可能需要访问位于不同VOB中的元素。

View:
一个View为项目中所有文件的某一个版本提供一个目录树。在View中你可以修改源文件,将他们编译成模块进行测试,将他们插入到文档中等活动。

流(Stream):
流是一个具有长生命周期的ClearCase对象。它是单个UCM项目的成员,还是生成和记录配置的一种机制。一个流标识了当前你可以查看,修改和编译的一系列版本。
UCM使用基线(Baseline)和活动(Activities)来描述一个流的配置。当你创建一个流时,它的初始配置和基线一样(它包括某个组件的所有元素的单个版本)。当你修改流的配置时,你将这些修改指定为一个或多个活动。因此一个流就是一个给定的基线加上一个或多个活动。

以下活动将改变一个流的配置:

1. 从相关联的View中CheckIn版本。(一个流可以和多个View相关联)
2. 基线更新 (Rebase),用更近的基线取代流配置中的基线。
3. 交付(Deliver),通过向整合流(Integration Stream)中添加在此之前只有正在开发队伍可以进行的活动改变综合流。

一个项目包含以下两种流:
* 开发流(Development Stream):一般来说每个项目中包含多个开发流(每个项目中的开发人员一个),它们都从同一个基线开始,而当开发人员添加活动时相互之间没有关联。
* 整合流(Integration Stream):每个项目都有一个单一的整合流来从开发队伍中成员的开发流中收集他们的提交(Deliver)。为了方便提及过程,每个开发队伍中的成员都关联一个独立的整合View到项目的整合流。通过该整合View,开发人员可以查看基线和所有提交活动。

项目(Project):
一般意义上项目指一群人为一个开发成果而工作,但在ClearCase中项目则是指一个说明了某一个重要开发成果中使用的一系列的 开发策略(Development Policy)和一系列配置的对象。你可以为你开发的每一个产品建一个项目,也可以为多个产品建一个项目,还可以为产品中的某个功能的实现建一个项目,甚至可以为你的某个产品的一个发行版本(Release)建一个项目。

 一个项目的策略决定了开发人员如何访问,修改一系列的源文件和文件夹(以上叫做组件(Component))。为了记录和配置依赖于组件的开发成果,项目使用了以下的ClearCase对象:

1. 基线(Baseline);
2. 一个整合流(Integration Stream);
3. 开发流(Development Stream);
4. 活动(Activity);


*      因为ClearCase支持平行开发,不同的项目可以相同的源文件的不同版本同步工作。
*      ClearCase将项目储存在叫做PVOB(Project Versioned Object Base)的数据仓库中。

基线(Baseline):
在UCM模型中,当一个ClearCase对象典型地代表一个或多个组件地稳定地源配置时,项目经理就生成基线。基线标识了一个组件或多个组件中所有元素(Element)的某一个版本和这些元素的活动。简单的说,基线就是组件的一个版本。你可以从基线生成开发流或者为一个已有的开发流基线更新(Rebase)。

完善的基线(Recommended Baseline):
一般来说基线会在测试和修改Bug之间不停的循环直至在稳定性上达到一个比较令人满意的程度。当一个基线达到这种程度,项目经理就指定该基线为完善的基线。

合并(Merge):
合并是指将两个或两个以上的版本联合成一个版本,ClearCase的合并算法和下列版本相关:

1. 合并文件:一个开发流中的版本和一个整合流中的版本;
2. 基本合并文件:原版本的最常用的父亲版本;
3. 目标版本:合并的输出,在提交操作中成为整合流中的一个新的版本,而在基线更新操作中将成为开发流中的新版本。

提交(Deliver):
一个允许开发人员通过将他们的开发流中的工作成果合并(Merge)到项目的整合流中来和开发队伍中的其它成员共享他的工作成果。假如需要的话提交需要用合并管理器(Merge Manager)来合并不同的版本。
ClearCase的提交操作使得在开发流中做的工作能在整合流中得到。工作是通过活动的形式来提交的,整合流中已有的版本和提交的版本之间的差别通过合并管理器(Merge Manager)解决。和活动相关的版本在提交之前必须CheckIn。还要注意只有活动在上一次从该开发流中提交之后有改动之后的“提交”才能认为是真正的提交。

一个提交过程可以由以下几个阶段构成;

1. 预览,列出流中有没有完成提交工作的活动;
2. 开始提交,本阶段确定需要提交的活动,检查他们是否在上一次提交之后被修改过,要提交的版本是否已经被CheckIn到开发流中。
3. 合并差别,本阶段比较被提交的版本和整合流中相对应的版本,如果需要的话激活合并管理器进行合并。
4. 结束合并,本阶段校验合并,CheckIn整合流中的变化,进行其它一些管理工作。

基线更新(Rebase):
ClearCase中通过基线更新使得开发人员能用整合过的,测试过的,经过不同方面使用验收的工作成果来更新他们的开发范围内的工作成果从。这些新的工作成果被成为基线。由项目经理来将活动提交进基线。

文章标题自动标注程序

  • 2015年06月25日 17:04
  • 6.93MB
  • 下载

文章标题 使用ajaxFileupload+struts2完成文件的上传以及回显到jsp的链接地址

积累点滴,从这一刻开始 jsp页面部分 第一步: jsp页面导入 ajaxfileupload.js文件 第二步:编写上传文件的文本框: 第三步: struts2后台部...

文章标题上下轮番滚动.zip

  • 2012年09月04日 12:31
  • 28KB
  • 下载

在文章中主标题和副标题的格式问题

请问:如果 大标题居中书写。正常情况下,副标题要在大标题第三个字下开始写破折号,是吗?那如果格数不够,副标题写不开了怎么办?可以把副标题居中写吗? 还是把 大标题和副标题整体前移?不是论文,手写的,公...

文章标题n个人围成一圈,顺序排号。从第一个人开始报数(1~3),凡报到3的人退出圈子,问最后留下来的是原来几号的那位?

第一封技术博客,从小白开始,一同成长!审题:围成一圈报数,固当第一次报到3的时候,就应该退出这个圈子,不在进行下面的报数,对计算机而言,就是跳过这个“喊出3的人” 接着从“1,2”开始。怎么跳过呢?给...

PL/SQL记录和表(oracle type(数组))(最简单!文章下面标黄标题是精华,必看)

PL/SQL记录和表 1.使用%TYPE  (用于基本数据类型) 例1(用户并不知道Course_No的数据类型,只知道他是基于Student_No数据类型的,随着Student_No的类型变化而...

文章标题:Deeplearning原文作者Hinton代码注解

Matlab示例代码为两部分,分别对应不同的论文: 1. Reducing the Dimensionality of data with neural networks   ministdee...
  • lvfeiya
  • lvfeiya
  • 2015年07月17日 19:19
  • 371

文章标题Matlab GUI学习笔记(一)function “funcname” 工作区和基本工作区

最近学习matlab的GUI编程,非图形化方式,发现使用回调函数传递句柄类型的变量是时总是提示该变量未定义: Error using matlab.ui.Figure/set Invalid or ...
  • guguizi
  • guguizi
  • 2016年03月10日 17:03
  • 1336

文章标题 CSU 1849: Comparing answers(矩阵降维+随机化思想)

1849: Comparing answers这里写链接内容 题意:题意是有矩阵A,B,然后判断A*A ?= B ,直接做O(n*n*n) 分析:矩阵降维 A*A*C ?= B*C, C 是一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:文章标题
举报原因:
原因补充:

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