ページ ツリー

 コンテンツ

質問

"p4 verify"コマンドを実行した結果、「MISSING!」が検出されました。検出される理由と対処方法を教えてください。

回答

「MISSING!」は、データベース上ではリビジョンファイル(バージョン化ファイル)が存在しているにも関わらず、ディポ上に実ファイルが存在していない状態を示しています。

適切なディポのバックアップが存在する場合、リビジョンファイルを上書き、もしくは、再配置することで、「MISSING!」の出力を解消することができます。

説明

"p4 verify"コマンドは、メタデータに記録されているファイルのリビジョン(=バージョン数)と、バージョン化ファイルのリビジョンの整合性を検証するコマンドです。
以下の図のように「MISSING!」メッセージは、"p4 verify"コマンドの検証処理において、「バージョンが存在しなかった」ということを示したレポートになります。

手順

「MISSING!」に該当するファイル・リビジョンの存在有無によって対応が異なります。

 以下のいずれかにてご対応ください。

1.ディポのバックアップからバージョン化ファイルを上書きする

適切なディポのバックアップが存在する場合、バージョン化ファイルを上書き、もしくは、再配置できます。

① バックアップからの復元

Helix Coreサーバのdepotディレクトリ上の当該バージョン化ファイルの格納場所へ、バックアップからファイルを上書き、もしくは、再配置します。

② 再度"p4 verify"を実行し、「MISSING!」が解消されているか確認します。

 「MISSING!」が複数レポートされている場合は、この手順を存在しているファイル分繰り返します。

2.データベースからリビジョン情報を削除する

該当するバージョン化ファイルのバックアップが存在しない場合、「MISSING!」に該当するバージョン化ファイルを復旧する方法はありません。「MISSING!」を解消するためには、当該ファイルのリビジョン情報をデータベース上から消去します。

"p4 obliterate" コマンドによって消去した情報は、元に戻すことができません。事前に必ず、『Helix Core P4コマンドリファレンス − p4 obliterate』を参照ください。

実行コマンド例:確認
# p4 -u super -p server:port obliterate //depot/project1/text.c#4
*superには、スーパ権限ユーザを指定します。
*server:portには、対象のHelix Coreサーバを指定します。
実行結果
//depot/project1/test.c#4 - purged
Would delete 1 revision record(s).
This was report mode. Use -y to remove files.

"p4 obliterate" は実際に削除される内容を表示します。削除対象のファイル・リビジョンを確認してください。削除対象ではないファイル・リビジョンが表示されている場合は指定の記述が間違っています。
確認後、"−y" オプションを追加して、実際に削除します。

実行コマンド例:削除
p4 -u super -p server:port obliterate -y //depot/project1/text.c#4
*superには、スーパ権限ユーザを指定します。
*server:portには、対象のHelix Coreサーバを指定します。