ClearCase基本操作

 

 

应用ClearCase人员的一些基本操作

 

       以下归纳的操作都是ClearCase最基本的操作,每个操作人员都应该熟练的掌握,以提高工作效率。下面给出了图形界面和命令行模式两种方式下的操作方法。

 http://wenku.baidu.com/link?url=Sf5jBej3ttrdP1HrETi3li2ZMpY5uavHeouJdFfjRNXO4HjIrVF2kUMCcaLQ6yD11DsOrioNxp8_PYKnoS7eiYwf9TvHKBYEiZ5_aCSymG3

Add To Source Control

 

       此操作的目的是将文件系统中的元素放入版本控制库,作为版本控制元素来管理。图形界面下,操作是右键点击要添加的元素,选择add to source contronl即可;命令行命令为mkelem

 

²  在命令行模式下,执行mkelem命令时,必须保证要添加为版本控制元素的文件或目录的上一级目录已经被checkout出来。并且默认状态下,执行了mkelem命令后所添加的元素保持checkout状态。

 

       如:某文件test.txt在目录1下面 1\test.txt,则在对test.txt文件进行mkelem操作时,必须保证目录1已经被checkout出来了。

 

²  在图形界面下如下图所示,Checkout after adding to source control选项如果被选中,当添加到版本控制之后,元素保持checkout状态。

 

      

 

CheckOut

 

       这是编辑ClearCase版本控制元素的最基本方法,每人必须熟练掌握。

 

CheckOut操作:版本控制元素默认状态下是read-only的,只有通过此动作才能将元素的状态修改为可写的,才能对文件进行编辑。图形界面右键点击需要checkout的元素,点击check out…即可;命令行命令为checkout或者co
    CheckOut
分成两种方式ReservedUnreservedReserved方式从字面上理解是保留的checkout,采用此方法进行checkout之后,他拥有首先checkin的权力,如果他没有ci,其他人没有权力ciUnreserved方式是非保留的checkout,采用此方法进行checkout之后,与其他对该元素进行非保留checkout的人具有相同的checkin优先权。同时ReservedUnreserved方式的checkout可以通过命令进行相互转化。

 

²  命令行方式co时,首先提示“Checkout comments for "***"”,需要给出co的注释,注释以另起一行的”.”结束。默认情况下进行的checkoutReserved checkout

 

²  图形方式co时,默认情况下Reserved复选框是被选中的,如果想在元素被其他人以Reserved方式checkout时,仍然checkout则选中第二个复选框Unreserved if already reserved

 

 

CheckIn

 

CheckIn操作:用来将元素从可写状态转换成只读状态,并形成新的版本。当对元素进行了edit操作之后,需要将元素新的版本保存到版本控制库中去,而在没有进行checkin操作之前元素在版本控制库中是不形成版本的。

 

对于edit操作可以直接将文件打开修改,也可以用修改好的文件覆盖已经checkout的文件,然后进行ci操作。

 

图形界面在需要checkin的元素上,右键点击Check In…选项即可;命令行命令为checkin或者ci

 

²  在图形界面ci时,当所checkout的版本与上一版本比较起来没有变化时,cc会自动给出提示信息说明当前版本与上一版本内容相同,不形成版本。

 

如果明知道两个版本内容相同还是想形成新的版本,可以在checkin时通过check in even if identicall to previos选项,达到即使与迁移版本内容相同,在checkin时也间里新版本的目的。如下图

 

 

²  在命令行方式ci时,默认情况下提示输入注释:Checkin comments for "test.txt":;如果在checkout时已经输入了注释则先给出注释的内容,然后提示:Checkin comments for "test.txt":  ("." to accept default)
如果需要将与上一版本相同的版本ci,需要添加参数 –identical

 

Undo CheckOut

 

       Undo checkout操作:是与checkin操作对应的操作,当进行了edit操作之后,如果觉得所做的修改不需要保存新的版本则使用此操作。

 

       图形界面的操作,只需要右键点击需要作unco的元素,选择Undo checkout…即可;在命令行情况下使用命令uncheckout或者unco

 

²  图形界面时:会提示是否保存当前版本的元素,将其保存为.keep文件。如果认为有保存的必要则需要选择此复选框。

 

²  命令行时,也会给出如此提示:Save private copy of "11.txt"?  [yes];如需保留.keep文件则在unco时应用-keep选项。

 

查看历史信息

 

       通过查看历史信息,了解元素改动情况。图形界面操作方式是,右键点击需要查看历史的元素,选择history选项即可;命令行方式使用命令lshistory

 

²  图形方式界面如下,可以得到修改时间、用户、文件名称、事件类型、版本及修改注释。

 

 

²  命令行方式同样会给出以上信息。

 

Find CheckOuts

 

查找所有正在被CheckOut的元素,给出列表。利用此操作可以方便的找出所有没有ci的元素,为大家的工作提供了方便。此操作在图形界面一般情况是针对目录的操作。命令行模式命令为lsco或者lscheckout

 

²  图形界面中,首先给出find标准界面。分别表示目录选择,用户选择,View选择。

 

 

 

如果选择包括所有子目录,包括所有人,和在所有的view中查找则会得出以下结论

 

 

²  命令行模式lsco,如需查找所有co的元素需要加参数-all

 

