p4 add

概要

ディポに追加するファイルをクライアントワークスペースで作業状態にします。

構文

p4 [g-opts] add [-c changelist] [-d -f -I -n] [-t filetype] file

解説

p4 addは、ディポに追加するファイルをクライアントワークスペースで作業状態にします。指定されたファイルはチェンジリストにリンクされます。ファイルは、チェンジリストがp4 submitでコミットされるまでは、実際にはディポに追加されません。追加するファイルは、ディポに存在しないファイルか、ディポに存在していても最新リビジョンで削除済みとしてマークされているファイルでなければなりません。

p4 add *またはp4 add ...は、p4 reconcile -a *と同じ意味になります — すなわち、ワークスペースのファイルのうちディポに存在しないすべてのファイルが、追加のため作業状態にされます。-aオプションを使用しても、p4 add -d の動作に影響はありません。

p4 addでファイルを作業状態にするには、そのファイルがクライアントビューに存在する必要がありますが、p4 addの実行時点でワークスペースに存在する必要はありません。ただし、p4 submitを実行するときには、ワークスペースに存在する必要があります。ファイルがワークスペースに存在しない場合、サブミットは失敗します。p4 addは、ワークスペース内のファイルの作成や上書きを行いません。ファイルが存在しない場合は、ユーザが作成しなければなりません。

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

デフォルトでは、p4 addは適用されるP4IGNOREファイルに記述されたファイルを無視します。この動作をオーバーライドするには、-Iオプションを使用してP4IGNOREファイルの内容が無視されるようにします。

ファイルを追加するときには、Perforceはまずタイプマップテーブル(p4 typemap)を調べ、追加しようとしているファイルのファイルタイプをシステム管理者が定義しているかどうかを確かめます。合致するものが見つかれば、そのファイルタイプがタイプマップテーブルの定義に従って設定されます。合致するものが見つからない場合、Perforceは構成可能変数filesys.binaryscanに従って該当ファイルの先頭のバイト(デフォルトでは65536バイト)を調べ、それがtextbinaryかを判断した上、ファイルをディポに保存します。デフォルトでは、テキストファイルのリビジョンはリバースデルタ形式で保存され、構成可能変数filetype.maxtextsizeによる制限値(デフォルトでは10MB)を超える、新規に追加されたテキストファイルにはtext+Cファイルタイプが割り当てられて完全な形で保存されます。.zip形式(.jarファイルを含む)で圧縮されたファイルも自動的に検出され、ubinaryタイプが割り当てられます。その他のバイナリファイルのリビジョンは、圧縮されてファイル全体が保存されます。

-t filetypeオプションは、ファイルタイプを明示的に指定して、タイプマップテーブルとPerforceのデフォルトファイルタイプ検出機構の両方をオーバーライドします。

@#*%の文字が含まれたファイルを追加するには、-fオプションを使用します。このオプションを指定すると、通常はPerforceでワイルドカードとして使用される文字が強制的に文字解釈されます。

編集または移動/追加目的でファイルを作業状態にした後で、他のユーザがその作業状態のファイルを削除すると、チェンジリストをサブミットしたときに処理がエラーで失敗します。反映先ファイルを確実に作成するには、-dオプション("ダウングレード")を指定します。詳細に述べると、以下のとおりです。

  • あなたが編集目的でファイルを作業状態にした後、別のユーザがそのファイルを削除または移動するチェンジリストをサブミットします。あなたが編集をサブミットすると、Perforceはエラーを返し、ファイルは編集目的の作業状態のままになります。チェックアウトしたディポ内の場所から(あなたが行ったすべての変更も含めて)ファイルをリストアするには、-dオプションを追加してファイルを追加目的で作業状態にしてから、そのファイルをサブミットします。

  • あなたが移動/追加目的でファイルを作業状態にした後、別のユーザが元のファイルを削除するチェンジリストをサブミットします。あなたが移動をサブミットすると、Perforceはエラーを返し、ファイルは移動/追加目的の作業状態のままになります。反映先ファイルを作成するには、追加ファイルを指定してp4 add -dコマンドを実行し、そのファイルをサブミットします。

オプション

-c changelist

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

-d

ファイルを作業状態にするステータスを、単純な追加にダウングレードします。

-f

-fオプションを使用すると、ワイルドカードがファイル名に強制的に含められます。詳細については、“ファイル指定”を参照してください。

-I

無視するかどうかのチェックを行いません。P4IGNOREによって指定されたすべての設定を無視します。

-n

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

-t filetype

タイプマップテーブルのあらゆる設定をオーバーライドして、作業状態にあるファイルのfiletypeを変更する。

Perforceのファイルタイプについては、“ファイルタイプ”のリストを参照してください。

g-opts

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

使用上の留意点

ファイル引数にリビジョン指定子を使えるか?

ファイル引数にリビジョン範囲を使えるか?

最低限必要なアクセスレベル

使用不可

使用不可

open

  • p4 addのファイル指定に含めたワイルドカードは、Perforceサービスではなく、ローカルのオペレーティングシステムにより展開されます。例えば、p4 addにはワイルドカード「...」は使用できません。

  • Perforceでは、空のディポにファイルを追加する操作と、すでに他のファイルが含まれるディポにファイルを追加する操作に違いはありません。新しい空のディポにファイルを追加する場合も、p4 addを使用して、クライアントワークスペースのファイルを追加します。

  • p4 add -fでは特殊文字のASCII拡張は使用しないでください。ファイルstatus@june.txtを追加する場合は、次のように指定します。

    p4 add -f status@june.txt

    手動で@記号を拡張して、ファイルstatus%40june.txtを追加しようとすると、%記号が文字解釈されて16進コード%25に拡張され、ファイル名はstatus%2540june.txtとなります。

p4 add -t binary file.pdf

新しいファイルに特定のファイルタイプを割り当て、タイプマップテーブルの設定をオーバーライドします。

p4 add -c 13 *

ユーザのカレントディレクトリのすべてのファイルをディポにaddするために作業状態にします。これらのファイルはチェンジリスト13にリンクされます。

p4 add README ~/src/*.c

ユーザのディレクトリ~/srcにあるすべての*.cファイルをディポにaddするために作業状態にします。また、ユーザの現在の作業ディレクトリにあるREADMEファイルもディポにaddするため、作業状態にします。これらのファイルはデフォルトのチェンジリストにリンクされます。

p4 add -f *.c

*.cという名前のファイルをaddするための作業状態にします。

このファイルをビューまたは他のPerforceコマンドで参照するために、その後はアスタリスクの代わりに16進拡張%2Aを使用する必要があります。

詳細については、ファイル名およびエンティティに関する文字の制限を参照してください。

関連コマンド

編集するファイルを作業状態にする。

p4 edit

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

p4 delete

ファイルを移動(リネーム)する。

p4 move

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

p4 submit

ディポからクライアントワークスペースへファイルを読み込む。

p4 sync

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

p4 change

テキスト/バイナリのファイル検出のデフォルトの動作を変更する

p4 configure

すべての作業状態のファイルをリストする。

p4 opened

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

p4 revert

作業状態のファイルを別の作業中チェンジリストに移動する。

p4 reopen

作業状態のファイルのファイルタイプを変更する。

p4 reopen -t filetype