【问题标题】:Clearcase Delete DirectoryClearcase 删除目录
【发布时间】:2011-05-13 12:05:40
【问题描述】:

我有一个这样的目录结构:

root_dir
  dir1
  dir2
    file1.txt
    file2.txt
    sub_dir
      file3.txt
      file4.txt

使用rmname 删除dir2 及其所有子元素的最佳方法是什么?我可以简单地执行“cleartool rmname dir2”并让它递归地删除它的所有内容吗?

【问题讨论】:

    标签: clearcase cleartool


    【解决方案1】:

    您只需:

    cleartool checkout -nc root_dir
    cleartool rmname dir2
    cleartool checkin root_dir
    

    删除新版本root_dir中对dir2的引用,使dir2及其所有内容不可见(不可访问)。
    您可以通过将先前版本的root_dir(仍然引用dir2)与当前版本(您rmname'd dir2的版本)合并,轻松恢复dir2(及其所有内容)重新创建一个新版本,您可以在其中返回 dir2

    注意:使用rmname 时,您可能会收到一条错误消息,指出该元素已签出,即使它未在您正在执行rmname 的分支中签出。
    使用rmname -force 是仍然执行rmname 的解决方案:参见this technote

    【讨论】:

    • 这并没有从底层的 clearcase 数据库中删除整个结构 - 这是一件好事和坏事。即,您可以检查 rmname 之前的版本并将其全部取回。与递归删除不完全相同 - 但可能是您想要的。
    • @hawkeye:“但可能是你想要的”:根据我的经验,这通常就足够了。没有必要比这更深入。
    • 此解决方案不会从 VOB 中删除所有元素,这对 VOB 容量造成了负担。我建议你自己删除所有元素
    • @TripleS 你的意思是rmelem 而不是rmname,以完全删除元素及其所有历史记录?
    • 不,我建议删除所有元素而不是仅仅删除父目录,对每个元素使用 rmelem
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 2016-10-29
    • 2016-11-07
    • 1970-01-01
    相关资源
    最近更新 更多