图形化操作,也基本够用了,但很多操作,还是命令方便。
这篇文章用来总结常用的CC命令,留着以后方便找。
1、把<DirectoryToBeImported>文件夹(未加入版本控制)及其中所有的子文件,加入到<VOBDirImportedTo>文件夹(CC上的文件夹)下
clearfsimport -recurse -nsetevent <DirectoryToBeImported> <VOBDirImportedTo>
例:想把 自己本地的一个文件夹 C:\HelloWorld 及其所有子文件 全部加入到 M:/tmp目录下:
clearfsimport -recurse -nsetevent C:\HelloWorld M:\tmp
执行之后,就多出了M:\tmp\HelloWorld及其中的内容。
2、删除指定目录下,所有自己的开发分支。自己开发时,会拉出开发分支,Merge后,经常懒着去删自己的分支。后来别人在主分支上加了新的内容,自己就会看不到,所以,经常删除自己的开发分支,是个好习惯。
cleartool find <要删除分支的目录> -branch brtype(<要删除自己开发分支的名字>) -exec "cleartool rmbranch -force %CLEARCASE_XPN%"
例:想要删除M:\tmp\HelloWorld下面所有自己的开发分支 fangniude_dev:
cleartool find M:\tmp\HelloWorld -branch brtype(fangniude_dev) -exec "cleartool rmbranch -force %CLEARCASE_XPN%"
执行之后,开发分支都被递归删掉了,保证自己看到的是主分支上最新的东西了。
3、创建Label,这里说的是创建,在打一个新的Label前,要先创建它。当然,可以通过国货工具来创建,这里只说脚本。
cleartool mklbtype -nc <Label的名称>
例:要创建一个名为Build20120608的Label:
cleartool mklbtype -nc Build20120608
执行之后,在打Label时,就不会告诉你,没有这个Label了。
4、打Label到指定点,如果在这个文件上还没打过,就打在这个点上,如果已经打在其他点上了,就移过来。
cleartool mklabel -replace <Label的名称> <要打在哪个点上>
例:要把已经创建好的Build20120608打到 M:\tmp\HelloWorld目录 int_v2012分支的3这个点上:
cleartool mklabel -replace Build20120608 M:\tmp\HelloWorld@@\main\int_v2012\3
5、打Label到指定目录下所有文件 的 指定分支的最新点上,在出Patch时,会拉Patch分支,Label只打到有Patch分支的所有点上。
cleartool find <哪个目录下> -version "{version(...\<分支的名字>\LATEST)}" -exec "cleartool mklabel -replace <Label的名称> %CLEARCASE_XPN%"
例:要在 M:\tmp\HelloWorld 目录下 所有文件的 int_v2012 分支的最新版上打上 Build20120608 Label:
cleartool find M:\tmp\HelloWorld -version "{version(...\int_v2012\LATEST)}" -exec "cleartool mklabel -replace Build20120608 %CLEARCASE_XPN%"
6、打到snapshot view上未加入版本控制的文件。在静态视图上,会加入一些自己的文件,加的时候,不想马上加入版本控制,后来要加入的时候,却忘了自己曾经增加过哪些文件。这个时候,用下面的命令
cleartool ls -recurse -view_only
执行后,会列出view only的文件,也就是在你本地View上加入的文件。
先写这些,以后发现有用的,再补充。