【P4D 2019.2】サブミットエラーなどにより生成された不要なファイルを確認する
"p4 submit"コマンドや"p4 shelve"コマンドが途中で終了した場合、または、システムがクラッシュした場合など、様々なエラーが発生した場合において、コマンド実行とともに生成されていたバージョン化ファイルがディポ上に孤立して残ってしまう場合があります。
P4D2019.2から、この孤立したファイルを"p4 storage"コマンドを使用して安全に削除することができます。
ここでは、孤立したファイルの確認方法について説明いたします。
手順
1.孤立ファイル検索のスキャン開始
孤立ファイルのスキャンを開始には、以下のコマンドを実行します。
p4 -u admin -p server:port storage -l start //depot/path/...
※ admin:admin権限以上のユーザを指定
※ server:port:孤立ファイルをスキャンするP4Dサーバを指定
2.スキャン結果の確認
手順1で実行したスキャン結果を確認します。
p4 -u admin -p server:port storage -l status //depot/path/...
※ admin:admin権限以上のユーザを指定
※ server:port:孤立ファイルをスキャンするP4Dサーバを指定
... scanName //streamsDepot/...
... state done
... dirsProc 953
... filesProc 1258
... zeroRecs 0
... dirsErr 0
... scanName //streamsDepot/...
... state done
... dirsProc 953
... filesProc 1258
... zeroRecs 100
... dirsErr 0
※ 孤立したファイルが100ファイル存在することが確認できます。
■ 結果概要
| scanName | スキャンの名前です。 スキャンのパスとしてstartサブコマンドに渡される引数が表示されます。 |
| state | done、paused、run、busy、errorのいずれかになります。 |
| dirsProc | 処理されたディレクトリの数。 |
| filesProc | 処理されたファイルの数。 |
| zeroRecs | 作成されてから一度も参照されていないストレージレコードの数。 この値が、対応するストレージレコードが存在しない孤立状態の リビジョンの数となります。 |
| dirsErrs | エラーのためにスキップされたディレクトリの数。 |
| errmsg | ステータスが「error」の場合に表示されるエラーメッセージ。 |
3.孤立ファイルの削除
手順2で孤立ファイルが確認された場合、以下の手順で孤立ファイルを削除します。
①削除対象ファイルを確認します。
p4 -u admin -p server:port storage -D0 -d //streamsDepot/...
※ admin:admin権限以上のユーザを指定
※ server:port:孤立ファイルをスキャンするP4Dサーバを指定
※ "-D0"オプション:検出されたファイルが p4 storage -d の削除候補として表示されるまでの猶予時間を0秒に上書する
猶予時間は構成可能変数「lbr.storage.delay」で設定されています。
※ "-d"オプション:削除対象を表示する。実際にファイル削除は行われない
②削除を実行します。
p4 -u admin -p server:port storage -D0 -d -y -t /BackupDirectory //streamsDepot/...
※ admin:admin権限以上のユーザを指定
※ server:port:孤立ファイルをスキャンするP4Dサーバを指定
※ "-D0"オプション:検出されたファイルが p4 storage -d の削除候補として表示されるまでの猶予時間を0秒に上書する
猶予時間は構成可能変数「lbr.storage.delay」で設定されています。
※ "-y"オプション:削除を実行
※ "-t"オプション:孤立ファイルを指定した別のディレクトリに退避する
注意:P4D 2020.1以前では、「p4 storage」コマンドによる削除処理が安定しない不具合があることを弊社サポート案件で確認しています。P4D 2020.1以前を使用している場合は、「p4 storage」コマンドでは対象の確認のみを行い、実際のファイルの退避または削除はOSコマンドで実施することを推奨します。
孤立ファイルの確認方法は以上です。