• 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(mainLATEST) && ! 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,如果不加ctrm,只是删除了你的view的本地文件,没有对CC的服务器产生影响)

    $ ll

    total 0

    $ ct ci -nc .

       当错误删除某个文件file1

       可以使用以下命令还原:

       ct ln .@@/main/versionX/file1 file1

     

  • 相关阅读:
    Spark学习笔记1
    Scala学习笔记
    Scala实现网站流量实时分析
    使用Docker搭建Spark集群(用于实现网站流量实时分析模块)
    使用Docker搭建Hadoop集群(伪分布式与完全分布式)
    Docker配置阿里云镜像源
    从centos7镜像到搭建kubernetes集群(kubeadm方式安装)
    来做一个简单的成绩查询!(输入输出)
    String类的知识点(不断更新)
    人机猜拳游戏Java
  • 原文地址:https://www.cnblogs.com/mylinux/p/5007166.html
Copyright © 2020-2023  润新知