1

次のコードを実行しようとしていますが、get #error 1atstartviewコマンドと#error 2indescコマンドです。

    use Win32::OLE; 
    $ct = Win32::OLE->new('ClearCase.ClearTool') or die "Could not create ClearTool object\n";  
    $view = "ccadm01_UARK_DEV";
    $output = $ct->CmdExec("pwv") or die("Cleartool returned error: ", Win32::OLE->LastError(), "\n"); 
    print ("pwv \$output = $output\n");

# error 1 : cleartool return error 0   
    $output = $ct->CmdExec("startview ccadm01_UARK_DEV") or die("Cleartool returned error: ", Win32::OLE->LastError(), "\n"); 

    $CWD = $view_dir;  
    print( "Current directory: $CWD\n");

# error 2: No view context available
    $output = $ct->CmdExec("describe -fmt \"%[versions]Cp\" activity:USR0200004985\@\\Unix_PVOB") or die("Cleartool returned error: ", Win32::OLE->LastError(), "\n"); 
    print ("desc \$output = $output\n");

#error 1 については、DOS から同じコマンドを試してみましたが、うまくいきました。

4

1 に答える 1

0

$viewが有効な動的ビュー タグであることを確認する必要がありますcleartool startview
サブシェルを生成するため、使用しないcleartool setviewでください)

また、エラー 0 が返された場合は、正常に動作したと見なすことができます。CAL は「エラー」を返す場合がありますが、ステータス 0 はコマンドが実行されたことを意味するはずです。

ただし、0 以外のエラーは、何か問題が発生したことを意味します。

cdそして、 が機能するためには、そのビュー (/view/<viewTag>またはm:\<viewTag>)に入る必要がありますcleartool descr
間違ったフォルダーで実行されたものは失敗するはずなので、「エラー2」になります。


OP Jirong HuコメントUsing Perl with Rational ClearCase Automation Library (CAL) and this script as an exampleを指摘しています。

于 2016-02-06T05:47:38.853 に答える