p4 label

ラベル仕様およびそのビューの生成または編集を行います。

構文規則

p4 [g-opts] label [-f -g] [-t template] labelname
p4 [g-opts] label -d [-f -g] labelname
p4 [g-opts] label -o [-t template] labelname
p4 [g-opts] label -i [-f -g]

説明

p4 labelを使用して新しいラベル仕様の生成または既存のラベル仕様の編集を行います。 labelnameが必要です。

p4 labelを実行すると、ラベルに含めることが認められている一連のファイルを 管理するマッピングを構成することができます。 ラベルを構成した後、p4 labelsyncまたはp4 tagを使用して、 そのラベルでファイルにタグ付けします。

ラベルは自動または静的に設定することができます。自動ラベルは、[View:]フィールドおよび[Revision:]フィールドで 指定されたリビジョンを参照します。 静的ラベルは、p4 labelsyncコマンドまたはp4 tagコマンドによって ラベルにタグ付けされた特定のリビジョンのみを参照します。

unlockedのラベルのOwner:のみが、p4 labelsyncまたはp4 tagを使用して、 そのラベルでファイルにタグ付けすることができます。 グループの所有者は、1人のユーザまたは1つのグループを設定します。

警告

ブランチ、ディポ、ラベル、ワークスペースを同じ名前にすることはできません。

動的ラベル

動的ラベルは、ラベル仕様の[View:]フィールドおよび[Revision:]フィールドで 指定されたリビジョンを参照します。 動的ラベルを作成するには、p4 labelスペックの[Revision:]フィールドに リビジョン指定子を入力します。 ワークスペースを動的ラベルに同期させると、Revision:フィールドの内容が View:フィールドのすべてのファイルに適用されます。

例   動的ラベルをチェンジリスト番号のエイリアスとして使用します。

ブルーノはビルドプロセスを毎晩実行していて、チェンジリスト1234の製品の ビルドに成功しました。毎晩のビルドごとの固有のチェンジリストを覚えておかなくてもいいように、 アールはp4 label nightly20111201と入力して、ラベルのRevision:フィールドを使用し、 チェンジリスト1234のすべてのファイルにnightly20111201ラベルが タグ付けされるようにしています。

Label:  nightly20111201
Owner:  bruno
Description:
        Nightly build process.
Options:     unlocked noautoreload
View:
        //depot/...
Revision:
        @1234

この方法の利点は、非常に簡単にスクリプトを修正することができ、 ラベルテーブルのスペースをほとんど必要としないことに加えて、 どのチェンジリスト番号が毎晩のビルドプロセスに関連付けられているかを 覚えておかずに毎晩のビルドを簡単に参照できることです。

例   1つのチェンジリストでサブミットされたファイルセットに限定して参照する

チェンジリスト1238で修正されたバグには、その修正に関連付けられた ファイルのみを参照するパッチラベルが必要です。ブルーノはp4 label patch20111201と入力して ラベルの[Revision:]フィールドを使用し、 チェンジリスト1238でサブミットされたファイルのみに 自動的にpatch20111201ラベルでタグ付けします。

Label:  patch20111201
Owner:  bruno
Description:
        Patch to 2011/12/01 nightly build.
Options:     unlocked noautoreload
View:
        //depot/...
Revision:
        @1238,1238

この動的ラベルは、チェンジリスト1238でサブミットされたファイルのみを参照します。

例   複数のチェンジリストですべてのファイルの最初のリビジョンを参照する。

