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

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