Helix Core P4コマンドリファレンス (2020.1)

p4 change

チェンジリスト仕様の生成または編集を行います。

p4 changelistコマンドはp4 changeと同等に機能します。

構文

p4 [g-opts] change [-s] [-f | -u] [[-O] changelist]
p4 [g-opts] change -d [-fsO] changelist
p4 [g-opts] change -o [-sf] [[-O] changelist ]
p4 [g-opts] change -i [-s] [-f | -u]
p4 [g-opts] change -t restricted | public [-U user] [-fuOI] changelist
p4 [g-opts] change -U user [-t restricted | public] [-f] changelist
p4 [g-opts] change -d -f --server=serveridchangelist

説明

p4 addp4 deletep4 edit、またはp4 integrateでファイルを作業状態にすると、それらのファイルはチェンジリストに追加されます。 ファイルの編集内容は、チェンジリストがp4 submitでディポへ送られるまで、ローカルのクライアントワークスペースに保存されます。 デフォルトでは、ファイルはデフォルトチェンジリスト内で作業状態になりますが、p4 changeコマンドで複数のチェンジリストを生成、編集することができます。

コマンドp4 -Ztag change -oを使用すると、他の情報に加えて、保留状態のファイルのアクセス時間が表示されます。 この情報を使用して、保留状態のファイルが放棄されているか、また、削除する必要があるかを判断することができます。

作業中チェンジリストのコメントを編集するとき、またはサブミット済チェンジリストのフィールドを参照するときは、p4 change changelistを使用します。

チェンジリスト番号 - 作業中とサブミット済み

サブミット済みチェンジリスト番号はチェンジリストを一意に識別する整数です。 Helixサーバ作業中チェンジリスト番号を順に割り当てます。 ただし、一連のサブミット済みチェンジリスト番号が時系列で大きくなるようにするため、Helixサーバはサブミット時にチェンジリスト番号を振り直すことがあります。 サブミットされるチェンジリスト番号は順番に大きくなっていきますが、必ずしも連続するわけではありません。 例: 103、105、108、109。

p4 changeは、環境変数またはレジストリ変数P4EDITORで定義されたエディタで編集または参照できるフォームを表示します。 引数が指定されていない場合、このコマンドは番号付きのチェンジリストを生成します。 デフォルトチェンジリスト内で作業状態になっているすべてのファイルは、番号付きのチェンジリストに移されます。

p4 submitが失敗すると、デフォルトのチェンジリストに1つの番号が割り当てられます。 これ以降、チェンジリストはそのチェンジリスト番号で参照する必要があります。

フォームフィールド

フィールド名 タイプ 説明

Change:

読み取り専用

既存のチェンジリストの編集時はそのチェンジリストの番号が表示され、新しいチェンジリストの生成時はnewが表示されます。

Date:

読み取り専用

このチェンジリストが最後に変更された日付。

Client:

読み取り専用

現在のクライアントワークスペースの名前です。

User:

読み取り専用

変更の所有者の名前。

空の作業中チェンジリスト(ファイルを含まない作業中チェンジリスト)の所有者は、このフィールドを編集するか、-U userオプションを使用することにより、チェンジリストの所有権を別の既存ユーザに委譲できます。

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

Status:

読み取り専用

pendingshelvedsubmitted、またはnew。 ユーザは編集できません。

チェンジリスト作成時がnew、作成済みだが、まだp4 submitでディポへサブミットしていないときがpending、その内容がp4 shelveで保留されている場合がshelved、すでにp4 submitでディポに内容が保存されている場合がsubmittedです。

Type:

書き込み可能、任意入力

変更のタイプ: restrictedまたはpublic

Type:フィールドを使用して、変更またはそのコメントをユーザから隠すことができます。 状態がshelvedまたはcommitted(Status:フィールドに表示)でタイプがrestrictedであるチェンジリストには、チェンジリストを所有するユーザ、またはチェンジリスト内の1つ以上のファイルにlist権限を持っているユーザにのみアクセスが可能です。

publicタイプの変更にはこれらの制限はなく、すべて表示されます。

