p4 obliterate
ファイルおよびその履歴をディポから消去します。
構文
p4 [g-opts] obliterate [-y -A -b -a -h] FileSpec[revSpec]
説明
p4 obliterate
は、Helixサーバ管理者が使用し、ファイルをディポから完全に消去します。
このコマンドはファイルデータのサーバ内のコピーを削除し、完全にリカバリできなくします。
慎重に使用してください。 次のコマンドはファイルデータを完全に削除します。
- p4 archive
-p
p4 obliterate -y
p4
delete
コマンドの使用を検討してください。このコマンドは最新リビジョンを削除扱いにするのみで、以前のリビジョンをディポに残します。
ファイルはラベルによるファイル参照やhaveリストなどを含む、すべての関連メタデータとともにPerforceサービスから消去されます。 p4
obliterate
が正常終了すると、その影響を受けたファイルは、サービスにとって最初から存在していなかったような状態になります。 ユーザワークスペース内のファイルはそのままですが、もはやHelixサーバによる管理下のファイルとは認識されません。
p4 obliterateは少なくとも1つのファイルパターンを引数として必要とします。 実際にファイルの完全消去を実行するには、-y
オプションが必要です。これが付いていなければ、p4 obliterate
は実際にファイルの完全消去は実行せずに、単にそれを実行したらどうなるかを知らせるのみです。
特定のリビジョンを指定すれば(例えばp4 obliterate
file#3
)、そのリビジョンのファイルのみが完全消去されます。 リビジョン範囲を指定すれば(例えばp4 obliterate
file#3,5
)、その範囲のリビジョンのみが完全消去されます。
p4 obliterate myfileコマンドを実行しても、ファイル(アーカイブファイルまたはメタデータファイル)の保留が解除されることはありません。 完全消去されたファイルを保留解除しようとすると、エラーが発生します。 ファイルの内容を復元するには、ファイルを出力します。 保留を解消するには、シェルフを削除します。
p4 obliterateは、ファイル仕様を伴う場合、ファイルの保留を完全消去しません。
オプション
|
ファイルの完全消去を実行します。 このオプションが付いていなければ、 |
|
アーカイブ対象としてマーキングされたリビジョンを完全消去します。 デフォルトでは、アーカイブされたリビジョンはスキップされます。 |
|
引数の範囲にあるファイルを、ブランチされたファイル、および最初のリビジョンかつ最新リビジョンであるファイルに限定します。 このオプションは、古いブランチ(1つのリビジョンのみ存在)を削除する一方で、ブランチ操作後に変更されたファイルを保存しておくのに便利です。 |
|
(リソースを消費しがちな) |
|
削除対象の一致レコードを探す際に、 |
|
詳細については、「グローバルオプション」を参照してください。 |
使用上の留意点
ファイル引数にリビジョン指定子を使えるか? | ファイル引数にリビジョン範囲を使えるか? | 最低限必要なアクセスレベル |
---|---|---|
使用可 |
使用可 |
|
- p4 obliterateは、必要なくなったファイルを消去してディスク容量を再生するため、または間違った場所にファイル階層を生成するといったユーザによるミスを帳消しにするための1つの方法です。 オペレーティングシステムのコマンド(
erase
、rm
、またはこれに類似のコマンド)を使用して手動でHelixサーバルートからファイルを削除しないでください。 - より良いディスクスペースの節約方法は、アクセス頻度の低いファイルを低パフォーマンスの(または取り外し可能な)記憶領域に移動させることです。 ファイルを完全に削除するのではなく、
p4 archive
コマンドとp4 restore
コマンドをアーカイブディポと組み合わせて使用することをお勧めします(詳しくは、「アーカイブディポ」を参照)。 アーカイブディポにはファイルの履歴が保存され、すべてのユーザが利用できます。また、ファイルの中身をオフラインかニアラインの記憶領域に移動させることができます。 - ファイルを完全消去すると、ユーザコマンドの動作が変わってくることがあります。 完全消去されたファイルに同期しても、ファイルはもうクライアントワークスペースには組み込まれていないため、クライアントワークスペースからは削除されません。 完全消去されたファイルリビジョンに同期すると、ファイルが存在しないと報告されるか(すべてのリビジョンが完全消去されていた場合)、またはそのファイルの完全消去されていないリビジョンのうちの最新リビジョンが呼び出されます。
-
ファイルをリビジョン範囲で完全消去すると、完全消去された範囲のリビジョン番号が“スキップ”され、スクリプトの動作が変わってくることがあります。 例えば、リビジョン
#2
および#3
を完全消去した後のp4 filelog
の出力が次のようになるとします。... #4 change 1276 edit on 2011/04/18 by user@dev1 (binary) 'Fixed' ... #1 change 1231 add on 2011/04/12 by user@dev1 (binary) 'First try'
この場合には、出力の1行目にある
#4
を元に、p4 filelog
の出力には4つのチェンジの記述があると推量するようなスクリプトでは問題が発生します。
例
|
ファイルの完全消去は行わず、 この場合には、 |
|
|
|
|
|
|
関連コマンド
最新リビジョンのファイルを削除扱いにするが、そのままディポに残す。 これは、通常のファイル削除の方法です。 |
|
ファイルを完全消去する代わりに、一部のリビジョンをアーカイブディポにアーカイブすることによりローカルディポの空き容量を節約できる。 これらのファイルの変更履歴が保存される。 |
|
アーカイブされたリビジョンをアーカイブディポからリストアする。 (完全消去されたファイルはリストアできないが、アーカイブされたファイルはリストア可能。) |