2012-01-09 63 views
2

我目前在ClearCase中從子流傳送到父項。如果我試圖撤消交付,它告訴我我不能,因爲「集成活動有簽入」或「簽入版本」。在ClearCase中手動撤消傳送

如果我嘗試恢復傳遞,它說它嘗試檢出或合併元素時遇到錯誤,但沒有明確告訴我哪一個。

所以我在尋找一種方式,要麼:

  1. 手動停止交貨(取消全部檢出父流中?)

  2. 找出什麼因素導致交付問題(是否與導致撤消問題的那個相同)

  3. 或找出導致撤銷問題的原因並找到一種方法來撤消簽入(我不知道如何執行此操作,我嘗試刪除版本樹中的版本,但我d沒有權限)。

回答

2

對於3 /「找出什麼因素導致撤消問題」,這是很容易的(但推薦):您需要刪除所有登記的過程中的完整階段完成版本交付。
這是迄今爲止最危險的解決方案,尤其是在目標流(您要傳輸文件的流,即帶有流的Stream)上完成任何類型的活動(其他簽入,基線等)查看您使用的是交付給)

你可以看到那些通過描述

cleartool descr -l activity:[email protected]\myPVob 

1/2 /鏈接的傳遞活動(這總是deliverbl.xxx開始)簽入的文件。
容易檢測問題的一個好的解決方案是以圖形方式恢復交付:打開ClearCase項目瀏覽器(clearprojexp),右鍵單擊源流並選擇交付(基準或活動,默認或替代目標:問題)。
ClearCase將檢測到交付正在進行並將提出恢復。

您只需檢查所有帶有紅色圓圈和白色十字的文件(而不是帶黃色警告標誌的文件,這些文件不會阻止傳送)。

一旦你有這些文件之一,右鍵單擊它,並選擇「顯示元素合併」:你將有一個更精確的錯誤信息,你可以複製粘貼。

如果這些文件是在lost+found目錄,所有你需要做的是編輯用於提供視圖的配置規範,並添加非選擇規則,以避免lost+found任何選擇:

cd /path/to/your/view 
cleartool edcs 
#add at the start of the config spec 
element /myVob/lost+found/... -none 

然後再次恢復您的交付,並且您將看到那些'lost+found'文件將被忽略(附加警告非阻止狀態)。

如果這些文件不丟失+發現是失敗的,因爲交付的「Not a vob object <directory name>」時,首先檢查做是說在shell會話文件轉到父目錄,然後鍵入cleartool ls:你會看到他們的狀態
在這種情況下,OP Ian報告他們爲劫持,所以它只是關於撤銷他們的劫持狀態。

他報告也不得不刪除(rmname)一些二進制文件,雖然我對「Clearcase UCM is trying to merge pdf files」問題的回答指向一個替代解決方案(複製合併)。


我的建議:在特定的狀態(與簽入已經在那裏提供),努力完成交付,而不是取消它。

+0

當我恢復交付時,我得到三個錯誤的元素;當我爲該元素選擇「顯示元素日誌」時,它會顯示「不是vob對象<目錄名稱>」。因此,如果我將這些元素/目錄(在我的HD上)的路徑添加到「組件選擇規則...」區域中的configspec,我應該沒問題? – Ian 2012-01-09 20:52:57

+0

但是,它並沒有出現在失物招領處。它們只是通常位於視圖中的目錄的正常路徑。 – Ian 2012-01-09 20:54:39

+0

@Ian:你不能只在配置規範中添加它們。我通常在發送包含尚未添加到目標流中的組件的源流(即,目標流不包含該新組件的基礎基準)時通常會看到該錯誤。如果是這種情況,請首先重新分配目標流。如果不是這種情況,您需要進入該文件的父目錄,並複製粘貼'cleartool ls'的結果以便我進行調試。 – VonC 2012-01-09 21:16:59