p4 edit

このコマンドを実行すると、クライアントワークスペース内でファイルが編集用としてオープンされます(または、現在のストリーム仕様がオープンされます)

構文規則

p4 [g-opts] edit [-c changelist] [-k -n] [-t type] [--remote=remote] file...
p4 [g-opts] edit -So  [-c changelist]

説明

ファイルとp4 editコマンド

p4 editコマンドを実行すると、クライアントワークスペース内でファイルが 編集用にオープンされます。指定したファイルはチェンジリストにリンクされますが、 そのチェンジリストがp4 submitでコミットされるまで、 ディポのファイルは変更されません。

Helixサーバは、ローカルOSのファイル権限を制御します。 p4 editが実行されると、指定したファイルに対するOSの write権限が付与されます。

p4 editによって編集用に作業状態にされたファイルがディポにサブミットされても、 ディポに存在するそのファイルのリビジョンは置き換えられません。その代わり、それまでのリビジョンを アクセス可能な状態で残しつつ、新しいリビジョンが生成され、 連番で次のリビジョン番号が割り当てられます。デフォルトでは、ファイルを参照するコマンドは すべてこの最も新しいリビジョン(最新リビジョン)を対象とします。

デフォルトでは、指定されたファイルはデフォルトのチェンジリストに追加されます。 別のチェンジリストを指定するには、-cオプションを使用します。(あるいは、デフォルトのチェンジリストから 番号付チェンジリストにファイルを移動するには、p4 changeコマンドを使用します)

既に編集目的で作業状態にされているファイルをあるチェンジリストから 別のチェンジリストに移動するには、p4 reopenを使用してください。

ストリームとp4 editコマンド

-So オプションを指定すると、ストリームのみがオープンされ、ファイルのリストは許可されません。

オプション

-c changelist

指定されたチェンジリストに対してファイルを編集目的で作業状態にします。 このオプションが付いていない場合、ファイルはデフォルトチェンジリストに リンクされます。

-k

既存のワークスペースファイルを保存します。当該ファイルがクライアントビューの中にない場合でも、 編集目的の作業状態であるものとしてマークします。共有バージョニングサービスに 接続しない状態で行った作業を照合する場合にのみ、 p4 edit -kを使用します。

-n

ファイルやメタデータを実際に変更せずに、編集目的で作業状態にするファイルを プレビューします。

--remote=remote

個人サーバのファイルを編集目的で作業状態にします。 また、ファイルタイプが「+l」の場合、 そのファイルのクローン元となった共有サーバ上で、  そのファイルに対するグローバルな排他的ロックを取得します。

詳細については、『分散バージョニング環境におけるHelix Coreサーバの利用』の「フェッチとプッシュ」の章のセクション、 排他的ロックのサポートに関する説明を参照してください。

-t type

新しいファイルリビジョンを、同じファイルのそれまでのリビジョンのタイプを オーバーライドして、指定のタイプで保存します。 ファイルの編集時に、ファイルタイプを強制的に再検出する(つまり、 ファイルが新規追加されているときと同様にファイルタイプを割り当てる)には、 p4 edit -t autoを使用します。

ファイルタイプの一覧については、 「ファイルタイプ」を参照してください。

g-opts

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

使用上の注意点

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

いいえ

いいえ

open

指定のファイルに関するローカルOSのwrite権限は p4 editによって付与されるため、実際にファイルを編集するのは このコマンドが発行されてからになります。ファイル編集のプロセスは次のようになります。

  1. p4 editを使用して、クライアントワークスペース内でファイルを 作業状態にします。
  2. エディタでファイルを編集します。
  3. p4 submitを使用して、ディポへファイルをサブミットします。

ファイルの古いリビジョンを編集するには、p4 syncを用いて 過去に保存されていたファイルリビジョンをクライアントワークスペースに呼び出し、 p4 editでそのファイルを編集します。このファイルリビジョンは最新リビジョンではないため、 p4 resolveを実行してからでなければ、p4 submitで ディポに保存することはできません。

Helixサーバは、既に作業状態になっているファイルを 作業状態にする操作を妨げません。デフォルトの構成では、 複数のユーザが同じファイルを同時に編集し、 p4 resolveによってファイル衝突を解決することが認められています。 他のユーザが既に特定のファイルを作業状態にしているかどうかを調べるには、 p4 opened-a fileを使用します。

自分が既に作業状態にしているファイルを他のユーザが操作するのを 防ぐ必要がある場合は、p4 lockコマンドを使用する(自分が作業状態にしているファイルを 他のユーザが編集できるようにするが、まず自分が変更をサブミットするまでは、 他のユーザがファイルをサブミットできないようにする)か、 +l(排他オープン)ファイルタイプを使用して他のユーザが編集目的でファイルを 作業状態にすること自体を防ぐことができます。

Helixサーバの以前のバージョンでは、 p4 editp4 openと呼ばれていました。

ファイルの場合のコマンド例

p4 edit -t text+k doc/*.txt

現行ディレクトリのdocサブディレクトリで、ファイル名の最後が .txtになっているすべてのファイルを、edit用に作業状態にします。 これらのファイルはデフォルトのチェンジリストにリンクされ、キーワード拡張が有効の textタイプとして保存されます。

p4 edit -t +l //depotname/...

ディポ内のすべてのファイルに対し、悲観的ロック(排他オープン)を実施します。 このチェンジリストのサブミット後は、depotnameというディポにある ファイルを編集できるのは一度に1ユーザのみとなります。

p4 edit -c 14 ...

現在の作業ディレクトリのファイルツリーで、すべてのファイルをedit用に 作業状態にします。これらのファイルは textbinaryかを調べられ、 ファイルの変更はチェンジリスト14にリンクされます。

p4 edit status%40jan1.txt

status@jan1.txtという名前のファイルを、編集目的で作業状態にします。

Helixサーバのワイルドカードとして使用する目的で 予約されているその他の文字を指定する方法については、 「ファイル名とエンティティに関する文字の制限」を 参照してください。

ストリームの場合のコマンド例

p4 edit -So

現在のストリーム仕様がデフォルトのチェンジリストに対してオープンされます。

p4 edit -So -c 14

現在のストリーム仕様が、指定した番号付きチェンジリストに対してオープンされます。

関連コマンド

ディポに追加するファイルを作業状態にする

p4 add

削除するファイルを作業状態にする

p4 delete

すべての作業状態のファイルをディポにコピーする

p4 submit

ディポのファイルをクライアントワークスペースにコピーする

p4 sync

新しいチェンジリストを作成または編集する

p4 change

すべての作業状態のファイルを一覧表示する

p4 opened

ファイルを非作業状態に戻す

p4 revert

作業状態のファイルを別のチェンジリストへ移動、またはファイルタイプの変更を行う

p4 reopen