デフォルトでは、チェンジリストのタイプはpublicです。 Helixサーバスーパーユーザは、構成可能変数defaultChangeTypeを設定して、デフォルトのチェンジリストタイプを設定することができます(この設定は、構成可能変数の設定後に作成されたチェンジリストに対して有効です)。

Description:

書き込み可能、入力必須

このチェンジリストに関するコメント。 この値は、サブミット前に必ず変更しなければなりません。

制限付きチェンジリストの表示権限がない場合は、チェンジリストの説明の代わりに「no permission」というメッセージが表示されます。

ImportedBy:

読み取り専用

対象となる変更をサーバにインポートするためのコマンド(p4 fetchp4 push、またはp4 unzip)を実行したユーザの名前を表示します。

このフィールドは、分散バージョニング(DVCS)の場合に使用すると便利です。分散バージョニングでは、特定のサーバのチェンジリストが別のサーバにコピーされるため、コピー時にそのチェンジリストの基本的なID情報をサーバ間で相互に関連付けることができます。

Perforceは、分散バージョニング構成の場合、構成可能変数のsubmit.identityp4 submitコマンドで使用して、チェンジリストのID情報の自動生成機能を有効にすることをお勧めします。

Identity:

書き込み可能、入力必須

対象のチェンジリストのフェッチ、プッシュ、解凍の実行時に、すべてのサーバ間でそのチェンジリストを一意に識別するためのラベルを、このフィールドで指定します。

このフィールドは、分散バージョニング(DVCS)の場合に使用すると便利です。分散バージョニングでは、特定のサーバのチェンジリストが別のサーバにコピーされるため、コピー時にそのチェンジリストの基本的なID情報をサーバ間で相互に関連付けることができます。

Perforceは、分散バージョニング構成の場合、構成可能変数のsubmit.identityp4 submitコマンドで使用して、チェンジリストのID情報の自動生成機能を有効にすることをお勧めします。

Jobs:

リスト

このチェンジリストで修正完了となるジョブのリスト。

フォームが最初に表示されたときに表示されるジョブのリストは、p4 userのフォームのJobView:の設定によって制御されます。 表示されるジョブは、削除または追加することができます。

ストリーム: 書き込み可能、任意入力

作業状態のストリームがこのチェンジリストに追加されます。

ストリーム仕様をチェンジリストに追加する場合は、そのストリーム仕様が現在のワークスペースに対して作業状態になっている必要があります。

このリストから作業状態のストリームを削除することができます。

Files:

リスト

このチェンジリストでサブミットされるファイルのリスト。 表示されるファイルは削除することができ、デフォルトのチェンジリストに含まれているファイルを追加することもできます。

ヒント

フィールドの下に行がある場合は、その行をインデントしてください。 例えば、

                説明:
                Created by maria
            

オプション

-d

指定のチェンジリストを削除します。 通常はファイルが含まれていない作業中チェンジリストに対してのみ使用できますが、スーパーユーザはその他の場合でも-fオプションを付けてチェンジリストを削除することができます。

クライアントが別のサーバにバインドされているチェンジリストを強制的に削除するには、--serveridオプションと、クライアントがバインドされているサーバのIDを指定する必要があります。 こうすることにより、自分のサーバ上のチェンジリストを誤って削除することがなくなります。

-f

強制オプションです。 サブミット済みチェンジリストのコメント、変更日、ユーザの編集を可能にします。 サブミット済みチェンジリストを編集するには、adminもしくはsuperの権限が必要です。 スーパーユーザおよび管理者は-fオプションを使用して読み取り専用フィールドを上書きすることができます。

-uオプションと-fオプションを同時に指定することはできません。

-f -d

サブミット済チェンジリストを強制的に削除します。 Helixサーバ管理者またはスーパーユーザのみがこのコマンドを使うことができます。コマンド実行の前に、該当チェンジリスト内のすべてのファイルをp4 obliterateでシステムから削除しておく必要があります。

-i

チェンジリスト仕様を標準入力から読み込みます。 入力はp4 changeのフォームで使用されているのと同じ形式でなければなりません。

-o

チェンジリスト仕様を標準出力へ書き出します。

-O

チェンジリストの番号がサブミット時に変更されていて、元のチェンジリスト番号しか知らない場合には、-Oおよび元のチェンジリスト番号を使用すれば、そのチェンジリストの表示または編集が可能です。

