您只需删除该元素的版本0(我在此处详述).
这将删除相关的分支.
cleartool rmver file@@/main/aBranch/0
Run Code Online (Sandbox Code Playgroud)
您需要" cleartool find"版本为0(并且没有版本1)的所有元素,以及rmver那些版本0.
对于给定的分支,这将返回要删除的所有版本:
cleartool find -type f -version "version(.../blah/LATEST)&&version(.../blah/0)" -print
Run Code Online (Sandbox Code Playgroud)
您可以将它与exec指令结合使用:
# on Windows:
cleartool find ... -exec "cleartool rmver --force \"%CLEARCASE_XPN%\"
# on Unix:
cleartool find ... -exec 'cleartool rmver --force "$CLEARCASE_XPN\"'
Run Code Online (Sandbox Code Playgroud)
小心rmver,这是一个破坏性的操作,所以在执行完整find -exec rmver命令之前要仔细测试!
另一种方法在George F.Frazier的文章" 清除ClearCase中的零版本元素 "一文中提到:
你需要清除你对那些麻烦实体的看法.
运行以下命令以查找所有零版本元素:
cleartool find -avobs -branch'{
brtype(mybranch)&&!
(version(.../mybranch/1))}'
-print > c:\files.txt
Run Code Online (Sandbox Code Playgroud)
这将找到没有版本1的所有元素
mybranch(如果你仔细阅读,你会注意到如果你删除了已经有大于或等于2的版本的元素的1版本,它就不会做正确的事 - 这是虽然罕见的情况.
一旦完成,这只是rmbranch用来核对元素的问题(确保你知道你在这里做了什么!).
有很多方法可以做到这一点; 因为我运行MKS工具包,所以我从命令窗口执行以下命令:
cleartool rmbranch -f 'cat c:\files.txt'
Run Code Online (Sandbox Code Playgroud)
Tamir 建议触发器自动删除版本0,如IBM Rational ClearCase中所列:十个最佳触发器,在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
Run Code Online (Sandbox Code Playgroud)
这对于撤销结帐离开版本0的未来情况很有用.
| 归档时间: |
|
| 查看次数: |
11299 次 |
| 最近记录: |