2010-02-19 88 views
6

我想檢出一個目錄,假設/vobs/myvob/src/在此目錄中添加一個新文件。但由於錯誤,而不是檢出/vobs/myvob/src我檢出了/vobs/myvob/scr/甚至更​​糟糕的檢查。然後目錄scr有一個新的版本:[email protected]/1(比方說,我工作的分支mybranch如何刪除明文中的版本

意識到我犯了一個錯誤之後,我通過刪除新創建的版本:

ct rmver [email protected]/1 

然後用ct ls parent_dir_of_scr來做雙重檢查,我發現雖然[email protected]/1消失了,[email protected]/0還在。
不是100%確定,但恐怕我不應該嘗試以同樣的方式刪除該版本,因此它可能會讓clearcase刪除主版本。
所以我的問題是我該如何做一個完全「清理」在這種情況下。

需要你的幫助。提前致謝 。

回答

5

首先,如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提及。

+0

如何通過clearcase獲取該元素? – zack 2016-03-15 05:39:06

+0

@Jerry從ClearCase Explorer完成的版本樹開始。這會給你一個給定元素的所有版本。 – VonC 2016-03-15 05:40:34

+0

謝謝。但我只能訪問CLI。 – zack 2016-03-16 03:07:36

3

即使您刪除分支上文件的版本1,您的分支仍將保留(版本爲0)。如果你真的想要清理,你可以刪除該文件的分支(ct rmbranch your_branch) - 它不會從主線刪除版本。

1

如果你想徹底刪除一個版本從ClearCase的控制對象(文件或目錄)的,我建議你使用以下命令:

cleartool rmver –xbranch –xlabel –xattr –xhlink [email protected]@\main\3 

命令選項上this snip2code post描述。