8

現在のビューにあるファイルにラベルを適用するための適切なコマンドが見つかりませんでした。次のコマンドを試しました:

cleartool mklabel -r TEST_LABEL /vob/test/a

ただし、問題は、ファイルが現在のビューにあるかどうかに関係なく、このコマンドが " " ディレクトリTest_Label内のすべてのファイルに " " ラベルを適用することです。 現在のビューにリストされているファイルにのみラベルを適用するコマンドはありますか?vob/test/a

4

3 に答える 3

5
cleartool mklabel  -r(ecurse) LABEL_NAME <directory name>

このコマンドは、フォルダー内およびビューの下のすべてのファイルに LABEL_NAME を適用します。そのディレクトリに移動し、次のコマンドを入力してラベルを作成して適用します。

> cd /vob/test/a
> cleartool mklbtype –nc TEST_LABEL 
> cleartool mklabel  -r TEST_LABEL .
于 2015-04-24T07:03:19.287 に答える
1

mklabelどのバージョンにラベルが付けられているかについて、ドキュメントの状態は次のように述べています。

ディレクトリ要素である各 pname のサブツリー全体 (pname 自体を含む) を処理します。サブツリーへの再帰的な下降中に、VOB シンボリック リンクはトラバースされません。

一例は次のとおりです。

ビューによって選択された現在のディレクトリのバージョンと、現在のディレクトリ内およびその下の各要素の現在選択されているバージョンにそのラベルを付けます。


さて、実際にラベル付けされたバージョンを本当に確認したい場合、1 つの解決策は、findコマンドを次のように組み合わせて使用​​することmklabelです。

cleartool find . -cview -exec "cleartool mklabel TEST_LABEL \"%CLEARCASE_XPN%\""

そのラベルが間違ったバージョンに既に適用されていて、それを移動したい場合:

cleartool find . -cview -exec "cleartool mklabel -replace TEST_LABEL \"%CLEARCASE_XPN%\""

そうすれば、最初に関連するバージョンを一覧表示できます。

cleartool find . -cview -print

そして、出力に同意する場合は、ディレクティブmklabelを介して適用します。-exec

OP user1096966は、現在のビューに表示cleartool lsされている要素のみを選択するように、で動作させることを報告しています。

cleartool ls -r -vis

これは「-exec」ディレクティブではないため、次のようにパイプが関与している可能性があります(テストされていませんが、アイデアはわかります):

cleartool ls -r -vis -s -nxn | xargs cleartool mklabel -replace TEST_LABEL
于 2011-12-14T06:35:15.450 に答える
0

doco はラベル付けされているものについて非常に明確です。実際、doco に示されている最初の例では、正確に...現在のビュー オブジェクトはデフォルトで現在選択されているバージョンにラベル付けされていると述べています (つまり、ビュー内の場合はラベル付けし、それ以外の場合はラベル付けしません)。

....以下の doco から以下を抽出します (注: context と command と、その label-type-selector pname が最後のパラメーターです...作業ディレクトリに常駐しているため、以下は空白のままです)...

例: •REL6 という名前のラベル タイプを作成します。そのラベルを、ビューによって選択された現在のディレクトリのバージョンと、現在のディレクトリ内およびその下の各要素の現在選択されているバージョンに添付します。 cmd-context> mklbtype –nc REL6

よろしく

ジム2

于 2012-02-22T01:13:55.237 に答える