查看版本树(Version Tree

 

通过查看版本树,了解元素的改动情况。更重要的是在版本树浏览界面里可以作一些其他相关的重要操作。图形界面方式查看版本树,只需右键点击所需元素选择Version Tree即可;命令行方式,应用命令lsvtree。下图列出了在版本树浏览窗口中进行cociunco,比较版本,merge,查看历史信息,删除某一版本,将某一版本发送桌面或我的文档中进行查看

 

 

比较元素的两个版本

 

利用比较功能可以得出版本之间的具体区别。

 

注意:在比较.doc文档的两个版本时,这两个版本的修订选项必须如下显示,所有选项都不能选择

 

 

否则就会出现如下错误:

 

 

²  在图形界面中,右键点击需要查看版本的元素选择Compare with Previous Version即可,结果是将当前版本与上一版本进行比较。如需其他方法比较,需要在version tree浏览窗口进行比较,选择相应版本,右键,选择compare,选择with another version,之后鼠标指针变成准星模样,选择需要比较的版本,即可得出相应结果。

 

以下是比较结果界面:

 

 

²  利用命令行进行版本比较需要应用命令diff。如需与上一版本进行比较需要加参数-pre。在命令行方式下,如果两个版本内容相同,ClearCase将不进行比较。
例如:

 

cleartool> diff 11.txt@@\main\5 11.txt@@\main\2

 

********************************

 

<<< file 1: 11.txt@@\main\5

 

>>> file 2: 11.txt@@\main\2

 

********************************

 

-------------[changed 4]---------------|-------------[changed to 4]------------

 

why test teszcxcxzcxzCxdfsfafddasfdasf+| why test test +

 

-|-

 

查看私有文件

 

view中既有版本控制元素,也有一些不需要进行版本控制的私有元素。目录和文件的类型分别是View_private directoryview_private file。在图形界面可以直观的看到文件类型,即可知道哪些是私有文件;在命令行模式下,应用lsprivate命令得出私有文件。

 

Merge提取

 

Merge提取是指将integration分支上最新的工作产品与个人工作分支上的工作产品进行合并。

 

操作步骤如下:

 

1、  右键点击view,选择第二行“Merge Manager…

 

2、  出现以下界面,选择Merge to dynamic view,选择自己的view,点击next

 

3、  选择你要进行Merge的目录,点击Add进行添加,之后点击Next

 

4、  选择Where do you want to merge from。第一个选项Select latest from branchintegration,点击Next

 

5、  圆角矩形标注: Yes:查找对VOB的连接;
No: 不查找
圆角矩形标注: Yes:包含目录和目录下的文件;
No:只对目录进行Merge
圆角矩形标注: 选择no,则连同目录的合并都不自动作选项说明,点击Finishi

 

6、  查看选择结果,如果没有问题,点击Find

 

7、  出现以下提示,点击是:对所有列在8步骤中图里的工作产品进行merge;点击否关闭此窗口后自己选择需要Merge的工作产品

 

8、  根据上述条件选择出来的需要Merge的内容,初始条件下MergedCheckied Out都是No

 

9、  选择需要merge的文件,进行Merge

 

10、              圆角矩形标注: Yes:用图形界面进行merge(建议在作二(多)人并发操作时使用此选项);
No:尽可能的自动merge,如果遇到不能解决的问题,则转为图形界面merge
Merge第一步,将merge目标checkout出来,以便存放合并后的内容。写好注释,点击OK

 

11、              Merge之后的状态如下图,mergedyesChecked OutResevedUnreserved

 

12、              对工作产品进行Checkin

 

13、              Checkin结束之后的状态,MergedYesChecked OutNo

 

Merge提交

 

Merge提交是指将个人工作分支上的工作产品Mergeintegration分支上,具体操作流程与Merge提取相似,分如下步骤

 

1、  选择merge manager

 

2、  选择Merge to dynamic view(此时选择integration_view

 

3、  选择你要进行Merge的目录

 

4、  选择Where do you want to merge from。第一个选项Select latest from branchintegration,点击Next(此时选择你自己的分支)

 

5、  进行merge

 

6、  merge结果checkin

 

Snapshot ViewUpdate

 

²  Update view

 

1、  右键点击snapshot view,选择update view …

 

2、  等待进行update,从服务器上面取最新的工作产品。

 

 

 

²  Update目录或VOB中的内容

 

右键点击目录或VOB,选择update

 

 

 

 

手动合并文件的两个版本

 

1、  在版本树种进行merge,选择Merge to…,如下图

 

2、  选择merge目的版本,出现以下界面,
圆角矩形标注: Yes执行merge,选择图形界面方式圆角矩形标注: No不进行merge,保留merge线

 

3、  merge目标版本Checkout

 

4、  进行图形界面手工merge,将鼠标指在下图红框区域内,会显示出黄色的注释条,告诉你鼠标指示的版本


 

5、  对照版本树查看所选版本在版本树中的位置
如上图中

 

6、  圆角矩形标注: 蓝色竖线对应的内容表示冲突点的内容圆角矩形标注: 此区域用来记录合并之后的成果利用下图中红框中的按钮解决冲突:箭头表示查找下一个冲突点,1 2 3表示选择下面对应的左、中、右三块工作区的内容,例如:对于某个冲突觉得中间版本的内容是想选择的内容,则选择2,选择之后还可以在中间区域中修改,直至满意为止。

 

7、  保存,关闭merge窗口

 

8、  merge成果checkin

 

 

 

 

 

posted @ 2015-04-16 00:38  马骝  阅读(4880)  评论(0编辑  收藏  举报