Clearcase中删除未修改元素分支的命令是什么(该分支中Element的版本为“0”)?
答案 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”。