回答

3

對於更高級的功能和更好的響應時間,我建議通過COM直接訪問CAL API。最好的文檔在<ClearCase install dir>\bin\cc_cal.chm本地可用。

$cc = New-Object -COM ClearCase.Application 
$ccItem = $cc.Version("<absolute path to file/dir>") 
$coItem = $ccItem.CheckOut($cc.ccReservedState,"",$false,$cc.Latest,$false,$false) 
Write-Output $coItem.IsReserved 
+0

很好的例子。 +1 – VonC 2011-12-19 22:35:11

+0

嗨,謝謝你的迴應。這個對我有用。這正是我所想要的。在上面的代碼中「Write-Output $ coItem.ReservedState」不顯示任何內容。 – Samselvaprabu 2011-12-20 06:16:13

+0

對不起,我的錯誤(現在糾正)。一個真正的幫助(一如既往)在創建的對象上使用'Get-Member';關於所需的參數數量,COM API調用通常更加嚴格。 – 2011-12-20 06:54:45

3

您可以在此IBM bug report,在那裏你會在你的PowerShell會話CAL API(ClearCase的自動化庫)

PS C:\temp> $ct = new-object -com ClearCase.ClearTool 
PS C:\temp> $ct.CmdExec('checkout -nc aFile') 

使用找到一個例子或者,如this thread,你會使用直接cleartool

在這兩種情況下,您都需要確保您正在執行結帳/簽入操作的視圖作爲UCM活動集(cleartool lsact -cact -cview應返回活動名稱,如果在視圖內完成)。