用于删除具有“0”版本的Clearcase元素的分支的命令

时间:2013-08-12 09:29:45

标签: clearcase

Clearcase中删除未修改元素分支的命令是什么(该分支中Element的版本为“0”)?

2 个答案:

答案 0 :(得分:6)

您只需删除该元素的版本0(I detail here)。

那将删除相关的分支。

cleartool rmver file@@/main/aBranch/0

您需要“cleartool find”版本为0(且没有版本1)的所有元素,以及rmver版本0的所有元素。 对于给定的分支,这将返回要删除的所有版本:

cleartool find -type f -version "version(.../blah/LATEST)&&version(.../blah/0)" -print

您可以将它与exec指令结合使用:

# on Windows:
cleartool find ... -exec "cleartool rmver --force \"%CLEARCASE_XPN%\"
# on Unix:
cleartool find ... -exec 'cleartool rmver --force "$CLEARCASE_XPN\"'

小心rmver, this is a destructive operation,所以在执行完整的find -exec rmver命令之前要仔细测试一下!


George F.Frazier撰写的“Purging Zero-Version-Only Elements in ClearCase”文章中提到了另一种方法:

  

你需要清除你对那些麻烦实体的看法   运行以下命令以查找所有零版本元素:

cleartool find -avobs -branch'{
    brtype(mybranch)&&!
    (version(.../mybranch/1))}' 
     -print > c:\files.txt 
  

这将找到mybranch上没有版本1的所有元素(如果你仔细阅读,你会注意到如果你删除了已经有更高版本的元素的1版本,它就不会做正确的事情大于或等于2 - 尽管这是一种罕见的情况。)   完成后,只需使用rmbranch来训练元素(确保你知道你在这里做了什么!)。
  有很多方法可以做到这一点;因为我运行MKS工具包,所以我从命令窗口执行以下命令:

cleartool rmbranch -f 'cat c:\files.txt' 

Tamir suggests automatically remove version 0的触发器,如IBM Rational ClearCase: The ten best triggers Empty Branch 部分所列。

cleartool mktrtype -c "Automatically remove empty branch" -element -all -postop uncheckout -execwin "ccperl \\mw-ddiebolt\triggers\test_empty_branch.bat" REMOVE_EMPTY_BRANCH

这对于撤销结帐离开版本0的未来情况很有用。

答案 1 :(得分:2)

rmver无效。

/ home / ccadmin $ cleartool rmver -force ./VaREngine/Makefile@@/main/nz_mig/nz_relOne/0 cleartool:错误:无法在不删除分支的情况下删除版本零:“./ Varengine / Makefile”。