-I

チェンジリストの番号が、チェンジリストのIDフィールドになります。

-s

チェンジリストのサブミット時に、デフォルトの状態であるclosedではなく任意の状態をジョブに割り当てられるようにします。 ジョブを未変更のままにしておくには、特殊な状態であるsameを使用します。

新規のチェンジリストでは、修正完了の状態としてignoreという特殊な状態が表示されます。 (状態が変更されなければ、ジョブはチェンジリストをサブミットしても修正完了になりません。)

このオプションは、p4 fix-sと合わせて使用します。これは欠陥追跡システムと連携して使用することを目的としたオプションです。

--serverid=serverid

クライアントが別のサーバにバインドされているチェンジリストを強制的に削除するには、--serveridオプションと、クライアントがバインドされているサーバのIDを指定する必要があります。 こうすることにより、自分のサーバ上のチェンジリストを誤って削除することがなくなります。

p4 changeコマンドのこのバリアントは、コミットサーバに対して直接発行する必要があります。

-t type

サブミットされたチェンジリストのタイプrestrictedまたはpublicに変更します。

-u

サブミットされたチェンジリストを更新します。 更新可能なフィールドは、Jobs:Description:Type:のみです。チェンジリストをサブミットしたユーザだけが、そのチェンジリストを更新することができます。

-uオプションと-fオプションを同時に指定することはできません。

-U user

-Uuserオプションを指定すると、空の作業中チェンジリストの所有者が変更されます。 チェンジリストを割り当て直すには、既にそのチェンジリストの所有者であるか、またはadmin権限のあるユーザが-fオプションを使用する必要があります。 (p4 changeフォームのUser:フィールドを手動で編集する場合とは異なり、このオプションはトリガやスクリプトの中での使用に便利です。)

g-opts

詳細については、「グローバルオプション」を参照してください。

使用上の留意点

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

適用外

適用外

open,
または-oオプションを使用する場合はlist
または-fオプションを使用するためのadmin

  • 論理的に異なる作業を処理するためにファイルを編集する場合、ユーザは複数のチェンジリストを生成する必要があります。 例えば、同じバグを修正するためにファイルfile1.cとファイルfile2.cを編集し、一方、新しい機能を追加するためにファイルother.cを編集する場合は、file1.cfile2.cは同一のチェンジリストで作業状態にし、other.cは別のチェンジリストで作業状態にします。
  • p4 change changelistは、既存のチェンジリストの仕様を編集しますが、そのチェンジリストにリンクされたファイルやジョブは表示しません。 特定のチェンジリストにリンクしたファイルのリストを見るには、p4 opened-c changelistを使用し、特定のチェンジリストにリンクしたジョブのリストを見るには、p4 fixes-c changelistを使用します。
  • ファイルをあるチェンジリストから別のチェンジリストに移動するときには、p4 reopenを使用するか、あるいはp4 revertを使用してすべての作業中チェンジリストから1つのファイルを削除します。

p4 change

新しいチェンジリストを生成します。

p4 change -f 25

サブミットされたチェンジリスト25を編集します。 管理者またはスーパーユーザのアクセス権限が必要です。

p4 change -d 29

チェンジリスト29を削除します。 チェンジリスト29がpending状態で、ファイルが含まれていない場合にのみ削除されます。

p4 change -f -d 121 指定したチェンジリストが強制的に削除されます。

関連コマンド

ディポへチェンジリストをサブミットする

p4 submit

あるチェンジリストから別のチェンジリストへ1つのファイルを移動する

p4 reopen

すべての作業中チェンジリストからファイルを除去する

p4 revert

特定の基準に合致するチェンジリストのリストを出力する

p4 changes

作業中ファイルを一覧表示する

p4 opened

特定のチェンジリストにリンクされた修正のリストを出力する

p4 fixes

特定のチェンジリストにジョブをリンクする

p4 fix

特定のチェンジリストから1つのジョブを削除する

p4 fix -d

チェンジリストに含まれるすべてのファイルのリストを出力する。

p4 opened-c changelist

あるチェンジリスト内で変更されたファイルに関する詳細を取得する。

p4 describechangelist