mkbl命令是ClearCase UCM中使用得较多的一个命令。本文对其的命令描述(参见cleartool man mkbl或者IBM的官网)进行了简单翻译,如下:

mkbl命令用于建立baseline或组合baseline。baseline代表了特定stream上特定component的变更的快照:它代表了一个component的版本。 对于每个component中的element,baseline记录了stream配置后mkbl选择的element的版本。baseline还记录了stream中activity的列表,stream的变更集包含了component的element的版本。

一个baseline选择一个component中的element的一个版本。一个component可以建多个baseline,如同可以建立element的多个版本一样。一个baseline只与一个component联系在一起,每次mkbl命令的执行只能对一个component建立一个baseline。

默认情况下,从最近的一个完全baseline(full baseline)开始,所有发生变更的component都被认为是新baseline的候选。你也还可以建立stream中component子集的baseline或者为特定活动的component建立baseline。

如果项目组工作在多component基础上,那可以建立组合baseline。组合baseline是一个选择其他component里的baseline的baseline。 可以使用组合baseline来代表整个项目的baseline。这会简化一组baseline(一个component对应一个)的追踪。建立一个component用于存储组合baseline。(关于如何建立这样的component,可以参考mkcomp )在这个component里,通过–adepends_on选项添加成员baseline来建立组合baseline。

初始baseline(Initial baseline )

当建立一个普通的component(包含目录和element),它包括一个名为component-name_INITIAL的初始baseline。这个baseline选择component的根目录的/main/0版本,做为后续baseline的起点。

为没有更改的component建立baseline

使用–identical选项为一个没有更改的component建立baseline。这对在几个component上的工作很有用。你可以为一组component建立baseline,而不管它们是否发生了变更。

建立包括一组活动(activity)的baseline

默认情况下,自最近一次建立baseline以来所有的变更活动都将被新的baseline捕捉到。你可以为新的baseline选择包含活动的子集。如果活动的变更集之间没有依赖关系的话,可能就不能够包含想要的活动。你需要同时包含活动所依赖的活动。

如果选择的活动是同一个component的部分活动,单一basline会被创建。如果一个活动使得多个component产生了变更,对于每个变更的componet一个新的baseline会被创建。

在现有的依赖关系基础上建立新的组合baseline

建立新的组合baseline的操作是递归的。就是说,这个操作首先建立它成员component的baseline,之后,参考组合baseline里的这些baseline建立依赖关系。结果是生成保留前任依赖关系的组合baseline。

建立或改变组合baseline的依赖关系

你可以通过使用–adepends_on或–ddepends选项创建或改变组合baseline的依赖关系。当涉及到某个component的依赖关系被添加后,必要的话,那个component的baseline也会建立。这些操作只应用于组合baseline的直接成员,不影响baseline体系中的间接成员。一个丢弃的component仍然有依赖关系体系底层的baseline。

注意:改变现有的依赖关系,你必须建立新的组合baseline。你不能通过chbl改变现有的baseline的关系。

通过导入label建立baseline

你可以通过mkcomp命令把一个VOB作为component。当你做这个操作的时候,这个VOB通过选择component根目录的/main/0版本而被打上了初始baseline。然而,这个baseline不会自动地使得VOB中现存的文件和目录可访问。

你可以建立新的baseline,对应于VOB或一个VOB的component打过label的版本的集合。可以通过-import选项来实现。mkbl命令选择打过label的版本建立baseline,使UCM工程能够访问得到这些版本。

在建立baseline之前,保证label是非锁起来的(unlocked)和原始的(非全局的),且打过标签的element被checkin了。一旦baseline被建立,label就无法删除除非是特权用户。确定label选择到了所有可见的element的某个版本。

baseline的名字

baseline标识符是用户指定的附有数字的baseline的名称。如果有必要,要使baseline的名称在PVOB中唯一。如果项目已经定义了一组模板baseline的名称,baseline的创建将采用该模板。更多定义baseline名称模板的信息,请参阅mkproject chproject。

以上规则的特例是初始baseline和由label建立起来的baseline。初始baseline的名称是以component-name_INITIAL的形式的命名的。当通过导入一个label的方法来建立baseline时,它的基本名字由label类型选择器产生。例如,label类型选择器REL1@/vobs/baz生成REL1作为baseline的基本名称,它的范围是baz component。

baseline label

你可以决定在baseline创建的时候baseline的版本是否被打上标签。 baseline可以不打上label(标签),或打上增量标签,或打上完全标签。当它们生效时,baseline label不能够移动。

所有的baseline记录了stream的当前的配置,但是只有打过标签的baseline能够被用于配置其他stream(通过rebase的方法或者mkstream)

选择适合的工程结构的label策略。增量baseline传统上可以比完全baseline建立得要快。

  • 对于完全baseline,建立其所花的时间与component中的element的数量成比例 ;
  • 对于增量baseline,建立其所需的时间与自上一次完全baseline后发生变更的element的数量成比例。

