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バイト)を調べ、それがtext
かbinary
かを判断した上、ファイルをディポに保存します。デフォルトでは、テキストファイルのリビジョンはリバースデルタ形式で保存され、構成可能変数filetype.maxtextsize
による制限値(デフォルトでは10MB)を超える、新規に追加されたテキストファイルにはtext+C
ファイルタイプが割り当てられて完全な形で保存されます。.zip
形式(.jar
ファイルを含む)で圧縮されたファイルも自動的に検出され、ubinary
タイプが割り当てられます。その他のバイナリファイルのリビジョンは、圧縮されてファイル全体が保存されます。
-t
オプションは、ファイルタイプを明示的に指定して、タイプマップテーブルとPerforceのデフォルトファイルタイプ検出機構の両方をオーバーライドします。
filetype
@
、#
、*
、%
の文字が含まれたファイルを追加するには、-f
オプションを使用します。このオプションを指定すると、通常はPerforceでワイルドカードとして使用される文字が強制的に文字解釈されます。
編集または移動/追加目的でファイルを作業状態にした後で、他のユーザがその作業状態のファイルを削除すると、チェンジリストをサブミットしたときに処理がエラーで失敗します。反映先ファイルを確実に作成するには、-d
オプション("ダウングレード")を指定します。詳細に述べると、以下のとおりです。
-
あなたが編集目的でファイルを作業状態にした後、別のユーザがそのファイルを削除または移動するチェンジリストをサブミットします。あなたが編集をサブミットすると、Perforceはエラーを返し、ファイルは編集目的の作業状態のままになります。チェックアウトしたディポ内の場所から(あなたが行ったすべての変更も含めて)ファイルをリストアするには、
-d
オプションを追加してファイルを追加目的で作業状態にしてから、そのファイルをサブミットします。 -
あなたが移動/追加目的でファイルを作業状態にした後、別のユーザが元のファイルを削除するチェンジリストをサブミットします。あなたが移動をサブミットすると、Perforceはエラーを返し、ファイルは移動/追加目的の作業状態のままになります。反映先ファイルを作成するには、追加ファイルを指定してp4 add -dコマンドを実行し、そのファイルをサブミットします。
オプション
|
指定した |
|
ファイルを作業状態にするステータスを、単純な追加にダウングレードします。 |
|
|
|
無視するかどうかのチェックを行いません。 |
|
ファイルやメタデータを実際に変更せずに、追加目的で作業状態にするファイルをプレビューします。 |
|
タイプマップテーブルのあらゆる設定をオーバーライドして、作業状態にあるファイルの Perforceのファイルタイプについては、“ファイルタイプ”のリストを参照してください。 |
|
“グローバルオプション”を参照してください。 |
使用上の留意点
ファイル引数にリビジョン指定子を使えるか? |
ファイル引数にリビジョン範囲を使えるか? |
最低限必要なアクセスレベル |
---|---|---|
使用不可 |
使用不可 |
|
-
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 * |
ユーザのカレントディレクトリのすべてのファイルをディポに |
p4 add README ~/src/*.c |
ユーザのディレクトリ |
p4 add -f *.c |
このファイルをビューまたは他のPerforceコマンドで参照するために、その後はアスタリスクの代わりに16進拡張 詳細については、ファイル名およびエンティティに関する文字の制限を参照してください。 |