图形化操作,也基本够用了,但很多操作,还是命令方便。


这篇文章用来总结常用的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上加入的文件。



先写这些,以后发现有用的,再补充。