背景
我目前正在测试一个脚本,该脚本创建一个临时视图并签出要由进程更新的四个软件包文件。但是,我的脚本还没有达到可以取消检出步骤的地步。这将导致30多个临时视图,这些视图都包含软件包文件的签出版本。
尝试的解决方案
我可以进入图形化的案例树,然后手动按住Ctrl键并单击所有已签出的临时视图,然后单击“取消签出”按钮。但是,这将在数百次测试后变得不可靠,因此我想知道一种执行此操作的命令行方法。我所有的临时视图的格式都为“ TMP_abc_QUA _ ###”。
问题
我如何使用bash从linux命令行在所有临时视图中取消签出文件?
答案 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