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

How can I uncheckout a file in all of my temporary views in command line?

背景

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

尝试的解决方案

我可以进入图形化的 clearcase 树并手动按住 Ctrl 键并单击所有已签出的临时视图,然后单击取消签出按钮。但是,经过几百次测试后这会变得很笨拙,所以我想知道一种命令行方式来做到这一点。我所有的临时视图都采用 "TMP_abc_QUA_###".

格式

问题

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

如“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(/]/,\"\",); print \"cleartool rmview -uuid \"}"|cmd

在 Linux:

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