应用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分成两种方式Reserved和Unreserved。Reserved方式从字面上理解是保留的checkout,采用此方法进行checkout之后,他拥有首先checkin的权力,如果他没有ci,其他人没有权力ci;Unreserved方式是非保留的checkout,采用此方法进行checkout之后,与其他对该元素进行非保留checkout的人具有相同的checkin优先权。同时Reserved和Unreserved方式的checkout可以通过命令进行相互转化。
² 命令行方式co时,首先提示“Checkout comments for "***"”,需要给出co的注释,注释以另起一行的”.”结束。默认情况下进行的checkout是Reserved 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。下图列出了在版本树浏览窗口中进行co,ci,unco,比较版本,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 directory和view_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 branch:integration,点击Next
5、 选项说明,点击Finishi
6、 查看选择结果,如果没有问题,点击Find
7、 出现以下提示,点击是:对所有列在8步骤中图里的工作产品进行merge;点击否关闭此窗口后自己选择需要Merge的工作产品
8、 根据上述条件选择出来的需要Merge的内容,初始条件下Merged和Checkied Out都是No
9、 选择需要merge的文件,进行Merge
10、 Merge第一步,将merge目标checkout出来,以便存放合并后的内容。写好注释,点击OK
11、 Merge之后的状态如下图,merged为yes,Checked Out为Reseved或Unreserved
12、 对工作产品进行Checkin
13、 Checkin结束之后的状态,Merged为Yes,Checked Out为No
Merge提交
Merge提交是指将个人工作分支上的工作产品Merge到integration分支上,具体操作流程与Merge提取相似,分如下步骤
1、 选择merge manager
2、 选择Merge to dynamic view(此时选择integration_view)
3、 选择你要进行Merge的目录
4、 选择Where do you want to merge from。第一个选项Select latest from branch:integration,点击Next(此时选择你自己的分支)
5、 进行merge
6、 将merge结果checkin
Snapshot View的Update
² Update view
1、 右键点击snapshot view,选择update view …
2、 等待进行update,从服务器上面取最新的工作产品。
² Update目录或VOB中的内容
右键点击目录或VOB,选择update
手动合并文件的两个版本
1、 在版本树种进行merge,选择Merge to…,如下图
2、 选择merge目的版本,出现以下界面,
3、 将merge目标版本Checkout
4、 进行图形界面手工merge,将鼠标指在下图红框区域内,会显示出黄色的注释条,告诉你鼠标指示的版本
5、 对照版本树查看所选版本在版本树中的位置
如上图中
6、 利用下图中红框中的按钮解决冲突:箭头表示查找下一个冲突点,1 2 3表示选择下面对应的左、中、右三块工作区的内容,例如:对于某个冲突觉得中间版本的内容是想选择的内容,则选择2,选择之后还可以在中间区域中修改,直至满意为止。
7、 保存,关闭merge窗口
8、 将merge成果checkin