四个月前,一位同事有一个shapshot视图,他在文件系统中删除了某个分支上仍有目录检出,比如分支'A'。现在一些目录已经过时,需要从其他视图rmname
进行,但是当它们仍然在分支A上检出时,这显然不会发生。
分支a上unco
这些目录的最直接方法是什么?
答案 0 :(得分:3)
您可以完全取消注册此视图(即使实际视图已从文件系统中消失)。
请参阅“ClearCase: Is it possible to cancel checkouts not made from your own view?”:
cleartool rmview -force -uuid (uuid_of_the_view) -vob \aVob
作为副作用,这将触发删除此视图中检出的任何文件(由其uuid引用)的结帐状态(-vob
选项)。
请参阅“How to delete clearcase views created by other users?”:
cleartool lsview -l theViewToRemove # get its uuid
cleartool rmtag -view theViewToRemove
cleartool unregister -view -uuid uuid_of_viewToRemove
您甚至可以使用nuke_view.pl
script。
现在有些目录已经过时,需要从其他视图中获取rmname,但是当它们仍然在分支
A
上签出时,这显然不会发生。
正如我在“How do delete a file in ClearCase?”中提到的那样,即使您没有取消注册视图,您仍然可以从分支中删除文件,即使它已在另一个分支中签出。
您只需从命令行执行此操作:
cleartool rmname -force /path/to/file
Eric Schnipke建议in the comments:
cleartool lsview -l theViewToRemove
获取视图的UUID然后cleartool rmview -force -uuid (uuid_of_the_view) -vob \aVob
删除视图和违规文件版本。