【问题标题】:Command to delete branches of Clearcase element with "0" versions删除具有“0”版本的 Clearcase 元素分支的命令
【发布时间】:2016-04-27 02:08:14
【问题描述】:

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

【问题讨论】:

  • 我已经编辑了我的答案以包含另一种方法,基于rmbranch 而不是rmver

标签: clearcase


【解决方案1】:

您可以简单地删除该元素的版本 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 的元素(如果您仔细阅读,您会发现如果您删除了已经具有大于或等于 2——虽然这种情况很少见)。
完成后,只需使用rmbranch 对元素进行核攻击(确保您知道自己在这里做什么!)。
有很多方法可以做到这一点;因为我运行 MKS 工具包,所以我从命令窗口执行以下操作:

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

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

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

这对于将来撤消签出留下版本 0 的情况很有用。

【讨论】:

  • 该命令适用于单个文件。但是,假设我在一个目录中有 100 个文件的列表,那么该怎么做呢?
  • @VonC,你可能会提到他还有一个触发器可以用来自动删除这些版本(他可以在下次应用)
  • @Bhaskar 我已经编辑了答案以解决您的问题(需要清理 100 个文件)。
  • @TamirGefen 好点。我已编辑答案以包含对该触发器的引用。
  • find avobs 命令是否找不到任何不是版本 1 的版本?因此,如果有版本 2,它就会被列出。我刚刚试了一下,这就是我发现的。
【解决方案2】:

rmver 不起作用。

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

【讨论】:

  • 试试我上面回答的第二个选项:cleartool rmbranch -f.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-23
  • 2012-08-21
  • 2018-04-09
相关资源
最近更新 更多