チェンジリスト指定子ではなく、リビジョン指定子を使用することもできます。この例では、ブルーノはブランチ内のすべてのファイルの最初のリビジョン(#1)を 参照しています。 ブランチの実装方法によっては、これらのファイルは長い時間をかけて複数の チェンジリストから作成された可能性があります。

Label:  first2.2
Owner:  bruno
Description:
        The first revision in the 2.2 branch
Options:     unlocked noautoreload
View:
        //JamCode/release/jam/2.2/src/...
Revision:
        "#1"

Helixサーバフォームでは #文字がコメントを表すため、 ブルーノは#を引用符で囲んで、 リビジョン指定子として解析されるようにしました。

フォームフィールド

フィールド名 タイプ 説明

Label:

読み取り専用

コマンドで指定されたラベル名です。

ファイル名とエンティティに関する文字の制限に 注意してください。

Owner:

書き込み可能、任意入力

ラベルの所有者です。デフォルトでは、ラベルを生成したユーザです。 ラベルの所有者のみが、どのファイルにそのラベルでタグ付けするかを 変更することができます。

指定する所有者は、 Helixサーバユーザである必要はありません。 ユーザがまだ存在していないため任意の名前を使用する場合や、 ユーザを削除してから仕様を新しいユーザに割り当てるまでの プレースホルダーが必要となる場合があります。

Update:

読み取り専用

ラベル仕様が最後に更新された日付です。

Access:

読み取り専用

ラベル上のp4 labelsyncの実行によって、 またはラベルのリビジョン指定子@labelを持つファイルに対して その他の参照を行うことによって、ラベルが最後に アクセスされた日付と時刻です。 注: p4 reloadによるラベルのリロードは、アクセス時刻には反映されません。

Description:

書き込み可能、任意入力

ラベルの目的を記述します。任意入力です。

Options:

書き込み可能

ラベルの動作と保存場所を制御するオプションです。

  • lockedまたはunlocked。ラベルがlockedの場合、そのラベルでタグ付けされたファイルのリストを p4 labelsyncで変更することはできません。
  • autoreloadまたはnoautoreload。 静的なラベルの場合、 noautoreloadが設定されるとラベルはdb.labelに保存され、 autoreloadが設定されるとアンロードディポに保存されます。 動的ラベルの場合、このオプションは無視されます。 アンロードディポにラベルを保存すると、ラベルの使用が非常に多いサイトでの パフォーマンスを改善することができます。

Revision:

書き込み可能

自動ラベル用の任意指定のリビジョン仕様です。

リビジョン番号の指定に#文字を使用する場合、 その文字を引用符で囲み、#がフォーム内のコメントフィールドではなく リビジョン指定子として解析されるようにしなければなりません。

View:

書き込み可能

ラベルでタグ付けすることができるディポファイルのリストです。 p4 labelsyncが実行されるまでは、実際にはどのファイルもタグ付けされません。

1つのファイルの集合を別のファイルの集合にマッピングするクライアントビューや ブランチビューとは異なり、ラベルビューは単なるディポファイルのリストです。 詳細については、 「ビュー」を参照してください。

ServerID:

書き込み可能、任意入力

設定されている場合、ラベルは指定されたサーバに限り使用可能です。 設定されていない場合、このラベルはすべてのサーバで使用可能です。

オプション

-d [-f]

名前の付いたラベルがunlockedされている場合は、削除します。 -fオプションはlockedのラベルも強制的に削除します。 (lockedのラベルを削除するには、adminまたはsuperの権限が必要です)

-f

[Update:]フィールドの日付の設定を可能にします。 -iオプションまたは-tオプションを付けて 同じ目的に使用することもできます。

-g

マルチサーバ環境では、-gオプションを使用して、 ラベルをエッジサーバに対してローカルなラベルにすることも、 コミットサーバでグローバルにラベルを使用することもできます。グローバルラベルを更新する場合は、エッジサーバで-gフラグを使用する必要があります。この場合、クライアントはグローバルクライアントでなければならないことに注意してください。

注意

p4 tag -gまたはp4 labelsync -gを使用して、エッジサーバでグローバルラベルを更新することができます。

-i

エディタを起動せずに、標準入力からラベル定義を読み込みます。

-o

エディタを起動せずに、標準出力へラベル定義を書き出します。

-t template

ラベルtemplateのビューおよびオプションを、そのラベルの[View:]フィールド および[Options:]フィールドにコピーします。 デフォルトのラベルテンプレートをtemplate.label構成可能変数で指定します。 その場合、このオプションを設定する必要はありません。

g-opts

グローバルオプション」を参照してください。

使用上の注意点

ファイル引数でリビジョン指定子を使用できるか? ファイル引数でリビジョン範囲を使用できるか? 最低限必要なアクセスレベル

適用外

適用外

open

  • 自動ラベルを作成するには、p4 labelフォームのRevision:フィールドに リビジョン指定子を入力します。 ワークスペースを動的ラベルに同期させると、Revision:フィールドの内容が View:フィールドのすべてのファイルに適用されます。
  • ローカルラベル

    グローバルラベル

    rpl.labels.globalが設定されていない場合(値が「0」とみなされます) rpl.labels.globalの値を「1」に設定した場合
    デフォルトの場合、ラベルはエッジサーバに対してローカルのラベルになります デフォルトの場合、ラベルはグローバルラベルになります
    -gオプションを指定すると、コミットサーバ上のグローバルラベルにアクセスできるようになります

    -gオプションを指定すると、ローカル ラベルを更新できるようになります

    rpl.labels.globalが設定されていない状態でエッジサーバ上にラベルが存在し、そのラベルをエッジサーバとコミットサーバの両方で使用できるようにするには、そのラベルをエッジサーバからアンロードしてからコミットサーバ上にリロードします

p4 files @labelname

labelnameでタグ付けされたファイルリビジョンを一覧表示します。

関連コマンド

ラベルをクライアントワークスペースと同期させる

p4 labelsync

システムに認識されているすべてのラベルをリストする

p4 labels

ラベルを作成して、そのラベルでファイルにタグ付けする

p4 tag