回答

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应返回活动名称,如果在视图内完成)。