如何删除clearcase中的版本

时间:2010-02-19 10:54:53

标签: clearcase

我想查看一个目录,让我们说/vobs/myvob/src/在这个目录中添加一个新文件。但是错误而不是签出/vobs/myvob/src我检查了/vobs/myvob/scr/,更糟糕的是检查了它。然后目录scr有一个新版本:scr@mybranch/1(假设我正在分支mybranch上工作)

在意识到我犯了错误后,我删除了新创建的版本:

ct rmver scr@myranch/1

然后使用ct ls parent_dir_of_scr进行仔细检查,我发现虽然scr@mybranch/1消失,scr@mybranch/0仍然存在。
不是100%肯定,但我担心我不应该尝试以相同的方式删除该版本,因为它可能会让clearcase删除主版本中的版本。
所以我的问题是在这种情况下我应该如何完全“清理”。

需要你的帮助。提前谢谢。

3 个答案:

答案 0 :(得分:6)

首先,如How do I roll back a file checked in to Clearcase?中所述,永远不会做的一个命令是rmver 即使在你的情况下它可能是合适的,这太危险了,因为它删除了版本及其所有相关的元数据(超链接,标签等)。

然后,你提到:

  

而不是签出/vobs/myvob/src我检查了/vobs/myvob/scr/ ...

......好/vobs/myvob/src/vobs/myvob/src非常相似。我认为“两个”目录之间没有任何区别。

如果要通过CLI cleartool将文件添加到目录,则需要:

  • 结帐/vobs/myvob/src(父目录)
  • mkelem要添加的文件
  • 签入父目录

最后,你看到的“版本0”只是一个“声明”版本,作为分支的起点。
这就是为什么其他答案建议您rmbranch(删除分支)的元素。它仅用于清理lsvtree(版本树)。

"cleartool rmbranch -force $element"

ten best scripts中所述。

答案 1 :(得分:4)

即使您删除了分支上的文件版本1,您的分支仍将保留(版本0)。如果您真的想要进行清理,可以删除该文件的分支(ct rmbranch your_branch) - 它不会从主线中删除该版本。

答案 2 :(得分:1)

如果要从Clearcase控件中完全删除对象(文件或目录)的版本,建议您使用以下命令:

cleartool rmver –xbranch –xlabel –xattr –xhlink test.txt@@\main\3

this snip2code post上描述了命令选项。