clearcase常用命令
版本控制工具学习 http://www.itpxpj.com/course.do?method=getAllCourseInFront&classTypeId=21
1.【ClearCase】config.spec例子 http://www.itpxpj.com/course.do?method=getCourseInFront&classTypeId=21&courseId=104
element * CHECKEDOUT
element * /main/dev_branch/LATEST
element * /main/LATEST -mkbranch dev_branch
element * /main/LATEST
对应的解释:
第一句,找被Checkout 的版本;
第二句,找main 主干下的dev_branch 分支上的最新版本;
第三句,找主干上的最新版本;如果元素被Check Out 的话,会触发在元素的最新版本上创建
dev_branch。因为创建元素的分支是对元素的修改,必须要被做Check Out 的时才会触发。然后会
重新对该元素解释运行Config Spec 的内容。此时视图将选择/main/dev_branch 分支上的被Check
Out 的版本。如果该分支上被Check Out 的元素版本被Check In 的话,视图将选择/main/dev_branch
分支上的最新版本,也就是第二句规则的运用结果。(顺便提醒一下,dev_branch 的分支类型应该被事先创建)。
2. ClearCase】工作中常用命令(上) http://www.itpxpj.com/course.do?method=getCourseInFront&classTypeId=21&courseId=110
VOB
查看当前VOB的基本信息和UUID
ct des -l vob: .
创建一个vob在/usr/vobstore/下,并打上“/vobs/project3”的tag.
mkvob -tag /vobs/project3 -c "main development sources" /usr/vobstore/project3.vbs
view
创建和删除view
创建view:
$ cleartool mkview -tag MY_VIEW /../ MY_VIEW.vws
设置当前视图
$ cleartool setview MY_VIEW
删除view
$ cleartool rmview -tag <view_name>
查看view名字为“XXX”的所有view
$ cleartool lsview | grep XXX
各类type
lstype, rmtype 可以查看、删除 各类type(包含lable/branch/triger等)
$ ct man rmtype
type-kind One of
attype Attribute type
brtype Branch type
eltype Element type
hltype Hyperlink type
lbtype Label type
trtype Trigger type
Label
创建类型
$cleartool mklbtype -nc label-name (尽量大写)
添加
单个文件
$ct mklabel label-name path
$ct mklabel -replace label-name
把当前目录下的所有文件的最新版本上打标签:
$ct mklabel -recurse -rep label-name -ver /main/LATEST .
给所有打上TEST_LABEL标签的文件打上TEST_LABEL2标签
cleartool mklabel -replace -version /main/TEST_LABEL TEST_LABEL2 *
查找当前目录下版本为/main/LATEST的,并且/main/LATEST上没有LABEL_1标签的文件,并且创建人是tom的文件,打上LABEL_1标签
ct find . -version "{version(/main/LATEST) && ! lbtype(LABEL_1) && created_by(tom)}" -follow -print | xargs cleartool mklabel -rep LABEL_1
移动
$ct mklabel -rep -nc label-name 2.log
删除
$cleartool rmlabel label-name 2.log
查看
查看某个element版本的具体有哪些标签
ct desc xbean.xml@@/main/3
//查找当前目录下打上CDU标签的所有文件
cleartool find . -version "lbtype(CDU)" –print
(find 是递归查找)
//如果子目录有link的文件或者文件夹也需要查找,需要加一个参数:-follow
cleartool find . -version "lbtype(CDU)" -print -follow
//按照逻辑表达式查找
ct find –version 'version(\main\LATEST) && ! lbtype(REL3)' –exec 'cleartool mklabel –replace REL3 %CLEARCASE_XPN%'
//查找打上TEST_LABEL和TEST_LABEL2标签的文件
cleartool find . -element 'lbtype_sub(TEST_LABEL) && lbtype_sub(TEST_LABEL2)' -print
Branch
创建分支
mkbrtype -c "comment" branchname
从某个文件的最新版本建立分支
当config.spec初始为:
element * CHECKEDOUT
element * /main/LATEST
执行:
$ ct mkbrtype -c "comment" branch_test
Created branch type "branch_test".
$ct mkbranch -nc branch_test 2.log
再修改config.spec为:
element * CHECKEDOUT
element * .../branch_test/LATEST (取branch_test 这个branch的最新版本)
element * /main/LATEST
以后再co 2.log文件,就都是在branch_test上操作了
从某个文件的某个版本建立分支
分支名为:bugfix
$ ct mkbrtype -c "comment" bugfix
$ ct mkbranch -nc bugfix hello.c@@/main/3
Created branch "bugfix" from "hello.c" version "/main/3".
Checked out "hello.c" from version "/main/bugfix/0".
删除branch
删除当前目录的branch (main/sp_main)
ct rmbranch .@@/main/sp_main
3.【ClearCase】工作中常用命令(下) http://www.itpxpj.com/course.do?method=getCourseInFront&courseId=111
version
1. 查看element的版本树
lsvtree: Lists version tree of an element
cleartool lsvt preferences.jsp
2. 删除version
删除version: rmver (Removes a version from the version tree of an element)
删除后,该element的后续版本才不会看见,但是前面版本都可以看见;
要彻底从vob删除,就需要管理员权限,此方法不推荐
$ ct lsvt .
.@@/main
.@@/main/1
.@@/main/7
$ ct rmver .@@/main/7
Removing these versions of ".":
/main/7
Remove versions? [no] yes
Removed versions of ".".
$ ct lsvt .
.@@/main
.@@/main/1
.@@/main/6
$ ct ci -nc .
checked in "." version "/main/8".
所以,删除一个文件的多个version后,下次version还是依原来删除前的version进行
3. 查看element操作历史
$ ct lshistory preferences.jsp
4. 比较不同version的文件
$ ct diff 1.html@@/main/8 1.html@@/main/9
checkin
- 进行checkin
Checkin单个文件
$ct ci -nc xxx.jsp (-nc就是无注释)
Checkin当前view下的当前目录下的所有文件(递归)
$ ct lsco -cview -r -s |xargs cleartool ci –nc
查看自己CO了多少文件
ct lsco -cview -avobs
if you want check in all the elements listed in one command, run
ct lsco -cview -avobs | awk -F "\"" "{print \$2}"| xargs -n1 cleartool ci -nc
- 创建提交新文件
1. 单个新文件
make目录:cleartool mkdir -c comment newdirectory
make文件:cleartool mkelem -c comment newfilename
make文件:
create a new file:先co父目录,再处理下面的文件(比如添加、删除),和linux目录权限管理一样的原理,添加、删除了父目录的子文件相当于修改了父目录的内容
$ ct co .
$ cp xxx.sh .
$ ct mkelem -nc xxx.sh
$ cd ../
$ ct lsco -cview -r -s
$ ct lsco -cview -r -s | xargs cleartool ci -nc
$ ls
或者使用:
$ct mkelem -nc -master -mkpath xxx.sh
$ct ci
2. 单个或者多个新文件(递归)
递归checkin当前目录下的所有新加的文件
首先,千万不要co父目录
$cleartool lsprivate . | xargs cleartool mkelem -nc -master -mkpath
$cleartool lsco -r -s | xargs cleartool ci –nc
cleartool lsco -s | xargs cleartool ci –nc
3. checkin多个文件(递归)
Check in 当前目录
Cleartool checkin .
Check in 当前目录下所有文件.
Cleartool Checkin –nc *.*
Check in当前目录下所有的文件和目录中的文件
cleartool find . $file -exec ‘cleartool checkin -nc –ide $CLEARCASE_PN’
checkout
- 查看checkout
* 查看当前目录下co的文件.
非递归:$ ct lscheckout
递归: $ct lscheckout –r
* 查看所有人的所有co文件
ct lscheckout -avobs
* 查看我的所有co文件
ct lscheckout -avobs -me
* 查看我的当前view的所有的co文件
cleartool lscheckout -cview -me -avobs
* 查看我的当前view的当前目录下及以下(递归)的co文件
$ ct lsco -cview -r
$ ct lsco -cview -r -s (-s = -short: short显示)
- 进行checkout
$ct co -nc xxx.jsp (-nc就是无注释的方式co)
Check out当前目录下所有文件
Cleartool Checkout –nc *.*
Check out当前目录下所有的文件和目录中的文件
cleartool find . $file -exec ‘cleartool checkout -nc $CLEARCASE_PN’
- 撤销checkout
$ct unco -keep filename
(默认会keep,保留本地自己的文件,会copy一份并另外取个.keep名字)
$ct unco -rm filename
(删除本地自己的文件)
撤销当前目录下所有co
$ct lsco -cview -r -s | xargs cleartool unco -rm
删除文件
删除clearcase一个目录下的文件:
$ ct co .
$ ct rm 1.log (注:不用checkout 1.log文件; 必须使用ct rm,如果不加ct的rm,只是删除了你的view的本地文件,没有对CC的服务器产生影响)
$ ll
total 0
$ ct ci -nc .
当错误删除某个文件file1:
可以使用以下命令还原:
$ ct ln .@@/main/versionX/file1 file1
clearcase常用命令的更多相关文章
- clearcase command (linux 常用命令)
http://publib.boulder.ibm.com/infocenter/cchelp/v7r0m0/index.jsp?topic=/com.ibm.rational.clearcase.h ...
- Linux 常用命令(持续补充)
常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...
- LVM基本介绍与常用命令
一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...
- Linux学习笔记(一):常用命令
经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- 【原】npm 常用命令详解
今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...
- npm常用命令
npm常用命令 环境:win7 npm 是什么 NPM(node package manager),通常称为node包管理器.顾名思义,它的主要功能就是管理node包,包括:安装.卸载.更新.查看.搜 ...
- Git 常用命令
一.初始環境配置 git config --global user.name "John Doe"git config --global user.email johndoe@ex ...
- linux iptables常用命令之配置生产环境iptables及优化
在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...
随机推荐
- z-index要同级比较,absolute包含块外有overflow-hidden
z-index只能在position属性值为relative或absolute或fixed的元素上有效. z-index只决定同一父元素中的同级子元素的堆叠顺序. position:absolute ...
- javaku快捷键
Eclipse 的编辑功能非常强大,掌握了 Eclipse 快捷键功能,能够大大提高开发效率.Eclipse 中有如下一些和编辑相关的快捷键. 1. [ALT+/] 此快捷键为用户编辑的好帮手,能为用 ...
- ASP.NET身份验证的几种方式
1.windows身份验证 2. Forms验证 3.Passport验证 4.none http://www.jb51.net/article/30510.htm
- C语言,调试必备的DEBUG宏定义
1. #include <stdio.h> #include <stdarg.h> //仅仅是打印函数名字替换 DEBUG <--> printf #define ...
- 修改linux多系统启动顺序
Ubuntu和XP双系统grub2默认启动项设置为XP 装了双系统后,在开机时总会有想让一个系统默认启动的时候,一般安装完Ubuntu和XP双系统后,开机时默认的是启动Ubuntu系统,但是当想让XP ...
- [转]apache的源码安装详细过程全纪录
原文链接:http://www.jb51.net/article/59474.htm 文中 开机启动需要修改 而且特别麻烦 还的配置php 否则不认识php文件 郁闷!只能做参考了!
- maven 构建web项目index.jsp报错
The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path... 解决 ...
- 【HTTP 2】 序言
笔者序 HTTP 2 这个关键词在各大 IT 网站出现频率节节升高,然而出现在大家视野里的,仍以浅析居多.虽有一部分实战(如 InfoQ 之前推送的 iOS App 网络层次架构优化),但针对 HTT ...
- 区间重合判断(pojg校门外的树)
pojg:http://poj.grids.cn/practice/2808 解法1:以空间换时间: #include<stdio.h> #include<string.h> ...
- [置顶] 浏览器模式和标准对于javascript的影响
今天在编写代码的时候遇到了一个莫名其妙的问题,请看下面 <html> <head> <title> Test </title> <!--<m ...