如何在命令行的所有临时视图中取消签出文件?

时间:2019-06-05 17:43:11

标签: clearcase

背景

我目前正在测试一个脚本,该脚本创建一个临时视图并签出要由进程更新的四个软件包文件。但是,我的脚本还没有达到可以取消检出步骤的地步。这将导致30多个临时视图,这些视图都包含软件包文件的签出版本。

尝试的解决方案

我可以进入图形化的案例树,然后手动按住Ctrl键并单击所有已签出的临时视图,然后单击“取消签出”按钮。但是,这将在数百次测试后变得不可靠,因此我想知道一种执行此操作的命令行方法。我所有的临时视图的格式都为“ TMP_abc_QUA _ ###”。

问题

我如何使用bash从linux命令行在所有临时视图中取消签出文件?

1 个答案:

答案 0 :(得分:1)

如“ How to remove checked-out references of a view from a VOB”所述,您可以简单地描述一个VOB:

 cleartool describe -long vob:\baseccvob

您将看到哪些视图包含对象:

VOB holds objects from the following views:
MYHOST:C:\VIEW\TEST.vws [uuid a7fc590.42f34d53.ae68.b6:30:f5:30:c5:a4]

对于属于临时视图的每个视图,您可以执行以下操作:

cd /aview/aVob
cleartool rmview -uuid fa7fc590.42f34d53.ae68.b6:30:f5:30:c5:a4 

这将删除该视图中aVob中任何文件的所有结帐状态。

循环并重复其他临时视图。

我过去使用过(Windows语法)

cd M:\aview\avob
ct descr -l vob:\aVob|grep TMP_|gawk "{gsub(/]/,\"\",$3); print \"cleartool rmview -uuid \"$3}"|cmd

在Linux上:

cd /views/aView/vobs/aVob
cleartool descr -l vob:/vobs/aVob|grep TMP_|gawk "{gsub(/]/,\"\",$3); print \"cleartool rmview -uuid \"$3}"|sh