p4 obliterate
概要
ファイルおよびその履歴をディポから消去します。
構文
p4 [g-opts
] obliterate
[-y -A -b -a -h]
file
[revRange
]
…
警告
p4 obliterateは慎重に使ってください。これはPerforceの中で実際にファイルデータを消去する2つのコマンドのうちの1つです。(ファイルのデータを消去するもう1つのコマンドは、p4 archiveのアーカイブ-パージオプションです。)
p4 obliterateはファイルデータのサーバ内のコピーを実際に削除し、リカバリの可能性を完全に排除します。(これに対し、p4 deleteコマンドは最新リビジョンを削除扱いにするだけで、以前のリビジョンはディポにそのまま残します。)
解説
p4 obliterateは、Perforce管理者が使用し、ファイルをディポから完全に消去します。ファイルはラベルによるファイル参照やhaveリストなどを含む、すべての関連メタデータとともにPerforceサービスから消去されます。p4 obliterateが正常終了すると、その影響を受けたファイルは、サービスにとって最初から存在していなかったような状態になります。ユーザワークスペース内のファイルはそのままですが、もはやPerforceによる管理下のファイルとは認識されません。
p4 obliterateは少なくとも1つのファイルパターンを引数として必要とします。実際にファイルの完全消去を実行するには、-y
オプションが必要です。これが付いていなければ、p4
obliterateは実際にファイルの完全消去は実行せずに、単にそれを実行したらどうなるかを知らせるだけです。
特定のリビジョンを指定すれば(例えばp4 obliterate file#3)、そのリビジョンのファイルだけが完全消去されます。リビジョン範囲を指定すれば(例えばp4 obliterate file#3,5)、その範囲のリビジョンだけが完全消去されます。
オプション
|
ファイルの完全消去を実行します。このオプションが付いていなければ、p4 obliterateは単に、実行したらどうなるかを知らせるだけです。 |
|
アーカイブ対象としてマーキングされたリビジョンを完全消去します。デフォルトでは、アーカイブされたリビジョンはスキップされます。 |
|
引数の範囲にあるファイルを、ブランチされたファイル、および最初のリビジョンかつ最新リビジョンであるファイルに限定します。このオプションは、古いブランチ(1つのリビジョンのみ存在)を削除する一方で、ブランチ操作後に変更されたファイルを保存しておくのに便利です。 |
|
(リソースを消費しがちな) |
|
削除対象の一致レコードを探す際に、 |
|
「“グローバルオプション”」を参照してください。 |
使用上の留意点
ファイル引数にリビジョン指定子を使えるか? |
ファイル引数にリビジョン範囲を使えるか? |
最低限必要なアクセスレベル |
---|---|---|
使用可 |
使用可 |
|
-
p4 obliterateは、必要なくなったファイルを消去してディスク容量を再生するため、または間違った場所にファイル階層を生成するといったユーザによるミスを帳消しにするための1つの方法です。OSのコマンド(erase、rmまたはそれらと同等のコマンド)を使用してPerforceサーバルートから手動でファイルを削除しないでください。
-
より良いディスクスペースの節約方法は、アクセス頻度の低いファイルを低パフォーマンスの(または取り外し可能な)記憶領域に移動させることです。ファイルを完全消去する代わりに、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つのチェンジの記述があると推量するようなスクリプトでは問題が発生します。
例
p4 obliterate
|
ファイルの完全消去は行わず、
この場合には、 |
p4 obliterate -y
|
|
p4 obliterate -y
|
|
p4 obliterate -y
|
|