mkview 用法详解:mkview - Support - IBM

创建View的命令相对来讲十分直截了当。

cleartool mkview -snapshot -tag ViewName -vws \\Server\ViewStore\ViewName.vws snapshot-view-pname

 1. 创建 view. 

创建snapshot view, 简单的设置,需要四个必备参数。

1)      –sna/pshot

指定创建的是snapshot View。

2)      -tag 

指定view的名称,会记录在注册表中。

ViewName必须唯一。可以使用lsview这条命令验证这个名称是否已经被其它View使用。

举例:

如果已经被使用,会显示该View 名称所在的UNC路径,如下所示。

C:\Users\sh>cleartool lsview ViewName

ViewName           \\Server\ViewStore\ViewName.vws

如果没有被使用,会提示没有找到匹配项,如下所示:

C:\Users\sh>cleartool lsview ViewName

cleartool: Error: No matching entries found for view tag "ViewName".

3)      –vws

指定 snapshot view存储目录的路径。在Windows系统上,必须是UNC名称。

UNC是什么?请参照: Universal Naming Convention (UNC)

例如:\\MyServer\ViewStore\myview.vws

注意:

a)       ViewStore必须是共享文件夹,并且需要指定某些用户或者所有人具有该文件夹的读写权限。

b)       Myview.vws不是一个文件,而是文件夹。

 

4)       snapshot-view-pname

指定snapshot view 的存放路径。

可以在任意目录下创建该路径,当然前提是你有权限在该目录下创建子目录。还要考虑到将来view的大小增长,要留有足够的空间。

例如:C:\views\myview

同时还有如下限制:

a)      不能在dynamic view的目录下创建snapshot view(在UNIX/Linux上,目录是/view;Windows上是 drive M).

b)      Snapshot-view-pname不能是已经存在的 view 存储目录的子目录。

例如: view 存储目录为:\\Server\ViewStore\MyView.vws

Snapshot-view-pname 不能创建在MyView.vws下,即不能是 MyView.vws的子路径。

------------------------------------------------------------------------------------------------

举例:举一个我在工作中用到的一个场景

ClearCase 的 server 是一个网络服务器。

需要创建 snapshot view,但是希望存放在自己的工作机上,不放在服务器上。

Step 1: 创建View storage directory。

创建 C:\ViewStore, ViewStore设置为共享,所有人可读写。

Step2: 访问View storage directory

自己电脑的名称(Compute name) 就是server的名称。

那么相对应的 UNC格式就是: \\ComputerName\ViewStore

在运行窗口,输入这个路径,回车,即可访问ViewStore。

Step3: 确定存放view的路径。

C:\Views

Step 4: 创建Snapshot view.

打开cmd 窗口,输入如下命令,回车即可。

cleartool mkview -snapshot -tag Test_view -vws \\ComputerName\ViewStore\Test_view.vws C:\Views\Test_view

参考链接:http://www.philforhumanity.com/ClearCase_Support_22.html

--------------------------------------------------------------------------------------------------------------

创建好 view 后,下面介绍如果导出、导入以及编辑 Config spec 。

2. 导出、导入 Config spec

1) catcs [ –tag view-tag ]
显示view 的 config spec

2) setcs [ –tag view-tag ] [ –ove/rwrite | –ren/ame ] [ –cti/me | –pti/me ] { –cur/rent | –def/ault | pname | –stre/am }
设置 view 的 config spec.
-tag
要设置 snapshot view 的 config spec, 当前的工作目录必须在 snapshot view 的根目录或根目录之下。
由此,-tag 这个选项就不再需要了。

–pti/me
将时间戳设置为当前版本 check in 至 clearcase 的时间。

-cti/me
将时间戳设置为当前时间,即当前版本拷贝到view中的时间。

举例:
1) 获取指定 view 的 config spec
cmd-context> cleartool catcs -tag Test_view
element * CHECKEDOUT
element * /main/LATEST

2) 如果没有 -tag 选项,会以当前的工作目录作为当前的 view。
C:\Views\Test_view>cleartool catcs
element * CHECKEDOUT
element * /main/LATEST

3) 将读取到的 config spec 写入文件。
C:\Views\Test_view>cleartool catcs >config.txt
读取到的config spec,就会写入 config.txt 文件中。

4) 从指定文件中导入 config spec.
C:\Views\Test_view2>cleartool setcs -ptime C:\Views\Test_view\config.txt

3. 编辑 config spec

edcs [ –ove/rwrite | –ren/ame ] [ –cti/me | –pti/me ] [ file ]
编辑 view 的 config spec.

edcs 命令会通过启动一个文本编辑器来编辑已经存在的 config spec.
这个config spec 可以是一下的一种情况:
a) view 当前使用的 config spec.
b) 你想要编辑的一个文本,然后将这个文本作为 view的 config spec .

编辑结束后,会显示提示信息:
Set config spec and load snapshot view “view-tag”? [yes]
如果输入 yes, 修改的 config spec就会设置为 view 的 config spec.

如果编辑的内容导致元素 unloaded ,会弹出 unloaded 的警告信息,如下所示:

C:\Views\Test_view>cleartool edcs C:\Views\Test_view2\config.txt
Set config spec and load snapshot view "Test_view"? [yes] yes
cleartool: Warning: 1 objects were eliminated from the new config spec's load rules:
"\TestVob"
Continue, and unload these objects? [no] no
Errors during compilation - edit config spec? [yes] no

04-21 06:00