1

問題は、ClearCase ビューで特定のファイルに触れた後、そのファイルに触れなければならず、ビューを終了しなければならないことです。
そして今、同じビューをもう一度リセットする必要があります。
リセットすると、別のモードで開きます。

これまでシェルスクリプトでこれを試しました。このスクリプトを実行すると、XYZ が表示されます

#!/bin/sh
touch /ccase/.host;
exit;
ct setview XYZ
cd /ccase/src

私が直面している問題は、3 行目 ( exit;) にあります。
ビューからではなく、スクリプトから出てきます。

4

2 に答える 2

0

使わずにやってみcleartool setviewます。

ビューのフル パスでデータに直接アクセスします/view/XYZ/vobs/yourVob

  • スクリプト内のプロセスを終了する必要はありません。
  • スクリプトを呼び出すときにサブシェルを作成しないようsetviewにします。これは、パスが正しくない理由を説明しています。サブシェルが引き起こす種類の問題の例については、 「 Python と ClearCase setview
    」を 参照してください。

それは明らかに、動的ビューが既に開始されていることを前提としています (そうでない場合cleartool startview)。


を使用しているときにシェルを完全に実行できない理由をよりよく理解するには、setviewシェル スクリプトからビューに設定すると、スクリプト内の残りのコマンドが処理されない」を参照してください。

上記のスクリプトでは、 の実行後に表示されるコマンドcleartool setview XYZは処理されません。これは、シェルが で生成されexec()、現在のプログラムが新しいプログラムに置き換えられるためです。
これは、現在のプロセスのテキストとコード セグメント (この場合はすべてのコマンドを含むスクリプト) が、実行されるプログラム (running によって呼び出されるシェル) に置き換えられることを意味しますcleartool setview XYZ
したがって、setview の呼び出しポイントを超えてコマンドが処理されることはありません。

あなたの場合、 cd /ccase/src は呼び出されません。

開始したビューの完全なパスを直接操作する場合、サブシェルを作成せず、その問題はありません。最後cd /ccase/srcが呼び出されます。

于 2013-11-12T09:18:23.310 に答える
-1

1- 使用:

cleartool startview <your_view_tag>

それ以外の

cleartool setview <your_view_tag>

次に、次を使用するだけでビューにアクセスできます。

cd /view/<your_view_tag>/<your_vob_name>
touch <yourfile>

最終的には別のビューで同じことを行い、同じまたは別の VOB を使用します。このメソッドは他のシェルを開かずexit、スクリプト内のコマンドを削除します

于 2013-11-12T11:50:13.550 に答える