clearcase常用命令集錦
1.將整個目錄導入clearcase
clearfsimport -r‘源路徑’ ‘目標路徑’
將整個目錄導入clearcase
clearfsimport -recurse /xxx/xxx/xxx/src /view/zhuj/home/vobs/cc_account
/xxx/xxx/xxx/src目錄(包括此目錄下的所有目錄和文件)被導入/view/zhuj/home/vobs/cc_account中(/view/zhuj/home/vobs/cc_account/src)
2.加鎖
find . -name '*.*' -exec 'cleartool lock nuser userame1,username2 "%CLEARCASE_PN%"'
3.解鎖
find . -name '*.*' -exec 'cleartool unlock "%CLEARCASE_PN%"'
4.轉換格式
chtype -f compressed_file “fileName”
5.查看VOB的基本信息和UUID
des -l vob:.
6.刪除視圖
rmview -uuid "UUID"
7.刪除lost+found
find . -name '*.*' -exec 'cleartool rmelem -f "%CLEARCASE_PN%"'
8.查詢某一天的修改記錄
cleartool lshis -r -since 07-dec
9.最基本的操作
cleartool co -nc filename
cleartool ci -nc filename
10.查看自己總共co了多少文件
cleartool lscheckout -cview –me -vobs
11.make目錄和文件
cleartool mkdir -c comment newdirectory
cleartool mkelem -c comment newfilename
12.主線、分支文件合併
//查找需要合併的文件
cleartool findmerge . -fversion /main/TEST_Path -print
//比較文件不同
cleartool diff filename [url=mailto:file.cpp@@/main/xxxx_path/LATEST]filename@@/main/TEST_Path/LATEST
//查看最新版本
cleartool lsvtree filename
//合併
cleartool merge -to filename [url=mailto:file.cpp@@/main/xxxx_path/LATEST]filename @@/main/TEST_path/LATEST [url=mailto:file.cpp@@/main/LATEST]filename @@/main/LATEST
13.標籤相關
cleartool mklbtype -nc TEST_LABEL
cleartool mklabel -r TEST_LABEL filename
cleartool rmtype lbtype:TEST_LABEL
//給所有打上TEST_LABEL標籤的文件打上TEST_LABEL標籤
cleartool mklabel -replace -version /main/TEST_LABEL TEST_LABEL *
//查找打上TEST_LABEL標籤的所有文件
cleartool find . -version "lbtype(TEST_LABEL)" -print
//查找打上TEST_LABEL和TEST_LABEL1標籤的文件
cleartool find . -element 'lbtype_sub(TEST_LABEL) && lbtype_sub(TEST_LABEL1)' -print
14.察看某目錄下的文件
ls
15.man/help命令
cleartool man xxx
cleartool help xxx
16.放棄co某個文件
cleartool unco -keep filename
cleartool unco -rm filename
17.更改VOB的Owner:
cleartool protectvob –chown root /vob/vob.vbs
18. 更改VOB的Group:
cleartool protectvob –chgrp alluser /vob/vob.vbs
19.增加Additional Group:
cleartool protectvob –add_group group1 /vob/vob.vbs
20.刪除Additional Group:
cleartool protectvob –delete_group group1 /vob/vob.vbs
21. 更改group、owner、mod
protect -r -chgrp groupname–chown username -chmod 770 .
22.創建VOB
cleartool mkvob -tag /vobtags/test_code -c "Test" "D:\Data\Tets.vbs"
23. Mount vob
Cleartool mount /vobtags/vob
24. 創建視圖
cleartool mkview –tag test /ccvob/views/test.vws
25. 設置當前視圖
cleartool setview test
26.設置當前的activity
cleartool setactivity activityname
27. Check out
Check out一個文件
Cleartool checkout [-reserve][-unreserve] filename
Check out前目錄
Cleartool checkout .
Check out當前目錄下所有文件
Cleartool Checkout –nc *.*
Check out當前目錄下所有的文件和目錄中的文件
cleartool find . $file -exec ‘cleartool checkout -nc $CLEARCASE_PN’
28. Check in
Check in 一個文件
Cleartool checkin filename
Check in 當前目錄
Cleartool checkin .
Check in 當前目錄下所有文件.
Cleartool Checkin –nc *.*
Check in當前目錄下所有的文件和目錄中的文件
cleartool find . $file -exec ‘cleartool checkin -nc –ide $CLEARCASE_PN’
以上內容來自:http://hi.baidu.com/is%CC%EC%B2%C5/blog/item/36bfbfc83cced1117f3e6fa0.html
常用命令:
創建view:clt mkview -tag view_abcd /view_store/view_abcd.vws
設置view: clt setview view_abcd
編輯config specification: clt edcs
創建branch type:clt mkbrtype dbg_branch1_comments
在某個文件的當前branch上, 拉出一個branch:
clt mkbranch dbg_branch1_comments filename.c
now you have make branch on the file, and checked it out.
you can edit it with gvim.
After changed codes, you can complie it successfully, and test the result, you can check it in.
clt ci filename.c
If you want to check out it again:
clt co filename.c
To change the branch name to a formula name you can use the command:
clt rename brtype:dbg_branch1_comments brtype:crnumber_branch1_comments
To see the version tree of a file:
clt lsvtree -g filename.c
To see which files is included in a branch, you can edit a script like this find_branch.sh:
echo "$1"
cleartool find -avobs -element "brtype("$1")" -nxn -print | xargs cleart
ool ls -s|grep "$1"
To compare files, I write a useful script file mydiff.
You can use xcc& to open graphic clearcase. So you can do most thing through the menu.
clearcase實用命令
查找分支上的文件
find . -branch brtype(branchname) -print
創建分支
mkbrtype -c "comment" branchname
創建Label
mklbtype -c "comment" labelname
用於 cleartool find 查詢:
cleartool find -all -version “lbtype(REL1)” -print
find . -version 'lbtype(LABEL)' -print
鎖分支命令
lock brtype:branchname
創建trigger
trigger已存在
mktrtype mktrtype -replace -element -all -preop mkelem -nusers shiquan -exec http://www.cnblogs.com/samcn/admin/file://192.168.1.5/cc_trigger/false.bat NO_RM_MK
trigger不存在
mktrtype mktrtype -element -all -preop mkelem -nusers shiquan -exec http://www.cnblogs.com/samcn/admin/file://192.168.1.5/cc_trigger/false.bat NO_RM_MK
日常開發人員常用命令
開發人員常用命令
1. 建立vob
mkvob –tag /vobtags/vob1 –c “ VOB for project1” /vobstore/vob1.vbs
2. Mount vob
Cleartool mount /vobtags/vob1
3. 創建視圖
cleartool mkview –tag test1 /ccvob/views/test1.vws
4. 設置當前視圖
cleartool setview test1
5. 在VOB的根目錄下到入數據:
clearfsimport –recurse –c “ comments “ /home/setup/* . ,注意命令的最後爲圓點,表示當前目錄。
6. 改變VOB的Owner:
cleartool protectvob –chown root /vobstore/vob1.vbs
7. 改變VOB的Group:
cleartool protectvob –chgrp alluser /vobstore/vob1.vbs
8. 增加Additional Group:
cleartool protectvob –add_group group1 /vobstore/vob1.vbs
9. 刪除Additional Group:
cleartool protectvob –delete_group group1 /vobstore/vob1.vbs
修改vob中數據的權限信息
10. 將jmccboss VOB 中所有元素Owner 改成ccadmin,Group改成jmccboss:
Cleartool protect –chown ccadmin –chgrp jmccboss .
.爲vob根目錄
11. 將jmccboss VOB 中所有元素權限 改成對ccadmin(rwx),jmccboss(rwx),其他VOB附屬組成員(r-x):
例: Cleartool protect –recurse –chmod 775 . ,
12. Mount vob
Cleartool mount /vobtags/vob1
13. 創建視圖
cleartool mkview –tag test1 /ccvob/views/test1.vws
14. 設置當前視圖
cleartool setview test1
15. 在VOB的根目錄下到入數據:
clearfsimport –recurse –c “ comments “ /home/setup/* . ,注意命令的最後爲圓點,表示當前目錄。
16. Check out
Cleartool checkout [-reserve][-unreserve] b.c Check out一個文件
Cleartool checkout . Check out當前目錄
Cleartool Checkout –nc *.* Check out當前目錄下所有文件
cleartool find . $file -exec ‘cleartool checkout -nc $CLEARCASE_PN’
Check out當前目錄下所有的文件和目錄中的文件
17. Check in
Cleartool checkin b.c Check in 一個文件
Cleartool checkin . Check in 當前目錄
Cleartool Checkin –nc *.* Check in 當前目錄下所有文件.
cleartool find . $file -exec ‘cleartool checkin -nc –ide $CLEARCASE_PN’
Check in當前目錄下所有的文件和目錄中的文件
18. 建立一個snapshot view
cleartool mkview –tag pat_2_snapshot_view –snapshot /viewstore/pat/myviews.vws
19. 編輯config spe
Cleartool edcs
20. 更新snapshot view
cleartool update pat_2_snapshot_view
21.設置當前的activity
cleartool setactivity activityname
gaibian leixing: chtype binary_delta_file Estonian.r
錯誤 :clearfsimport: Error: Trouble was encountered importing the following elements:
D:\work\shiquan_study\Broadcom070122\BCM_R2.10_A1\mmi\design\gui\res\ffs_preload\CD_5_2_6.dm
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
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
l 進行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
l 創建提交新文件
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
l 查看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顯示)
l 進行checkout
$ct co -nc xxx.jsp (-nc就是無註釋的方式co)
Check out當前目錄下所有文件
Cleartool Checkout –nc *.*
Check out當前目錄下所有的文件和目錄中的文件
cleartool find . $file -exec ‘cleartool checkout -nc $CLEARCASE_PN’
l 撤銷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縮寫爲ct,在linux下可以使用alias,在windows下可以使用doskeys.
1. 是文件或目錄可編輯
ct co -nc yourfile/yourdir
2. 修改完成文件後,提交
ct ci -nc yourfile/yourdir
3. 取消修改
ct unco yourfile/yourdir
4. 給clearcase中追加新的文件或者目錄
ct co -nc parent_dir
ct mkelem yourfile/yourdir(這種情況是創建)
ct mkelem -mkpath yourfile/yourdir(這種情況是文件或目錄已經存在)
ct ci -nc parent_dir
5. 刪除文件或目錄(這裏的刪除和ct rmelem不一樣,我會寫文章說明)
ct coparent_dir
ct rmname yourfile/yourdir
ct ci parent_dir
6. 顯示當前的工作view
ct pwv
7. 顯示當前view的conf-spec
8.顯示出當前目錄和子目錄下被check out出來的element
ct lsco -cview -rec
9.顯示出當前目錄和子目錄下自己新建的目錄或文件
ct ls -r -view_only
ct lsprivate
10.顯示圖形化的diff
ct diff -g -pre yourelement
ct diff -g yourelement yourelement@@/main/5
11. 顯示版本tree
ct lsvtree -g yourelement
12.獲得element的具體信息
ct describe yourelement
13. 其他
cleartool find
cleartool lstype
cleartool man fmt_ccase
clearimport