p4 verify

Helixサーバアーカイブ(ディポファイル)の整合性(破損がなく完全な状態かどうか)を検証します。

構文規則

p4 [g-opts] verify [-u | -v | -z] [-m max -q -s -X -b batchsize] FileSpec[revRange] ...
p4 [g-opts] verify [-t [-r]] [ --only BAD | MISSING ] [-U | -A ]
    [-z -m max -q -s -X -b batchsize] FileSpec[revRange] ...
p4 [g-opts] verify -S [-v | -t [-r] [ --only BAD | MISSING ] 
    [-m max -q -X -b batchsize] FileSpec[revRange] ...
p4 [g-opts] verify -U [-u | -v | -z] [-m max -q -s -X -b batchsize] unloadFileSpec ...
p4 [g-opts] verify -A [-u | -v | -z] [-m max -q -s -X -b batchsize] archiveFileSpec ...
p4 [g-opts] verify -R [-m max -q -s -X -b N] [-v | --only BAD | MISSING] archiveFileSpec ...
p4 verify -Z [ -q ] file ...

説明

p4 verifyは 指定されたディポファイルのリビジョンごとに、リビジョン固有の情報と、 リビジョンの内容のMD5ダイジェスト(フィンガープリント)をレポートします。

検証プロセスには、ディポファイル(ディポアーカイブファイルとも呼ばれます)を開き、 ディポファイルを読み取り、ディポファイルのダイジェストが予期された値と一致しているかどうかを検証する処理が含まれます。

  • ファイルを開けない場合、 p4 verifyは行末にMISSING!とレポートします。
  • ファイルを開けるが、 予期された内容が含まれていない場合、p4 verifyは行末にBAD!とレポートします。
注意

BAD!またはMISSING!とレポートされたファイルリビジョンは、stderrに送信されます。したがって、スクリプトにコマンドがある場合は、stderrstdoutの両方をキャプチャする必要があります。このルールの例外は、グローバルオプション-sオプションを使用する場合です。p4 -s verify //depot/main/p4/...を実行すると、すべての出力がstdoutに送られ、各行に情報メッセージまたはエラーメッセージのどちらが表示されているかが示されます。詳しくは、の最後の例を参照してください。

引数を指定しない場合、 p4 verifyは各リビジョンのMD5ダイジェストを計算して表示します。

構文バリアントには次の選択肢があります。

  • 指定したファイルリビジョンのセットを検証する。
  • 指定した保留状態のファイルリビジョンのセットを検証する。
  • アンロードディポ内のファイルリビジョンを検証する。
  • アーカイブディポ内のファイルリビジョンを検証する。(アクセス頻度の低いファイルのアーカイブディポの詳細は、『Helix Coreサーバ管理者ガイド』の「ファイルのアーカイブによりディスク容量を再生する」を参照してください。)

ディポファイルの整合性を定期的に検証することをお勧めします。 詳しくは、『Helix Coreサーバ管理者ガイド』の「backup-recovery-ensuring-integrity.html」を参照してください。

保留中のファイルを検証する

保留状態のファイルを検証すると、保留状態のアーカイブの損失または破損が起きたかどうかを確認できます。

保留状態のアーカイブが特定のエッジサーバに対してローカルである場合は、 保留状態のアーカイブが作成されたエッジサーバでp4 verify -Sコマンドを発行する必要があります。 保留状態のアーカイブが昇格した場合は、コミットサーバでp4 verify -Sを実行します。

また、保留状態のアーカイブが欠落しているか正しくない場合に、 その再転送を要求するには、レプリカに対してp4 verify -S -tコマンドを実行します。 保留状態のアーカイブをマスターから再転送するには、 そのアーカイブがマスター上にある必要があります。 つまり、保留状態のアーカイブが当初はマスターで作成されたものである場合、またはエッジサーバから昇格されたものである場合にのみ、再転送できます。

アーカイブされたファイルを検証する

アーカイブされたファイルを検証すると、 アーカイブされたファイルが破損しているかどうかを確認できます。p4 restoreコマンドを使用してファイルを復元する前に、 次のようなコマンドを実行することをお勧めします。

$ p4 verify -A //archive/depot/mysource/...
注意

p4 verifyがエラーを返したときは、 Perforceのテクニカルサポートにご連絡ください。

オプション

-A archivefiles

アーカイブディポ内のファイルは経年破損する可能性があります。 このオプションでは、 p4 restoreコマンドを使用して破損ファイルを復元する前にファイルを検証できます。

archivefilesには、 検証対象のファイル、ファイルのリスト、または一連のファイルを指定します。以下に例を示します。

>
//archive/depot/..../source
-R 障害回復に役立つ修復モードです。 アーカイブファイルが見つからない場合、このモードを実行して、同一ファイルが保留状態になっているかをチェックします。 保留状態になっている場合、見つからないアーカイブファイルは保留中のファイルのコピーで置き換えられます。

-b batchsize

デフォルトでは、 p4 verifyは一度に10,000個のファイルをバッチで処理します。

-b batchsize」オプションを指定すると、バッチサイズを変更することができます。 「batchsize」には、整数を指定します。

バッチによる処理を無効にするには、-b 0を指定します。

-zオプションが指定されている場合、-bオプションは無視され、 すべてのオプションが1つのバッチで処理されます。

-m max

p4 verifyの対象となるリビジョン数を maxに制限します。

このオプションと-uオプションを同時に指定すると、 p4 verifyコマンドが呼び出されるたびに、 上限が設定されたリビジョンのダイジェストが計算され、保存されます。

ヒント

p4 verify -m 10 FileSpecを実行すると、FileSpecに応じて、10個のファイル、単一ファイルの10個のバージョン、またはファイルとファイルバージョンが組み合わされて一覧表示されます。

-q

非通知で実行され、ダイジェストが一致しない場合、 またはリビジョンを再生成できない場合にのみ、エラーをレポートします。

-s

ファイルサイズとダイジェストを検証します。 -v-sオプションを意味します。

-S

保留状態のファイルを検証します。 このオプションを指定する場合、唯一有効なリビジョン指定子は@=changeであり、 保留状態のファイルを1つ指定します。 保留状態のファイルの特定のセットのみを検証するには、ファイルパターンを使用します。

マルチサーバ環境では、 保留状態のファイルが作成されたエッジサーバでこのコマンドを実行する必要があります。保留状態のファイルが昇格した場合は、 このコマンドをコミットサーバで実行することもできます。

-t

レプリカサーバでのみ使用します。このコマンドを実行すると、p4 verifyは破損または失われたリビジョンの内容の転送をスケジュールします。-tオプションは、-vオプション、-Zオプション、または-uオプションと使用することはできません。

(このオプションは、 lbr.replication=cacheによるレプリカに対しても機能します。)

複製環境では、p4 verify -tにより BAD!またはMISSING!のファイルは行末に (transfer scheduled)を付けて報告されます。

ヒント

パフォーマンスのために、レプリカに対してp4 verify -tを使用して、レプリカアーカイブ全体または大量のレプリカアーカイブを読み込むことは避けてください。代わりに、次の2段階のプロセスに従ってください。

最初にオペレーティングシステムコマンドを使用して、コミットサーバのバージョン化ファイルをエッジサーバにコピーします。 ファイルやディレクトリはrsynctarftp、ネットワークコピー、 または元のサーバのファイルを保持するその他の手段で 移動させることができます。

次に、p4 verify -tを使用して、かなり小さいデータのサブセットであるデルタ(OSコピー以降に変更されたもの)をプルします。

-r -tオプションでのみ使用します。 RCSファイルに含まれるテキストタイプのリビジョンが転送されないようにします。
--only

--onlyフィルターオプションで、BADまたはMISSINGのいずれかがフィルターです。MISSINGフィルターは、見つからないリビジョンのみをレポートし、チェックサムは計算されません。--onlyオプションを-tオプションと組み合わせて実行すると、転送するリビジョンを制限できます。--onlyオプションは、-vオプション、-Zオプション、または-uオプションと使用することはできません。

-u

ファイルサイズとダイジェストが保存されたことがない場合に、 各ファイルのファイルサイズとMD5ダイジェストをHelixサーバデータベースに保存します。 その後p4 verifyを使用すると、 p4 verifyで計算した値と保存済みの値とを比較します。

-U unloadfile

アンロードディポ内のファイルを検証します。 詳細については、「p4 unload」を参照してください。

-v

各ファイルのMD5ダイジェストを Helixサーバデータベースに保存します。 該当ファイルのダイジェストが既に保存されている場合でも、 その既存ダイジェストを上書きします。 (-vオプションは、Helixサーバシステム管理者によって Helixサーバの制御範囲外で 故意に変更されたアーカイブファイルの 保存済みダイジェストを更新する目的でのみ 使用されます。)

-vオプションと -uオプションを同時に使用することはできません。

-X

ファイルタイプが+Xのファイルはスキップされます (サービスはこのファイルに対してarchiveトリガを実行します)。

-z

現在のパスで既に計算済みであるリビジョンをスキップして、 パフォーマンスを最適化します。このオプションを指定すると、 遅延コピーで生成されたファイルの検証が高速化されます。 結果の出力では、遅延コピーのリビジョンが、共通のアーカイブファイルにアクセスするためのソート順で最初に出現するリビジョンである場合、 そのリビジョンがレポートされることがあります。

このオプションは、 -vまたは-uオプションと同時に使用できません。

-z

このオプションを指定すると、ダイジェストとファイル長のチェック処理で、リビジョンテーブルではなくストレージテーブルが使用されます。 遅延コピーされたファイルがチェックされるのは1回のみであるため、 このオプションを指定すると処理速度が大幅に上がります。出力には、アクションフィールドと変更フィールドの代わりに、参照カウントが表示されます。

file引数の動作は、-zオプションの動作とは異なります。これは、遅延コピーされたディポファイルは選択できないためです。例えば、//y/yパスで遅延コピーされた//x/xファイルについて考えてみます。 この場合、p4 verify -Z //y/...コマンドを呼び出しても、//yパスに一致するストレージレコードが存在しないため、いずれのファイルもチェックされません。ただし、-Zオプションを指定せずに p4 verify //y/...コマンドを呼び出した場合、 リビジョンテーブルを使用して//x/xファイルの検索とチェックが実行されます。-Zオプションと組み合わせて指定できるのは-qオプションのみです。

g-opts

詳しくは、「グローバルオプション」を参照してください。

使用上の注意点

ファイル引数でリビジョン指定子を使用できるか? ファイル引数でリビジョン範囲を使用できるか? 最低限必要なアクセスレベル

はい

はい

  • admin
  • このコマンドは、オペレータに対して実行することができます(「p4 user」の「ユーザのタイプ」を参照)。

p4 verify -S //depot/main/p4/...

指定したパスと一致するすべての保留状態ファイルを検証します。

p4 verify -q -S //...@=1023548

保留状態1023548内の保留状態ファイルのみを検証します。

p4 verify -q //...#head,#head

ディポ内のすべてのファイルの最新リビジョンのみを検証し、 問題のあるファイルのみをレポートします。

p4 -s verify //depot/gz

指定されたパスを検証しますが、グローバルオプション-sオプションを使用すると、エラーがsterrに送られる代わりに、出力の各行がstdoutに送られ、情報メッセージまたはエラーメッセージが表示されます。

>info: //depot/gz#2 - edit change 44 (text+m) 8F5EB715075F3EC462C3A1
error: //depot/gz#1 - add change 81 (text) 8F5EB715075F3EC462C3A1 MISSING!

関連コマンド

リビジョンの指定方法に関する情報を取得する。

p4 help revisions