baseline建立过程中控制label的选项:

  • -nlabel选项建立非标签baseline。非标签baseline不能被用作配置stream的基本baseline。它可以和diffbl命令一起使用;
  • –incremental选项为自最近一次完全baseline建立后的变更的element的版本打上标签;
  • –full选项通过component中的每个element的某个版本的选择和打标签的方法来创建baseline。

每当新的baseline建立的时候,mkbl会检查任何最近的baseline是否是没有打过标签的baseline。如果找到任何一个的话,mkbl将发布一个警告并且显示未打过标签的baseline。你可以通过chbl命令改变baseline的标签状态。

提升等级

baseline可以标记一个提升等级来显示baseline的质量。一个工程VOB将被分给一系列的排序好的提升等级,其中之一被指定了默认的提升等级,即它会被分给新的baseline在其建立之后。参考setplevel获取更多的信息。

ClearCase命令mkbl的描述相关推荐

  1. clearcase命令指南

    clearcase命令指南 主要在linux下实践 1. 基本操作 1.1. 帮助 ct help 1.2. 缩写 ct clearcase co check out unco undo check ...

  2. clearcase命令收集

    clearcase命令收集2008-08-21 17:23 *****************88查看当前view下所有checkout的文件并checkin****************** 文件 ...

  3. linux命令的详情描述,linux 常用基础命令 tail 详细介绍

    tail 命令说明: tail命令用于输入文件中的尾部内容.不指定文件时,作为输入信息进行处理. 常用查看日志文件. 使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f fil ...

  4. 5个找出Linux中“二进制命令”描述和系统中位置的方法

    在数千个 Linux 系统上的命令/程序中,知道给定命令的类型和目的以及其在系统上的位置(绝对路径)对于新手来说可能是一个挑战. 知道命令/程序的一些细节不仅有助于 Linux 用户掌握大量命令,还能 ...

  5. linux查找二进制命令绝对路径,5个找出Linux中“二进制命令”描述和系统中位置的方法...

    在数千个 Linux 系统上的命令/程序中,知道给定命令的类型和目的以及其在系统上的位置(绝对路径)对于新手来说可能是一个挑战. 知道命令/程序的一些细节不仅有助于 Linux 用户掌握大量命令,还能 ...

  6. UCM狂热者:从Base方式转移到UCM ClearCase

    级别: 初级 Christian Buckley, 部门负责人, Red Hill Partners Darren Pulsipher, 配置管理架构师, Cadence Design Systems ...

  7. ClearCase 介绍 1

    一.        软件配置管理的必要性   没有任何一个行业象计算机工业发展的如此迅速.在今天的软件产业更是如此,技术和产品的更新日新月异令所有技术人员和管理人员都感到明显的压力.软件产品的开发,市 ...

  8. 适用于软件开发人员的Rational Team Concert命令行参考

    IBM®Rational Team Concert™软件以高效且功能强大的图形用户界面提供了更改,配置,构建管理和项目计划. 大多数用户选择Web界面,而不是Eclipse界面,因为它易于使用,安装占 ...

  9. 什么是GIT,以及git的常见命令

    文章目录 GIT 什么是版本控制 常见的版本控制工具 版本控制分类 Git与SVN的主要区别 软件下载 启动Git 常用的Linux命令 Git配置 设置用户名与邮箱(用户标识,必要) 三个区域 工作 ...

最新文章

  1. 使用ASIHTTPRequest进行http 请求bug
  2. 5分钟了解TypeScript
  3. linux裸机网络安装,linux下PXEServer实现网络安装【实验】
  4. 若依前后端部署之后验证码不显示
  5. 传苹果正与米高梅谈判 拟购买新007电影流媒体版权
  6. 对比会声会影与剪映哪个制作转场效果更专业
  7. 工程学导论1---3章习题与思考题
  8. MODIS数据介绍及下载
  9. CAN和CANFD的区别总结
  10. mysql tddl_tddl的使用
  11. 无线攻击 --Fern WiFi Cracker(图形化无线密码破解工具 )
  12. 基于google api 的youtube评论爬取
  13. 题解1205汉诺塔问题
  14. opencv位运算,cv2.bitwise_and,cv2.bitwise_or,cv2.bitwise_not,cv2.bitwise_xor
  15. Flutter 仿滴滴出行App,2021最新华为Android校招面试题
  16. 基于深度学习的菠萝实时三维坐标定位项目
  17. Java String、StringBuffer、StringBuilder类解析
  18. Debug签名时候数据正常正式签名的时候数据不正常,不显示,或者数据错乱问题
  19. 【云速建站】后台数据批量导入导出
  20. Linux split文件切分工具的使用

热门文章

  1. Mysql的MVCC基本原理
  2. 2001年日语能力考试二级真题及答案
  3. PLC控制柜由哪些元件组成?
  4. Dell LATITUDE E5410笔记本Ubuntu无线网卡BCM43224驱动安装(原创)
  5. 【转】记一次Linux木马清除过程
  6. 【python】学生管理系统GUI可视化界面版本
  7. 给你的信 (西班牙)约兰达·马丁
  8. 新兵训练营系列课程——海量数据存储基础
  9. 国内的房地产ERP系统能够上线吗,实施效益如何
  10. 江哥带你玩转C语言 | 13- 一级指针和多级指针